TIwilliam hill官网
直播中

傅姁妮

7年用户 180经验值
私信 关注

请问如何在程序运行时将.cnit段的数据从FLASH复制到RAM中运行?怎么操作?

本帖最后由 一只耳朵怪 于 2018-6-13 16:56 编辑

程序从FLASH运行时,我使用MEMCOPY()方式COPY了RAMfus段的程序到RAM中,程序可以正常跑。现在我想把.cnit段的内容也复制到RAM中运行。发现使用MEMCOPY()方式好像不行,这样操作后连程序都没办法跑起来。之前也试过参考ti例程中将所有代码放入RAM运行的方法,但是发现这样编译器无法链接到我自己写的一个lib文件。无法对Lib文件进行编译,程序一样跑步起来。

回帖(5)

胡红枚

2018-6-13 05:37:48
请查看附图中说明
举报

傅姁妮

2018-6-13 05:53:15
引用: oiewjrj 发表于 2018-6-13 05:37
请查看附图中说明

你好,这样做是不是在主程序里还需要memcopy()函数将.text搬移到RAM中去呢?
举报

傅姁妮

2018-6-13 06:11:11
引用: oiewjrj 发表于 2018-6-13 05:37
请查看附图中说明

你好,这样做是不是在主程序里还需要memcopy()函数将.text搬移到RAM中去呢?
举报

李秋年

2018-6-13 06:24:28
引用: sczclever 发表于 2018-6-13 05:53
你好,这样做是不是在主程序里还需要memcopy()函数将.text搬移到RAM中去呢?

不使用memcopy搬移的话,text代码仍然在Flash中,运行时仍是在Flash中运行。在memcopy后运行text代码,才能在RAM中运行。你也可以参考下边一种整体搬移的方法,效果是一样的:http://www.ti.com/mcu/docs/litabsmultiplefilelist.tsp?sectionId=96&tabId=1502&literatureNumber=spraau8&docCategoryId=1&familyId=4
举报

更多回帖

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