Offline
Newbie
Karma: 0
Posts: 45
|
 |
« on: August 10, 2011, 04:22:44 am » |
Bonjour, Est ce que quelqu'un aurait des informations complémentaire sur DuinOS pour les Méga2560. Sommes nous obligés d'utiliser l'IDE 0021? Y aurait t'il une nouvelle version pour la 0022? Sur cette page, il semblerait que non mais sais t'on jamais : http://robotgroup.com.ar/duinos/wiki/index.php?title=DownLoad_and_Getting_StartedQuelqu'un aurait t'il de l'expérience dans ce domaine? Je me pose la question du multitâche ca pour faire avancer le robot et détecter les obstacles c'est bien deux routines qui fonctionnent en parallèle? A+
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4451
Arduino Hacker
|
 |
« Reply #1 on: August 10, 2011, 04:57:40 am » |
Bonjour,
Personnellement j'ai la version svn (+ client svn pour la garder à jour) et elle marche parfaitement sous arduino 0022.
Aprés ce n'est pas du calcul parallèle attention ! DuinOS est un RTOS, mais il ne fait qu'alloué un certain temps de calcul à une tache et pendant ce temps les autres sont en pause.
|
|
|
|
« Last Edit: August 10, 2011, 04:59:20 am by skywodd »
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 45
|
 |
« Reply #2 on: August 10, 2011, 05:00:09 am » |
Tu pourrais développer SVN + client pour mise à jour?
Tu utilises la mega2560?
Merci.
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4451
Arduino Hacker
|
 |
« Reply #3 on: August 10, 2011, 11:00:25 am » |
Tu pourrais développer SVN + client pour mise à jour?
histoire de toujours avoir la dernière version de duinOS (et donc pouvoir utiliser l'IDE arduino le plus récent), j'utilise un client SVN avec le lien google code du projet : http://code.google.com/p/duinos/source/checkoutPar contre le fait d'avoir la dernier version de développement implique que quelque fois il y est des bug sur certaine fonction récente. Tu utilises la mega2560?
Oui mega2560 officiel et Uno et ça marche bien sur les deux. Edit : Je viens de regarder le µc de ma mega (fait maison) sur laquelle j'avais tester duinOS et c'est un ATmega1284  . je vais voir de refaire le test avec ma "vrai" mega2560 Re-Edit : C'est bizarre avec une UNO ça marche normalement, avec ma mega1284 aussi et sur la mega2560 le programme ne boot pas ?! Sinon je confirme la version 3 (version svn) tourne sans probléme sous arduino 0022 (et même avec l'add-on teensyduino aucun probléme). Re-Re-Edit : (décidément ^^) L'ATmega1280 marche, l'ATmega1284 marche, l'ATmega2560 n'est rien d'autre que l'ATmega1280 avec 2x plus de flash et ça ne marche pas !? C'est vraiment un bug trés étrange !
|
|
|
|
« Last Edit: August 10, 2011, 03:03:36 pm by skywodd »
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 45
|
 |
« Reply #4 on: August 10, 2011, 04:45:57 pm » |
Bon alors apparemment selon le lien suivant : http://robotgroup.com.ar/duinos/wiki/index.php?title=DownLoad_and_Getting_StartedNous pouvons lire sur la procédure d'instalation : 4. Copy the hardware\boards.txt (0.3) deployed with DuinOS to the \hardware\arduino (Arduino IDE 0021) folder. Note : if you use Arduino card other than Arduino Duemilanove or Nano w/ ATmega328, Arduino Diecimila, Duemilanove, or Nano w/ ATmega168, then Copy the hardware\boards-test.txt (0.3) deployed with DuinOS to the \hardware\arduino (Arduino IDE 0021) folder and rename it as board.txt. Dans ce fichier nous pouvons lire : ############################################################## mega2560_DuinOS.name=Arduino Mega 2560 + DuinOS . . . Quelqu'un a déjà essayé?
|
|
|
|
« Last Edit: August 10, 2011, 05:20:29 pm by Telson »
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4451
Arduino Hacker
|
 |
« Reply #5 on: August 11, 2011, 05:53:54 am » |
Je vais tester ce board-test.txt mais je ne pense pas que le probléme viennent de là. L'ATmega2560 est juste la version 256Ko de l'ATmega1280 (128Ko) sinon niveau hardware il n'y à aucune différence ! Ce qui marche avec un ATmega1280, ATmega1284 devrait marcher avec un ATmega2560 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 45
|
 |
« Reply #6 on: August 11, 2011, 07:58:09 am » |
Ha ok.....Et bien j'ai hâte de lire tes conclusions.....
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4451
Arduino Hacker
|
 |
