Не знаю, как грамотно изложить пробему, но факт в том, что при выполнении очередной итерации цикла в функции происходит изменение дерева Call Stack в окне IAR Embedded Workbench (4.31). Соответственно функция, вызванная из main(), по выполнении указанного цикла обратно больше не возвращается, и заканчивается это дело прерыванием Undefined.
Бьюсь весь день, не могу понять, где собака рылась.
Ясно, что много неопределённостей, но может есть у кого мысли?
Железки: AT91SAM7S64, J-Link + RDI.
Добавлю на всякий случай окончание map-файла:
Код
01 _LitobSmall
| Stack used (prev) : 00000AC8
| + function block : 00000018
<-Sub-tree of type: Function tree
| Stack used : 00000AE0
****************************************
* *
* SEGMENTS IN ADDRESS ORDER *
* *
****************************************
SEGMENT SPACE START ADDRESS END ADDRESS SIZE TYPE ALIGN
======= ===== ============= =========== ==== ==== =====
INTVEC 00000000 - 0000003F 40 com 2
ICODE 00000040 - 00000253 214 rel 2
DIFUNCT 00000254 - 0000027B 28 rel 2
CODE 0000027C - 00006D57 6ADC rel 2
INITTAB 00006D58 - 00006D6F 18 rel 2
DATA_ID 00006D70 - 00006F3B 1CC rel 2
DATA_C 00006F3C - 00007B18 BDD rel 2
DATA_I 00200000 - 002001CB 1CC rel 2
DATA_Z 002001CC - 00200CD5 B0A rel 2
HEAP 00200CD8 - 00201CD7 1000 rel 2
CSTACK 00201CD8 - 002030D7 1400 stk 2
SVC_STACK 002030D8 - 00203117 40 stk 2
IRQ_STACK 00203118 - 00203517 400 stk 2
FIQ_STACK 00203518 - 00203557 40 stk 2
****************************************
* *
* END OF CROSS REFERENCE *
* *
****************************************
27 992 bytes of CODE memory
13 654 bytes of DATA memory
3 521 bytes of CONST memory
Errors: none
Warnings: none
| Stack used (prev) : 00000AC8
| + function block : 00000018
<-Sub-tree of type: Function tree
| Stack used : 00000AE0
****************************************
* *
* SEGMENTS IN ADDRESS ORDER *
* *
****************************************
SEGMENT SPACE START ADDRESS END ADDRESS SIZE TYPE ALIGN
======= ===== ============= =========== ==== ==== =====
INTVEC 00000000 - 0000003F 40 com 2
ICODE 00000040 - 00000253 214 rel 2
DIFUNCT 00000254 - 0000027B 28 rel 2
CODE 0000027C - 00006D57 6ADC rel 2
INITTAB 00006D58 - 00006D6F 18 rel 2
DATA_ID 00006D70 - 00006F3B 1CC rel 2
DATA_C 00006F3C - 00007B18 BDD rel 2
DATA_I 00200000 - 002001CB 1CC rel 2
DATA_Z 002001CC - 00200CD5 B0A rel 2
HEAP 00200CD8 - 00201CD7 1000 rel 2
CSTACK 00201CD8 - 002030D7 1400 stk 2
SVC_STACK 002030D8 - 00203117 40 stk 2
IRQ_STACK 00203118 - 00203517 400 stk 2
FIQ_STACK 00203518 - 00203557 40 stk 2
****************************************
* *
* END OF CROSS REFERENCE *
* *
****************************************
27 992 bytes of CODE memory
13 654 bytes of DATA memory
3 521 bytes of CONST memory
Errors: none
Warnings: none