Je confirme j'ai parfois vu des choses étranges se produire lors d'un compile en O3 avec les printfs. Toutefois j'ai jamais trouvé exactement d'où ça venait :)
Merci tof' ! JD. On 21/01/07, christoph <[EMAIL PROTECTED]> wrote: > > > Salut > > j'ai eu un probleme avec une UART qui fsait planter un printf. > en gros, quand le buffer etait plein, freeze du uart0_send. > > j'ai mis un temps certain, voir un certain temps, que cela ne se > produisait que quand j'activais le niveau d'optimisation -O3. > > Ensuite j'ai cherche en vain la cause en essayant de debugger avec le > JTAG, mais insight est assez imbittable, et ne fait pas trop ce qu'on > lui demande. > > J'ai fini par trouver la cause du probleme : > > http://cvs.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/comm/uart/uart.c?r1=1.33.2.2&r2=1.33.2.3&pathrev=b_tof > > quelques volatiles qui manquaient. > > > j'ai aussi commite un nouveau programme de test : > > http://cvs.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/comm/uart/test/main.c?revision=1.15.8.3&view=markup&pathrev=b_tof > > > avec l'uart non corrigee, cela sortait : > " > x0x1x2x3x4x5x6x7x8x9 > Uart > " > puis plantait, car le buffer de 4 cars etait arrivee a saturation et la > boucle d'attente avait ete optimisee par GCC en while(1). > > > > Il serait judicieux de commiter uart.c et test/main.c dans le main, non ? > > > a++ > > tof, debugger de la mort > > > _______________________________________________ > Avr-list mailing list > Avr-list@droids-corp.org > CVSWEB : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive > WIKI : http://wiki.droids-corp.org/index.php/Aversive > DOXYGEN : http://zer0.droids-corp.org/doxygen_aversive/html/ > BUGZILLA : http://bugzilla.droids-corp.org > COMMIT LOGS : http://zer0.droids-corp.org/aversive_commitlog > _______________________________________________ Avr-list mailing list Avr-list@droids-corp.org CVSWEB : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive WIKI : http://wiki.droids-corp.org/index.php/Aversive DOXYGEN : http://zer0.droids-corp.org/doxygen_aversive/html/ BUGZILLA : http://bugzilla.droids-corp.org COMMIT LOGS : http://zer0.droids-corp.org/aversive_commitlog