Iap

STM32 IAP (Bootloader)

Stm32 Iap



Jeg vil gjøre funksjonen for seriell portoppgradering for STM32 og studere trinnene for STM32-programutførelse.

1.STM32 programnedlastingsstartadresse 0x08000000, 0x00000004 denne adressen er avbruddsadressen



2. Design et bootloader-program selv, og design deretter et program.



3. Tilordne nedlastingsprogramområdet til stm32 bootloader, jeg bruker STM32F407ZGT6, med 1m flash



(1) bootloader : 0x0800 0000 ~ 0x0800 4000 størrelse : 0x4000 (16K)

(2) Søknad 1: 0x0800 4000 ~ 0x0808 0000

(3) Søknad 2: 0x0808 0000 ~ 0x0810 0000: Del i utgangspunktet 1Mflash

4. Design oppstartsprogram

Ovennevnte er bootloader-programmet, forskjellen med applikasjonen er forskjellen mellom startadressen til blitsprogrammeringen. Bootloaderens hovedfunksjon er å la programmet hoppe

5. Steder å være oppmerksom på

(1) Merk: Siden bootloader-funksjonen er lagt til programstartplasseringen, må avbruddspekeren til programmet også forskyves.

NVIC_SetVectorTable (NVIC_VectTab_FLASH, APP1_ADDRESS) // Sett denne koden i applikasjonen, hvis det ikke er noe avbrudd, vil det være et avbruddsunntak.

(2) Merk: SystemInit () / / denne funksjonen, programmet vil bli utført en gang hver gang programmet starter å kjøre, denne funksjonen vil være standard forskyvning av avbruddsvektortabellposisjonen, så konfigurer etter denne funksjonen Offset.