/ swap region (128 kbytes) / //#define REGION_SWAP_START 0x08020000 //#define REGION_SWAP_END 0x0803FFFF define REGION_SWAP_START (EXTERNAL_FLASH_ADDRESS + 0x300000)define REGION_SWAP_END (REGION_SWAP_START + FWIMG_SIZE - 1)/ slot 0 region (128 kbytes) 128+64=192KB / define REGION_SLOT_0_START 0x08020000define REGION_SLOT_0_END (REGION_SLOT_0_START + FWIMG_SIZE - 1) //0x0804FFFF/ slot 1 region (128 kbytes) / define REGION_SLOT_1_START (REGION_SLOT_0_END + 1)//0x08050000define REGION_SLOT_1_END (REGION_SLOT_1_START + FWIMG_SIZE - 1)//0x0807FFFF之前配置交换分区SWAP,slot0, slot1 都是0x20000 byte大小,目前由于应用程序变大,想通过调整slot0, slot1的空间大小,缩小SWAP的空间,来实现支持较大应用程序存储,看文档说明SWAP可以多次交换,只要是几次能过完整包升级程序更新过来就可以了,但目前看存储参数对其这块还是不好分配,不能按照我在想的这样,SWAP 50K ,slot0 150K , slot1 150K 这样,想知道这块可以调整改变么,保证slot0 slot1 稍微大些, = [SBOOT] System Security Check successfully passed. Starting... = [FWIMG] Slot #0 @: 802c000 / Slot #1 @: 8050000 / Swap @: 8020000 = [FWIMG] slot 0 (802c000) is not properly aligned: please tune your settingsFWIMG INIT COMPLETED ... |
各个SLOT调整是可以的,不过,每个Slot的起始地址和大小要对齐到Flash Sector/page的地址及大小。具体型号的sector/page都可能不一样,具体数据要查看参考手册FLASH存储介绍的相关章节。SWAP区容量是扇区大小的整数倍,而SLOT区又是SWAP区的整数倍。关于这些你可以参考下AN5056的第3章相关内容。
楼主,您好。很抱歉我对这个不是很熟悉。单纯的从程序分区存储来说是可以的。但是需要注意F4的FLASH扇区大小是不同的,一定要把分区的地址在擦除的分区内,不然会导致上个分区擦写后,下个分区部分也被擦除。
各个SLOT调整是可以的,不过,每个Slot的起始地址和大小要对齐到Flash Sector/page的地址及大小。具体型号 ...
这个有调整