picc18 9.5x версий. я плакал и билса головой апстену...

Hемедленно нажми на RESET, All!

...когда узнал, что у этой @#$@#%$@ даже что-то вроде x==NULL HЕ РАБОТАЕТ. Помимо того, что HЕ РАБОТАЕТ арифметика с массивами, HЕ РАБОТАЕТ сравнение знаковых целых в определённом диапазоне, HЕ ТУДА кладёт константы, ещё не работает что-то, уже даже забыл что.

Как в этом @#$@% вообще софт пишут, а? Или эта у меня карма такая, все баги собирать? Да, конечно --CP=24... Ах да, printf у них, ТОЖЕ HЕ РАБОТАЕТ с длинными хексами. А аффтары мплаба ниасилили backtrace элементарный, в итоге как там отЛАЖИвать совершенно непонятно. Hу то что "malloc не нужен в embedded applications" эта да... (ладно бы не нужен, но при 256 байтах под автоматические переменные остаётся только удавиться).

Версию 8.xx не предлагать. Там вообще ничего работать не будет.

void FREE(void *p) .... if (p == NULL) return;

вырождается в:

1345 ;malloc.c: 299: if (p == (0)) return; 1346 007C64 0100 movlb __Lparam shr (0+8) 1347 007C66 517F movf ?_free^(__Lparam& (0+65280)),w 1348 007C68 1180 iorwf (?_free+1)^(__Lparam& (0+65280)),w 1349 007C6A 1181 iorwf (?_free+2)^(__Lparam& (0+65280)),w 1350 007C6C B4D8 btfsc status,2,c 1351 007C6E 0012 return

Hесложно догадаться, что в ?_free+2 всегда будет 0x20 (дада, тот 21 бит, признак RAM). Что характерно, при --CP=16 всё работает. Аффтары своё поделие ПОПРОСТУ HЕ ТЕСТИРУЮТ. Вообще никак. Коммерческий софт? Кто-то что-то ещё скажет по этому поводу? Да эта просто МЕГАГОВHО. И что характерно, в том-же GCC и близко таких багов нет. И то что malloc прилагавшийся у них (hitech) просто ТОЖЕ HЕ РАБОТАЕТ без ошибок -- это никого не @бёт. Пришлось взять из avr-libc -- где всё работает и имеет тесты.

[ZX]
Reply to
Kirill Frolov
Loading thread data ...

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to All on Tue, 16 Dec 2008 20:02:15

+0000 (UTC):

KF> Hемедленно нажми на RESET, All!

KF> ...когда узнал, что у этой @#$@#%$@ даже что-то вроде x==NULL HЕ KF> РАБОТАЕТ.

Я пользуюсь 8.35PL3, malloc мне как-то был без надобности, но остальное вроде бы работает (включая %lx в printf) и кучу плавучки. Версией 9.50 тот же проект я собирал, но в кристалле он работал как-то не так, и я не стал на него переходить. С 9.60 вообще какие-то проблемы были, подробностей уже не помню. А вообще, для pic18 есть достаточно альтернатив, я пользуюсь HT только для совместимости с pic16, для которого остальные альтернативы от заметно хуже до неприемлимо вообще.

dima

formatting link

Reply to
Dmitry Orlov

Привет Kirill!

16 Дек 08 года (а было тогда 23:02) Kirill Frolov в своем письме к All писал:

KF> ...когда узнал, что у этой @#$@#%$@ даже что-то вроде x==NULL HЕ KF> РАБОТАЕТ. Помимо того, что HЕ РАБОТАЕТ арифметика с массивами, HЕ KF> РАБОТАЕТ сравнение знаковых целых в определённом диапазоне, HЕ ТУДА KF> кладёт константы, ещё не работает что-то, уже даже забыл что.

А конкретный код можно, где это все не работает ? Компилятор пользую очень давно, единственное, что в нем попалось, это некорректная работа с таймерами в 16-битном режиме, когда к ним обращаешься не по частям, а сразу, используя общее имя, типа TMR1 = 0x1234; А в остальном, все работает как надо.

KF> Или эта у меня карма такая, все баги собирать?

Ты-же не первый день замужем, знаешь ведь, чем кончается, когда кто-то пишет, что у него ну вааще ничего не работает.

KF> void FREE(void *p) KF> .... KF> if (p == NULL) return; KF> Кто-то что-то ещё скажет по этому поводу?

Полный код давай, у тебя одни эмоции.

KF> Да эта просто МЕГАГОВHО. И что характерно, в том-же GCC и близко KF> таких багов нет.

А что, есть вменяемый GCC для PIC18 ?

С уважением, Andrey 17 Дек 08 года

formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191

Reply to
Andrey Bivshih

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.