Part Number:CCSTUDIO-C2000
您好,我对FLASH和RAM的运行的概念比较模糊,只是清楚程序在RAM中运行比在FLASH中运行更快。以C2000DSP为对象,有几个地方想请教一下:
我怎样能知道一个工程是在RAM还是在FLASH中运行?我该怎样配置能让一个程序初始就加载在RAM中或FLASH中?Debug的时候程序都是在RAM中执行么?
这一块不知道TI有没有相关的参考文件与资料,非常感谢您能为我提供一些帮助和思路:)
Green Deng:
你好:
首先明确,RAM是掉电丢失内存,FLASH是掉电不丢失内存。
1、
yeyuan zhu 说:我怎样能知道一个工程是在RAM还是在FLASH中运行?
如果工程在没有连接仿真器的情况下就能运行,说明程序是运行在flash中的,这是最直观的。
其余的就看你的工程中的.cmd文件了,两种运行模式都需要对应的.cmd文件支持。直接看.cmd文件的名称就能直观地知道对应的是那种模式。
2、
yeyuan zhu 说:我该怎样配置能让一个程序初始就加载在RAM中或FLASH中?
参考问题1的回复,以及这个帖子:https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_C2000_faq—ram-flash
其实简单来说就是更换cmd文件就行。如果有类似delay_us之类的函数,还要求添加memcpy函数用于将代码从flash搬移到ram运行。
3、这个也是跟cmd文件相关,对应的cmd程序就运行在对应的内存。
yeyuan zhu 说:Debug的时候程序都是在RAM中执行么?
,
yeyuan zhu:
非常感谢您耐心的回答~
,
Green Deng:
客气了!
,
yang huang:
您好!我想请问一下,就是我目前程序运行在Flash中,我想要在程序运行时对程序本身所在的Flash区域进行擦除和重新写入,请问这个是可以实现的吗?
,
Green Deng:
看到你的新帖了,在新帖中回复,这个帖子就先关闭了