CCS调试是出现 No source available for 0x8008时,28335DSP解决办法
(2018-01-05 18:15:52)
标签:
dsp28335ti |
分类: 学习 |
最近在CCS6.2中,用例程改写程序,在RAM中调试没问题,换成TI官方的F28335.CMD后烧入FLASH后就出现No
source available for 0x8008,不能正常运行程序
RUN = RAML0,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
PAGE = 0
我看了一下8008地址在RAML0
: origin = 0x008000, length = 0x001000
内,
而此地址又有如下
ramfuncs
: LOAD = FLASHD,
问题应该出在ramfuncs
再找 发现#pragma CODE_SECTION(InitFlash,
"ramfuncs");
也就是说InitFlash 这个函数未能正常执行,因为此函数需要拷贝到RAM才能运行,而程序未执行拷贝
所以在主程序中加上:
extern Uint16 RamfuncsLoadStart;//FASH地址
extern Uint16 RamfuncsLoadEnd;
extern Uint16 RamfuncsRunStart;//RAM目标地址
MemCopy(
&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);
MemCopy函数TI提供的例程中,把.C文件放进去即可
这样后就不报错了,程序正常运行

加载中…