[开发工具] 在MDK中如何将一函数固定存放于一个地址?

[复制链接]
1846|2
 楼主| KC_CEC 发表于 2014-4-14 15:25 | 显示全部楼层 |阅读模式
我现在想实现将函数固定存放于一个地址,然后只需要运行一次就擦除。
比如:
void main(void)
{
   Init();
   Write();//固定存放在地址0x080f0000处
   Erase();//擦除Write函数
   while(1)
{
   Run();
}
}
现在 Write();作用于根据ID不用在FLASH内部写一串对应序列号。以后仅仅用于读取验证。

有两个疑问:
1、在MDK下如何实现?
2、擦除了 Write();函数后,程序每次重新运行完Init();后是自动跳转到 Erase();函数吗?还是我需要做修复?

对编译原理不懂,大家帮帮忙...
airwill 发表于 2014-4-14 16:20 | 显示全部楼层
MDK 需要加载连接命令.

擦除了 Write();函数后,程序每次重新运行完Init();后是自动跳转到 Erase();函数吗? 这就看你的处理了, 简单的办法就是调用函数前做个合法性检查, 检查不合法就不调用了
 楼主| KC_CEC 发表于 2014-4-14 16:54 | 显示全部楼层
airwill 发表于 2014-4-14 16:20
MDK 需要加载连接命令.

擦除了 Write();函数后,程序每次重新运行完Init();后是自动跳转到 Erase();函数吗 ...

不是太懂,有相关通俗文档可以推荐一下吗?
我想最简单就是麻烦一点,把程序下载两次。一次就运行Write() 再次就是正常的验证程序了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

169

帖子

1

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