« Reply #7 on: August 11, 2011, 08:17:41 am » |
C'est trés trés bizarre en comparant avec notepad++ les deux fichiers boards.txt et boards-test.txt là seul diférence c'est qu'il ont supprimé la uno + duinos et mega2560 + duinos  Je vais voir de trifouiller un peu la configuration de FreeRTOS pour la mega2560 voir si cela change quelque chose.
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4451
Arduino Hacker
|
 |
« Reply #8 on: August 11, 2011, 09:51:24 am » |
J'ai trouvé le probléme  En faite c'est tout bête ! L'ATmega1280 a 2x moins de place en flash que l'ATmega2560. Or qui dit plus de mémoire, dit plus d'adresses mémoire ! Par conséquent le registre interne qui gère l'adressage est plus grand ! Sur l'ATmega1280 c'est un compteur 16bit mais sur l'ATmega2560 c'est un compteur 22bit ! J'ai fait un patch pour le fichier port.c se trouvant dans ..\hardware\arduino\cores\arduino.DuinOS\DuinOS je le joins en pièce jointe. Le patch fonctionne "normalement" en 16bit avec les Atmega328/1280/1284/... mais si il détecte un ATmega2560 il passera en mode 22bit  En espérant que cela aidera d'autre personne ^^ PS: j'ai aussi posté mon patch sur le google code du projet duinOS 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 45
|
 |
« Reply #9 on: August 11, 2011, 10:15:21 am » |
Mais c'est énorme ce que tu nous proposes là. Merci beaucoup, je vais essayer de faire fonctionner cela au plus vite. Car en fait, je souhaiterais faire avancer mon robot et en même temps faire tourner ma tourelle supportant mon capteur. J'essaie tout cela dès que possible. Merci encore. P.S. L'adresse du google code DuinOS c'est bien : http://code.google.com/p/duinos/ ?
|
|
|
|
« Last Edit: August 11, 2011, 04:09:54 pm by Telson »
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4451
Arduino Hacker
|
 |
« Reply #10 on: August 11, 2011, 11:36:46 am » |
Mais c'est énorme ce que tu nous propose là.
CM... Non je vais évité même si c'est trop tentant  Merci beaucoup, je vais essayer de faire fonctionner cela au plus vite.
Car en fait, je souhaiterais faire avancer mon robot et en même temps faire tourner ma tourelle supportant mon capteur.
Chaque chose n'est pas exécuté en "même" temps, chaque fonction à un certain temps de calcul puis c'est le tour d'une autre fonction etc, etc, ... On a l'impression que tout ce fait en même temps mais c'est pas vraiment le cas. Oui c'est ça.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 45
|
 |
« Reply #11 on: August 11, 2011, 04:11:59 pm » |
CM ??????
Effectivement ce n'est pas vraiment du multi. mais pour mon niveau cela devrait aller.....Quoi que j'aimerai bien apprendre mais je ne sais pas par ou commencer????
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4451
Arduino Hacker
|
 |
« Reply #12 on: August 11, 2011, 04:21:58 pm » |
CM ??????
Même pas une petite idée Effectivement ce n'est pas vraiment du multi. mais pour mon niveau cela devrait aller.....Quoi que j'aimerai bien apprendre mais je ne sais pas par ou commencer????
http://www.pobot.org/Premiers-pas-avec-DuinOS.html ? ça pourrai aller pour commencé ^^ aprés pour partir sur du plus "concret" (application avec zone de code critique, mutex & co) il est toujours possible d'allez voir les tuto pour freeRtos.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 45
|
 |
« Reply #13 on: August 11, 2011, 04:32:58 pm » |
ARGH !!! J'suis con CMB !!!
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 45
|
 |
« Reply #14 on: August 24, 2011, 05:39:26 pm » |
Bonjour,
Je viens de faire un essai avec Duinos et l'exemple
voici le résultat !!
In file included from E:\arduino-0021\hardware\arduino\cores\arduino.DuinOS/DuinOS.h:14, from E:\arduino-0021\hardware\arduino\cores\arduino.DuinOS/WProgram.h:13, from E:\arduino-0021\hardware\arduino\cores\arduino.DuinOS\main.cpp:1: e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h: In function 'void eeprom_read_block(void*, const void*, size_t)': e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:290: error: ISO C++ forbids incrementing a pointer of type 'void*' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:290: error: ISO C++ forbids incrementing a pointer of type 'const void*' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:290: error: invalid conversion from 'const void*' to 'const uint8_t*' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:290: error: initializing argument 1 of 'uint8_t eeprom_read_byte(const uint8_t*)' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h: In function 'void eeprom_write_block(const void*, void*, size_t)': e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:398: error: ISO C++ forbids incrementing a pointer of type 'void*' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:398: error: ISO C++ forbids incrementing a pointer of type 'const void*' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:398: error: invalid conversion from 'void*' to 'uint8_t*' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:398: error: initializing argument 1 of 'void eeprom_write_byte(uint8_t*, uint8_t)'
A l'aide.....Snifff!!!
|
|
|
|
|
Logged
|
|
|
|
|
|