wzn 发表于 2023-9-17 11:13:11

flash末尾填写版本号问题

目的:在flash末尾存放软件版本号
过程:
1.flash地址:
            flash start address:0x08000000 ,flash end address:0x08003fff

2.版本号结构体:

#define MAJOR_VERSION   1
#define MINOR_VERSION   0
#define PATCH_VERSION   0


typedef struct
{
    uint32_t major_version;
    uint32_t minor_version;
    uint32_t patch_version;
    uint32_t code_crc32;
}soft_version_info_t;


const soft_version_info_t soft_version __attribute__((at(0x08003ff0)))
={MAJOR_VERSION,MINOR_VERSION,PATCH_VERSION,0};


3.问题:
1.超出28字节,发现末尾有RW数据自动放置FLASH末尾,导致超出flash
   
    map文件
4.请教如何修改,使RW数据,不自动放在flash末尾



eric2013 发表于 2023-9-17 11:28:15

版本号定义到末尾会出现生成的bin文件偏大的问题。

采用这个方法,简单易用。

C文件定义

https://img.anfulai.cn/dz/attachment/forum/202207/22/185031bp2f96f4eeffuuea.png

启动汇编文件声明

https://img.anfulai.cn/dz/attachment/forum/202207/22/185041zmcvj23kv4333eze.png

读取的时候获取的是变量的地址,你用指针变量读取这个地址的内容即可。

wzn 发表于 2023-9-18 19:43:18

eric2013 发表于 2023-9-17 11:28
版本号定义到末尾会出现生成的bin文件偏大的问题。

采用这个方法,简单易用。


谢谢,硬汉哥

ccc228 发表于 2023-10-8 11:07:10

学习之~ 留个记号
页: [1]
查看完整版本: flash末尾填写版本号问题