KEIL MDK函数绝对定位,没用过,终于搞通了,现将方法分享

2019-12-22 13:46发布

看了好些帖子,人家是说到点子上了,本人比较笨,硬是折腾了好些时间才弄明白~~~

现将方法分享

KEIL MDK函数绝对定位.pdf (273.36 KB, 下载次数: 396) 2017-10-2 03:18 上传 点击文件名下载附件



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
mon51
1楼-- · 2019-12-24 01:39
本帖最后由 mon51 于 2017-10-5 10:57 编辑

简单的步骤:1、绝对定位一个16K的数组    (STM32F429)  让它占满一个扇区。2、定义个一个函数指针指向这个数组。
以后操作就是先删除这个扇区,再随便写这个扇区就是了。

        const  char EEROM_Buf [1024*16] __attribute__((at(0x0800C000)))          = {0xff};
        void (const *RunMcu)(void);
        RunMcu=(void(*)())(EEROM_Buf ); //函数指针赋值
        //扇区 操作:先删除,再写入。最后运行。

        (*RunMcu)();                                 //运行!
mon51
2楼-- · 2019-12-24 06:20
我们原来的做法:把一段公司的名称代码的二进制数取反后,放到程序里。每次上电时,再取反,重新写入数组扇区。MCU内部的程序被COPY后,但公司的名称永远去不掉。当年LPC936的单片机就这样做的。现在STM32也这样做。
lfgc
3楼-- · 2019-12-24 08:28
高手,目的明确、
lfgc
4楼-- · 2019-12-24 10:21
mon51 发表于 2017-10-5 11:07
我们原来的做法:把一段公司的名称代码的二进制数取反后,放到程序里。每次上电时,再取反,重新写入数组扇 ...

这个真没有看懂,怎么去不公司名称。请详细指导一下、
gsq19920418
5楼-- · 2019-12-24 15:25
 精彩回答 2  元偷偷看……
skyxjh
6楼-- · 2019-12-24 16:26
放公司名称方便维权

一周热门 更多>