[其它应用] 单片机将常量数据放在指定位置的小技巧

[复制链接]
 楼主| 麻花油条 发表于 2024-2-23 17:00 | 显示全部楼层 |阅读模式
我们平时开发项目时,可能会有这么一个需求:将一些常量数据放在指定的位置上。
比如:把固件版本号及checksum放在某个固定的地址上,以便设备开机时进行自检,避免生产或者OTA时,代码或者固件烧录更新错误。
今天我们结合瑞萨RL78系列单片机给大家讲讲将常量数据放在指定位置的小技巧。
因为不同型号的RL78产品,它们的镜像区的大小是不同的。near区和far区的范围定义如下:
在section的类型中,后缀n意味着near属性,后缀f意味着far属性,根据上面near和far区域的范围,确定后缀使用n还是f,因为在定义section时,name_n和name_f是固定格式。

基于R5F100LE,假设你想把一些常量(如0x0,0x02,0x03,0x04,0x05,0x06,0x07,0x08)放在0x2500位置上。首先我们需要在compiler option→link option→Section下的Section start address上进行地址指定,如下:
根据《REN_r20ut3123ej0110-ccrl_MAN_20201101》指令应用定义,可写代码如下:
测试结果如下,写入成功。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
小夏天的大西瓜 发表于 2024-2-26 18:16 | 显示全部楼层
把固件版本号及checksum放在某个固定的地址上,以便设备开机时进行自检,避免生产或者OTA时,代码或者固件烧录更新错误。
中国龙芯CDX 发表于 2024-2-26 21:33 | 显示全部楼层
常量数据放在指定位置的小技巧很实用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

297

主题

1591

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部