如何将程序中的单独某个函数写入到flash中的特定地址?就看有没有真大神在

2019-07-20 18:51发布

正在做远程升级,低功耗,所以不想完全升级整个程序,想做好公用部分(各种库),然后把功能函数单独写到某个特定地址,然后到时候只升级这一部分。查过keil,貌似只有把某一变量写到flash的特定地址,那函数该怎么写到特定地址?求原子哥和各位大神指点
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
cookles
2019-07-21 03:22
dengxiaojun12 发表于 2016-10-31 16:37
#pragma arm section code=".ARM.__at_0x8100000"
void task(void)
{

keil里面可以将一个.C文件单独写在一个特定地址,我试了一下,可行。原本想着把所有想要升级的部分都放在这个文件里,然后其它作为公用部分。可是经过测试发现,如果我把想要升级的部分的函数做了改动(仅仅改动某一个函数里面的内容,函数名什么的都不动),两者生成的HEX文件做对比,发现公用的那部分程序也发生了变化。我知道开头的中断向量表部分肯定会变,我是说中断向量表后面的真正公用程序部分也会因为这个函数的长度变化而变化。哎,麻烦了

一周热门 更多>