打印
[其它应用]

单片机将常量数据放在指定位置的小技巧

[复制链接]
776|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我们平时开发项目时,可能会有这么一个需求:将一些常量数据放在指定的位置上。
比如:把固件版本号及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 | 只看该作者
常量数据放在指定位置的小技巧很实用

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

278

主题

1441

帖子

2

粉丝