AnsweredAssumed Answered

IAP Ethernet(web server) issue on STM32cubef4

Question asked by kim.chris.001 on Aug 13, 2015
Latest reply on Aug 13, 2015 by kim.chris.001
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?