CORE: STM32F103ZET6
Hi,Pros.
Here Monkey comes agian
I have met a problem with my code,see below:
/* --------- code here --------- */ .section .data _sp_usart: .word _stack_usart _stack_usart: .space 0x100, 0 ... // other code here /* --------- code end here --------- */ and I wrote a ldscript looks like this: /* --------- code here --------- */ SECTIONS { ... // other code here . =0x20000000; .data : {*(.data)} } /* --------- code end here --------- */
But what I read from ADDRESS 0x20000000 is a strange number,something like 0x2Exxxxxx,out of the RAM region.
I have no idea for this,how this happens?Can someone please help me?
Message was edited by: stupidMokey
Hello,
I am afraid your bootloader would use the address 0x20000000 as a work area.
Are there any reason why you should locate (probably) constant _stack_usart on SRAM area?
Best regards,
Yasuhiko Koumoto.
WOW,bingo!
Thank you for reminding me,I took a look just now and found this:
// quote from "STM32 microcontroller system memory boot mode(AN2606)". 512 bytes starting from address 0x20000000 are used by the bootloader firmware.
// quote from "STM32 microcontroller system memory boot mode(AN2606)".
512 bytes starting from address 0x20000000 are used by the bootloader firmware.
So,that is how the weird number comes.
------------------------------------------------------------------------------------------------------------------------------------------
--- There was no reason but I just did this stupidity and then,you know,I found that confusing number.