2018-07-16 05:24 AM
Hi
I am using
STM32439I-EVAL
board. I want to program my board via ethernet. I searched and i could find an example in ST web site.I downloaded it and run it via IAR. In the main.h file there are 3 macros that called :
&sharpdefine USER_FLASH_FIRST_PAGE_ADDRESS 0x08010000
&sharpdefine USER_FLASH_LAST_PAGE_ADDRESS 0x080E0000&sharpdefine USER_FLASH_END_ADDRESS 0x080FFFFFI set these macros like above but the example doesn't work!
please help me how to set these macrose ...
#in-application-programming-over-ethernet #stm32-ethernet-bootloader2018-07-16 05:40 AM
What does 'doesn't work' mean here, it's not a very specific failure. Does it compile? Does the Ethernet and data transfer portion work? Does the Flash write or erase fail?
HAL based example
STM32Cube_FW_F4_V1.21.0\Projects\STM324x9I_EVAL\Applications\LwIP\LwIP_IAP\readme.txt
2018-07-16 08:28 AM
Thanks for your quick answer
The program is compiled correctly and Ethernet and data transfer portion work well.
in the main.c file we have
if (((*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
{ /* Jump to user application */ JumpAddress = *(__IO uint32_t*) (USER_FLASH_FIRST_PAGE_ADDRESS + 4); Jump_To_Application = (pFunction) JumpAddress; /* Initialize user application's Stack Pointer */ __set_MSP(*(__IO uint32_t*) USER_FLASH_FIRST_PAGE_ADDRESS); Jump_To_Application(); }else
{/* Otherwise, do nothing */ /* LED3 (RED) ON to indicate bad software (when not valid stack address) */ LED_On(3); /* do nothing */ while(1); }The if statement condition is always False and the program go to the infinit loop .