Microchip
直播中

徐晨曦

7年用户 186经验值
私信 关注
[问答]

如何计算路易吉的地址?

亲爱的,我正在开发一个程序,包含一些康斯坦蒂想要分配我的程序在内存地址的所有常量。阅读手册我注意到有可能使用以下内容:但是我如何计算路易吉的地址呢?我尝试过size of方法,它确实有效:有时计算数组的大小非常困难,因为它可以放在其他源文件中,但是我可以解决将所有常量放入文件(称为..c)中的问题。链接时间的地址?非常感谢你的帮助和合作。

回帖(2)

薄坤坤

2019-10-30 08:49:47
为什么不让链接器放置数据,然后用你所给的名字引用它。每一个对该名称的引用都将由链接器更新到正确的地址。声明的“const”部分将告诉编译器将值放入ROM中,然后从那里代码就可以对它们进行寻址。让编译器和链接器为你做这项工作。苏珊
举报

薛珊珊

2019-10-30 09:02:11
亲爱的苏珊,谢谢你的回答。你写到:为什么还要把它放在PSV?声明的“const”部分将告诉编译器将这些值放入罗密斯,你是对的。但是我正在开发一个引导加载程序,它应该位于DSPIC33EVGN266104 cpu的0x26000地址处。我试着开发两个应用程序:ApplicationProgram和BootLoader,我把BootLoader作为“可加载”项目包含在MPLX ApplicationProgram项目中。不幸的是,当程序从BootLoader跳到ApplicationProgram时,它在ApplicationProgram的resetPRI例程期间崩溃(StackError陷阱)。整整一周,我都试图修复这个问题,但没有成功(我真的不明白发生了什么:似乎CPU推动奇数返回在执行RCALL语句时在堆栈中装入。当然,所有中断都被禁用了。因此,我决定开发一个包含Bootloader和Apple程序的应用程序。ApplicationProgram位于正常位置,而BootLoader应该位于flash的末尾。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分