STM32F4 failure on semaphore release in termios.

Karel Gardas karel.gardas at centrum.cz
Mon Sep 2 20:23:36 UTC 2013


On 09/ 2/13 01:20 PM, Sebastian Huber wrote:
>> 0x0000e576 <+10>: bl 0xe4d8 <_Chain_Head>
>> 0x0000e57a <+14>: str r0, [r7, #20]
>> 0x0000e57c <+16>: ldr r3, [r7, #20]
>> 0x0000e57e <+18>: ldr r3, [r3, #0]
>
> Above you read head->next.
>
>> 0x0000e580 <+20>: str r3, [r7, #16]
>> 0x0000e582 <+22>: ldr r3, [r7, #16]
>> 0x0000e584 <+24>: ldr r3, [r3, #0]
>
> Above you read head->next->next;
>
> I think its the instruction above which fails since r3 has a bogus value
> of 0x1a010003. It looks like that the chain is corrupt.

Yes, it also looks so from C point of view and while debugging C code. 
The question is why. Now I'm trying to duplicate this issue on vanilla 
STM32F4 BSP from RTEMS HEAD and with the latest toolchain compiled on 
Ubuntu. Honestly speaking this combination provides completely different 
hello example -- I mean binary behaves in different way so I'll need to 
add logic analyser as I don't have logic shifter hardware connected to 
USART 3 which is used by default on STM32F4 BSP.

Anyway, I'll keep you posted about the progress...

Thanks for your help!
Karel




More information about the devel mailing list