Код
void LogTask(void *par)
{
LogTask:
00004CA0 E92D4FF0 STMDB SP!, {R4,R5,R6,R7,R8,R9,R10,R11,LR}
00004CA4 E24DD014 SUB SP, SP, #0x14
xLastFlashTime = xTaskGetTickCount();
00004CA8 EB0018C2 BL xTaskGetTickCount ; 0xAFB8
00004CAC E58D0000 STR R0, [SP, #+0]
{
LogTask:
00004CA0 E92D4FF0 STMDB SP!, {R4,R5,R6,R7,R8,R9,R10,R11,LR}
00004CA4 E24DD014 SUB SP, SP, #0x14
xLastFlashTime = xTaskGetTickCount();
00004CA8 EB0018C2 BL xTaskGetTickCount ; 0xAFB8
00004CAC E58D0000 STR R0, [SP, #+0]
Делаю один шаг (step jver) по асемблерному тексту после чего код чудесным образом превращается в
Код
void LogTask(void *par)
{
LogTask:
00004CA0 F0 DC8 0xF0
00004CA1 4F DC8 0x4F
00004CA2 D014E92D ANDLES LR, R4, SP, LSR #18
00004CA6 4D DC8 0x4D
00004CA7 E2 DC8 0xE2
xLastFlashTime = xTaskGetTickCount();
00004CA8 EB0018C2 BL xTaskGetTickCount ; 0xAFB8
00004CAC E58D0000 STR R0, [SP, #+0]
{
LogTask:
00004CA0 F0 DC8 0xF0
00004CA1 4F DC8 0x4F
00004CA2 D014E92D ANDLES LR, R4, SP, LSR #18
00004CA6 4D DC8 0x4D
00004CA7 E2 DC8 0xE2
xLastFlashTime = xTaskGetTickCount();
00004CA8 EB0018C2 BL xTaskGetTickCount ; 0xAFB8
00004CAC E58D0000 STR R0, [SP, #+0]
Следующим шагом вылетает с инструкции ANDLES (???) в undef.
Если не ходить по шагам, то иногда вылетает в дата-аборт вроде бы из memcpy при копировании из ОЗУ в странные адреса типа 0xFEAFFFFE...
Что бы это значило?
