关于把程序烧写进c2000launchpad的FLASH中无**常运行的问题?

2019-08-07 18:58发布

同一个程序在DEBUG模式下,在RAM中正常运行,但是把工程改为Release模式烧写程序到Flash中,就不能运行了.

我把同一个流水灯的程序,在Debug模式下正常闪烁z,但是在release模式下烧写,灯就不再闪烁了,这是为什么呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
xichengmadia
1楼-- · 2019-08-08 00:22
是不是同一个DELAY_US(100000);函数在ram和flash中运行不一样?
huangfeng33
2楼-- · 2019-08-08 01:39
程序运行调用的是相对地址,不是绝对地址,所以装载到RAM中可以正常运行。不同的单片机指令体系不同,这个跳转地址大小可能有限制,也有短跳转和长跳转之说。
我会爱你的
3楼-- · 2019-08-08 06:53
这问题我刚解决,你看是不是这两个原因:
1,定义了在RAM中运行的函数没有拷贝到RAM中运行。解决办法是用TI给的源程序里面有一个MEMCOPY函数将flash中的函数搬移到RAM。
2,没有设置等待时钟,就是flash速度更不上CPU速度。解决办法是些等待时钟,在系统初始化那个函数里面有。
zhangmangui
4楼-- · 2019-08-08 07:32
我会爱你的 发表于 2013-12-2 14:51
这问题我刚解决,你看是不是这两个原因:
1,定义了在RAM中运行的函数没有拷贝到RAM中运行。解决办法是用TI ...

http://bbs.21ic.com/icview-624892-1-1.html
先看看debug和release的区别  
我会爱你的
5楼-- · 2019-08-08 08:34
 精彩回答 2  元偷偷看……
zhangmangui
6楼-- · 2019-08-08 14:22
我会爱你的 发表于 2013-12-3 23:20
什么意思啊?

给你的连接中讲解了debug和release的优化程度等问题

一周热门 更多>