打印
[Kinetis]

如何调用RAM中的函数(__ramfunc) cortex-M4 IAR

[复制链接]
4925|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
m__dd|  楼主 | 2013-12-16 19:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
n = code_relocate_end - code_relocate;
                while (n--)
                        *code_relocate_ram++ = *code_relocate++;
上面是IAR中运行main()函数之前的一小段代码,将flash中的函数代码复制到RAM中。
问题来了:如何在RAM中寻址呢?(即如何在RAM中找到这段代码?)。编译器只知道这段代码存放在RAM中的大致区域(.icf中给的)。这里又不像中断向量表复制那样,最后有个重定向!

相关帖子

沙发
m__dd|  楼主 | 2013-12-17 09:52 | 只看该作者
大婶们你们还在等什么?

使用特权

评论回复
板凳
FSL_TICS_ZJJ| | 2013-12-17 10:41 | 只看该作者
你好,关于这个问题,您可以先参考这个帖子中文档:
https://bbs.21ic.com/forum.php?mod=viewthread&tid=646512
在第5页,有个kinteis的启动分析,讲的非常详细。

使用特权

评论回复
地板
m__dd|  楼主 | 2013-12-17 19:22 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-12-17 10:41
你好,关于这个问题,您可以先参考这个帖子中文档:
https://bbs.21ic.com/forum.php?mod=viewthread&tid=64 ...

先谢了.不过,它没有讲当调用此函数时PC是如何取指令,跳转的。函数的入口地址编译器是给出的,但是函数块复制到RAM的地址,是程序运行后才确定。

使用特权

评论回复
5
m__dd|  楼主 | 2013-12-23 13:42 | 只看该作者
没人关心这个问题吗?

使用特权

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

本版积分规则

11

主题

79

帖子

0

粉丝