cancel
Showing results for 
Search instead for 
Did you mean: 

IAR 5.20 STM32F101C8T6 - Boot Loader Issue with App Address

jwormsley2
Associate II
Posted on January 23, 2009 at 10:23

IAR 5.20 STM32F101C8T6 - Boot Loader Issue with App Address

3 REPLIES 3
jwormsley2
Associate II
Posted on May 17, 2011 at 13:00

I have the above CPU and with a customized boot loader based on the USART/YMODEM example, except it pulls the code from a serial data flash part. This works just fine.

I have an application that uses a 128x64 display. When I load in a font with just the chars from 32 to 127, my application runs fine. But, if I expand the font to chars from 32 to 255 to include the foreign (to me, anyway) characters, my application fails to start. I have checked, and my ROM usage is not exceeding the part's capacity. What I have traced out in the debugger is this.

When I build the application with the larger fonts, the application start vector at 0x08002000 + 4 is 0x0800ec81. This is my application's __iar_program_start address. Tracing through this it calls __low_level_init, then __iar_data_init2 then __iar_zero_init2 then it calls __iar_rle_init2. Something in this call must go wrong, because instead of exiting this function, instead I get a hardware exception (which puts me in an infinite loop in the exception handler, which is the default).

When I build with the smaller font data, the __iar_program_start address is lower and everything works just fine.

None of the actual code changes, only the addresses of where the code lives, moved because of the addition of the const arrays of character data.

Any idea of what could be going wrong?

TIA,

Jeff

jwormsley2
Associate II
Posted on May 17, 2011 at 13:00

I've read that before, and never could get anyone from IAR or ST to tell me what the ''tool chain incompatibilities'' were, and in the mean time I've got several hundred boards already built with this processor on it that I'm not about to scrap. So, is this one of those incompatibilities or is it not? If so, is there any work around? Like I said, I can't afford to scrap boards just to get Y rev processors on them.

jilisegiar
Associate II
Posted on May 17, 2011 at 13:00

please refer to the following AN: STM32F10xxx Medium-density devices: upgrading your toolchain to V5.20 of IAR EWARM :

http://www.st.com/mcu/modules.php?name=mcu&file=familiesdocs&FAM=110#Software%20for%20Tools