memory map reconfiguration for STM32F401

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

HI,ALL:

     I want to increase bootloader size,and i modify bootapp_link.ld bootloader_link.ld dct_link.ld and dct_only_link.ld  as follows:

MEMORY

{

    BTLDR_VECTORS          (rx)  : ORIGIN = 0x08000000, LENGTH = 512

    BTLDR_API                     (rx)  : ORIGIN = 0x08000200, LENGTH = 512

    BTLDR_CODE                 (rx)  : ORIGIN = 0x08000400, LENGTH = 31K

    DCT1_FLASH                  (rx)  : ORIGIN = 0x08008000, LENGTH = 16K

    DCT2_FLASH                  (rx)  : ORIGIN = 0x0800C000, LENGTH = 16K

    APP_HDR                        (rx)  : ORIGIN = 0x08010000, LENGTH = 512

    APP_CODE                      (rx)  : ORIGIN = 0x08010200, LENGTH = 0x6FE00

    SRAM                               (rwx) : ORIGIN = 0x20000000, LENGTH = 96K

}

and modify stm32f4xx_platform.c file about DCT operate:

#define PLATFORM_DCT_COPY1_START_SECTOR      ( FLASH_Sector_2  )

#define PLATFORM_DCT_COPY1_START_ADDRESS     ( DCT1_START_ADDR )

#define PLATFORM_DCT_COPY1_END_SECTOR        ( FLASH_Sector_2 )

#define PLATFORM_DCT_COPY1_END_ADDRESS       ( DCT1_START_ADDR + DCT1_SIZE )

#define PLATFORM_DCT_COPY2_START_SECTOR      ( FLASH_Sector_3  )

#define PLATFORM_DCT_COPY2_START_ADDRESS     ( DCT2_START_ADDR )

#define PLATFORM_DCT_COPY2_END_SECTOR        ( FLASH_Sector_3 )

#define PLATFORM_DCT_COPY2_END_ADDRESS       ( DCT1_START_ADDR + DCT1_SIZE )

if i modify like this the app can't run,bu moidfy as follows ,the app will work.

MEMORY

{

     BTLDR_VECTORS             (rx)  : ORIGIN = 0x08000000, LENGTH = 512

     BTLDR_API                         (rx)  : ORIGIN = 0x08000200, LENGTH = 512

     BTLDR_CODE                    (rx)  : ORIGIN = 0x08000400, LENGTH = 15K

     DCT1_FLASH                      (rx)  : ORIGIN = 0x08004000, LENGTH = 16K

     DCT2_FLASH                      (rx)  : ORIGIN = 0x08008000, LENGTH = 16K

     APP_HDR                             (rx)  : ORIGIN = 0x0800C000, LENGTH = 512

     APP_CODE                          (rx)  : ORIGIN = 0x0800C200, LENGTH = 0x73E00

    SRAM                                    (rwx) : ORIGIN = 0x20000000, LENGTH = 96K

}

STM32F401xD/E Flash module organization table

捕获.PNG

0 Likes
3 Replies