[应用方案]

新塘的51单片机把函数申明到指定的RAM空间

[复制链接]
236|3
手机看帖
扫描二维码
随时随地手机跟帖
mickit|  楼主 | 2024-2-29 11:00 | 显示全部楼层 |阅读模式
计算机运行的条件是,程序必须放在它可【取指】的存储器中,它不知道(也无须知道)这个存储区域是用什么材料做的(ROM、FLASH、EPROM、EEPROM、RAM……)
所以就有一个先决的条件:你的RAM必须在程序区(可程序取指)。
接下来你只要将程序放入这个区就可以了。
例如:单片机只有4K程序区,你用16K的RAM扩充了程序区。这样就可以达成你的愿望了。
不过。你的系统不能掉电,掉电后放进RAM的程序就没有了。
一般用RAM运行程序有两个情况:
1、故意增加程序**难度。
2、有外部存储程序,切换工作。
这样就不用巨大的程序空间了,谁需要工作,谁把谁载入RAM。不工作的不载入。
这类似于PC机的工作方式。

void APROM_UpDateTest(void)__attribute((section(".ARM.__at_(1024ul*16)")));
void code APROM_UpDateTest(void)_at_((1024ul*10));
u8 code FlashParameter[10] _at_((1024ul*18)-128);

使用特权

评论回复
gejigeji521| | 2024-2-29 15:56 | 显示全部楼层
应该是有特别的关键词操作吧。

使用特权

评论回复
gejigeji521| | 2024-2-29 15:56 | 显示全部楼层
看看提供的例子里有木有。

使用特权

评论回复
ClarkLLOTP| | 2024-3-5 15:54 | 显示全部楼层
这样怎么写代码实现啊?

使用特权

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

本版积分规则

34

主题

1093

帖子

1

粉丝