TI中文支持网
TI专业的中文技术问题搜集分享网站

tms320f28069 程序运行问题

现在用的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运行不正常的案例

赞(0)
未经允许不得转载:TI中文支持网 » tms320f28069 程序运行问题
分享到: 更多 (0)