← All posts tagged iar

den-po
рабочее bugs говно FreeRTOS iar Обмазался дизасмом и таки нашёл, похоже, откуда ноги растут у бага, мучавшего меня так долго. на NEC/Renesas 78K0R нет варианта команды RET, снимающего со стека аргументы, вместо этого там юзается софтварный рет, который обращается к данным из сегмента кода через далёкие указатели. А порт FreeRTOS не сохраняет регистр ES, если модель данных NEAR.
P.S. Может даже набухался бы на радостях, но живот крутит =(
den-po
рабочее лол embedded FreeRTOS iar приостановил отладку, в списке задач одна из задач получилась с кривым именем (бывает, когда кто-то чужую память херит). имя задачи: "ЧТ┌РЖУ". жаль, не заскриншотил.
den-po
CPP bugs embedded iar Linking
Tool Internal Error:
Internal Error: In function:
Diagnostic: The program contains a template with a corrupt name. Contact IAR support.
P0: 0 P1: 0
Internal Error: In function:
Diagnostic: The program contains a template with a corrupt name. Contact IAR support.
P0: 0 P1: 0
Error while running Linker

=( iar 78k 4.80.2 при попытке использовать fastdelegate
den-po
рабочее грабли CPP C iar затрахался с библиотекой от производителя. пустые циклы и задержки не помогают. выделение места в стеке для локальных переменных не помогает. помогает только такая хитрая комбинация

#pragma optimize=none
...
FSL_Init(buf);
//особая уличная магия. непонятным образом без проверки результата
//FSL_InvertBootFlag вызов этой функции не даёт результата. кроме того,
//проверка результата без локальной переменной тоже не помогает
//оптимизацию отключить полностью!!!
int x=FSL_InvertBootFlag();
if(x)__no_operation();
FSL_ForceReset();