2015-08-12 11:18 PM
Hi all,
I am testing on IAP Ethernet(web server) functionality but I can't download my application.
Here is my test environment
- STM32f429 Eval board
- STM32cube4 1.7.0
- Eclipse + GCC, IAR
And here is my story,
I programmed LwIP_IAP in STM32cube4 package and downloaded given app binary (STM324xG_EVAL_SysTick.bin) through web server. There wasn't any problem. Everything is fine. However, when I tried to build and download GPIO_IOToggle sample application, it looked programmed well but doesn't work. I did modification, linker file and system_stm32f4xx.c like below.
FLASH (rx) : ORIGIN = 0x8020000, LENGTH = 2048K - 0x20000
/*FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 2048K*/
//#define VECT_TAB_OFFSET 0x0
#define VECT_TAB_OFFSET 0x20000
and the problem was found on both IAR and GCC. I think I definitely missed some things because sample binary works well but the things I did are pretty all the document says.
''Building an image for IAP
In order to build an image for IAP (to be loaded using the IAP software), make sure that:
1. The firmware is compiled and linked to run starting from the start address of the user Flash area (this address should be the same address as the one defined by USER_FLASH_FIRST_PAGE_ADDRESS in main.h).
2. The vector table start address is configured as the start address of the user Flash area. The vector table base offset is configured by modifying the value of the constant VECT_TAB_OFFSET defined in system_stm32f4xx.c file. For example, to set the vector table base location at 0x08020000: #define VECT_TAB_OFFSET 0x20000
3. The compiled software size does not exceed the total user Flash area.''
And one more info is when I downloaded my application with elf file at 0x8020000, it woks fine.
Could anybody point out what I missed out?
Thanks
Chris
2015-08-13 12:29 AM
On IAR workbench, I found file format was wrong. After making absolute binary and downloading it, application worked fine. However, I still suffer under Eclipse + GCC side. How can I generate absolute binary on Eclipse + GCC like IAR?
Thanks Chris