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

Répondre à