switch-case AVR - GCC

Jan Waclawek konfera na efton.sk
Sobota Březen 21 23:09:47 CET 2020


https://www.avrfreaks.net/forum/incorrect-implementation-switch-if-case-more-7?skey=fno-jump-tables
?

t.j. otazky zneju:
- odstrani sa problem pouzitim -fno-jump-tables pri zachovanom -Os?
- jedna sa o AVR s >64kB FLASH, a relokuje sa .text nad 64kB (typicky pre
bootloader)?
- je verzia gcc < 4.9.2?

JW

----- Original Message ---------------

Subject: switch-case AVR - GCC
   From: Lukac Michal <Michal.Lukac at fstroj.uniza.sk>
   Date: Sat, 21 Mar 2020 17:43:53 +0000
     To: "hw-list at list.hw.cz" <hw-list at list.hw.cz>

Dobry den,

Je nejake obmedzenie pre prikaz switch-case?
Ked je vela case prepinacov a este su tam aj vnorene switch-case tak pri
urcitom pocte prestane fungovat. Ten pocet zavisi od kodu co je vnutri.
Ked sa niektore case zmazu je jedno ktore, opat to funguje. Toto sa sprava
pri optimalizacii -Os bez optimalizacie a pri -O2 to funguje normalne.
pretecenim pamate by to nemalo byt, globalne premenny zaberaju okolo 30%,
je tam 8k a ani nejake extremne volanie funkcii tam nie je.

Nejak som to blizsie neskumal ani nemam ten kod, volal mi len jeden znamy
ci neviem poradit. V podstate to je vyriesene tou optimalizaciou, ja len
ci to nie je nejaka znama chyba alebo tak...

michal.




Další informace o konferenci Hw-list