现在用的tms320f28069 这款芯片,程序在ram 仿真调试完毕以后,下载flash里运行怎么感觉这么多问题,不无法正常运行,
参考 motorware里的例子, 看他就是 用这个 #pragma CODE_SECTION(xxx_isr, "ramfuncs"); 把想运行的函数这样定义出来,
然后在主函数里 调用memCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);这个 copy到ram
我的cmd文件里 也是参考例子这样配置的,
ramfuncs : LOAD = BLF_ABC,
RUN = RAML0_1,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
LOAD_SIZE(_RamfuncsLoadSize),
PAGE = 0
请问还要注意什么,现在这样离线运行就乱的, 什么原因啊,该如何解决?
mangui zhang:
这个应该还要放到主函数的一定位置
现在用的tms320f28069 这款芯片,程序在ram 仿真调试完毕以后,下载flash里运行怎么感觉这么多问题,不无法正常运行,
参考 motorware里的例子, 看他就是 用这个 #pragma CODE_SECTION(xxx_isr, "ramfuncs"); 把想运行的函数这样定义出来,
然后在主函数里 调用memCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);这个 copy到ram
我的cmd文件里 也是参考例子这样配置的,
ramfuncs : LOAD = BLF_ABC,
RUN = RAML0_1,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
LOAD_SIZE(_RamfuncsLoadSize),
PAGE = 0
请问还要注意什么,现在这样离线运行就乱的, 什么原因啊,该如何解决?
mangui zhang:
这个应该还要放到主函数的一定位置
现在用的tms320f28069 这款芯片,程序在ram 仿真调试完毕以后,下载flash里运行怎么感觉这么多问题,不无法正常运行,
参考 motorware里的例子, 看他就是 用这个 #pragma CODE_SECTION(xxx_isr, "ramfuncs"); 把想运行的函数这样定义出来,
然后在主函数里 调用memCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);这个 copy到ram
我的cmd文件里 也是参考例子这样配置的,
ramfuncs : LOAD = BLF_ABC,
RUN = RAML0_1,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
LOAD_SIZE(_RamfuncsLoadSize),
PAGE = 0
请问还要注意什么,现在这样离线运行就乱的, 什么原因啊,该如何解决?
mangui zhang:
这个应该还要放到主函数的一定位置
现在用的tms320f28069 这款芯片,程序在ram 仿真调试完毕以后,下载flash里运行怎么感觉这么多问题,不无法正常运行,
参考 motorware里的例子, 看他就是 用这个 #pragma CODE_SECTION(xxx_isr, "ramfuncs"); 把想运行的函数这样定义出来,
然后在主函数里 调用memCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);这个 copy到ram
我的cmd文件里 也是参考例子这样配置的,
ramfuncs : LOAD = BLF_ABC,
RUN = RAML0_1,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
LOAD_SIZE(_RamfuncsLoadSize),
PAGE = 0
请问还要注意什么,现在这样离线运行就乱的, 什么原因啊,该如何解决?
Seven Han:
在你的C文件中应该有外部变量的申明。如下
extern Uint16 RamfuncsLoadStart; extern Uint16 RamfuncsLoadEnd; extern Uint16 RamfuncsRunStart;
函数调用:
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
InitFlash();
现在用的tms320f28069 这款芯片,程序在ram 仿真调试完毕以后,下载flash里运行怎么感觉这么多问题,不无法正常运行,
参考 motorware里的例子, 看他就是 用这个 #pragma CODE_SECTION(xxx_isr, "ramfuncs"); 把想运行的函数这样定义出来,
然后在主函数里 调用memCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);这个 copy到ram
我的cmd文件里 也是参考例子这样配置的,
ramfuncs : LOAD = BLF_ABC,
RUN = RAML0_1,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
LOAD_SIZE(_RamfuncsLoadSize),
PAGE = 0
请问还要注意什么,现在这样离线运行就乱的, 什么原因啊,该如何解决?
guoz:
回复 Seven Han:
这些肯定都注意到了,不然编译都不过啊,我在InitPeripheralClocks() 初始化后就做的 MemCopy,
还是不行啊
现在用的tms320f28069 这款芯片,程序在ram 仿真调试完毕以后,下载flash里运行怎么感觉这么多问题,不无法正常运行,
参考 motorware里的例子, 看他就是 用这个 #pragma CODE_SECTION(xxx_isr, "ramfuncs"); 把想运行的函数这样定义出来,
然后在主函数里 调用memCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);这个 copy到ram
我的cmd文件里 也是参考例子这样配置的,
ramfuncs : LOAD = BLF_ABC,
RUN = RAML0_1,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
LOAD_SIZE(_RamfuncsLoadSize),
PAGE = 0
请问还要注意什么,现在这样离线运行就乱的, 什么原因啊,该如何解决?
jiangfeng li40:
回复 guoz:
跑不正常不一定是CMD的问题,加测试代码,验证程序在大概在哪里跑飞
1,如果都没有进main函数,cmd配置的问题。程序加载的不对。
2,如果进入到main函数,跑会跑飞,查看在哪里跑飞的。
3,可以通过点灯老判断程序执行到哪里。
4,ram调试正常不能说明程序写的就没有问题。有很多ram调试正常,烧到flash运行不正常的案例