[应用方案] N76E003 Keil设置芯片使用FLASH的地址空间

[复制链接]
723|6
 楼主| sj8zw8 发表于 2023-4-25 11:22 | 显示全部楼层 |阅读模式
这篇文章讲的是如何设置芯片使用FLASH的大小,比如新塘的芯片N76E003的FLASH大小只有18K,但是我需要一些空间存储一些别的信息,掉电不丢失,那么我就要把FLASH空间分成两部分,第一部分用作存储代码,第二部分用作存储信息。如果你不设置,默认工程FLASH全部空间都是存储代码的,擦除也是擦除整个芯片。如果要将FLASH分为两部分我这里提供两个思路。



第一:设置擦除使用扇区,计算程序代码大小,将所需要的数据放入代码占用空间之后(最好用最后的地址空间)。


首先设置只擦除使用扇区,如下图,设置Setttings选项时需要Nu-Link连接到目标板,勾选Erase Used Sectors。
473644747647bda0.png

 楼主| sj8zw8 发表于 2023-4-25 11:30 | 显示全部楼层
之后是计算程序代码大小,在程序编译链接之后在Build Output会有信息提示,只要看Code的大小即可,单位为字节。如下图:
 楼主| sj8zw8 发表于 2023-4-25 11:30 | 显示全部楼层
 楼主| sj8zw8 发表于 2023-4-25 11:34 | 显示全部楼层
在这个前提下,我就可以把其他的在这个前提下,我就可以把其他的数据放入Code代码占用地址之后了。这个方法可行,已经过验证。数据放入Code代码占用地址之后了。这个方法可行,已经过验证。
wahahaheihei 发表于 2023-4-26 15:38 | 显示全部楼层
这个操作很不错,好像默认也可以正常工作吧。是不是需要用一个code指令放固定的数据
wahahaheihei 发表于 2023-4-26 15:38 | 显示全部楼层
51单片机都是用关键字code,让代码放到Flash区域的。
AdaMaYun 发表于 2023-4-27 14:26 | 显示全部楼层
运用code关键字节省单片机RAM资源,方便
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

409

帖子

1

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