Page 1 of 1

IAP over Ethernet

Posted: Tue Jan 08, 2013 10:45 am
by DeusExMachina
I read interesting application note from ST - AN3968 STM32F407/STM32F417 in-application programming (IAP) over Ethernet. To use same technic we have to do some things:
In order to build an image for IAP (to be loaded using the IAP software), make sure that:
1. The software is compiled/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.

What is the easy way to do so in Chibios?

Re: IAP over Ethernet

Posted: Tue Jan 08, 2013 2:16 pm
by Giovanni
Not sure, I don't know that software. Probably it would be possible to implement a bootloader using ChibiOS and lwIP and achieve something similar to what you described.

Giovanni

Re: IAP over Ethernet

Posted: Wed Jan 09, 2013 7:56 am
by DeusExMachina
The idea is to change Chibiuos vector table and start address in flash in order to place IAP application at the beginning of the flash area. So, it will be possible to flash modified Chibios application over Ethernet.

Re: IAP over Ethernet

Posted: Wed Jan 09, 2013 9:02 am
by Giovanni
Hi,

Then it would be like a bootloader, if you search the Development forum you should find a thread regarding bootloaders and also an example of bootloader.

Basically you have to put the ChibiOS vectors table and the ChibiOS application itself at a different address, there is a port option that allows to do that. You also need a tweaked linker script for your application.

Giovanni

Re: IAP over Ethernet

Posted: Sun Mar 31, 2013 11:42 am
by JerryR
Use ST IAP: (Chibios 2.4.3)
1) modify the linker script (copy) STM32F207xC.ld
"flash: org = 0x08000000, len = 256k" changed to "flash: org = 0x08010000, len = 192k"
2) modify Makefile
"UDEFS =" changed to "UDEFS =-DCORTEX_VTOR_INIT = 0x08010000"

Re: IAP over Ethernet

Posted: Tue Apr 09, 2013 9:59 am
by DeusExMachina
thank you, it works!