做个项目中采用TI的28335,但是碰到了一个问题:程序用仿真器在线调试已经正常,但是烧写到Flash中执行时输出一直不对,可以测试程序肯定烧写进去了,并且试过烧写别的简单点的程序执行是没有问题的。这种状况主要可能是哪些问题造成的?
Hank Zhao:
程序在RAM和flash中运行的主要区别是,程序在Flash中执行所花费的时间要比在RAM中更多,而且和Flash操作相关的代码不能在Flash中执行。
做个项目中采用TI的28335,但是碰到了一个问题:程序用仿真器在线调试已经正常,但是烧写到Flash中执行时输出一直不对,可以测试程序肯定烧写进去了,并且试过烧写别的简单点的程序执行是没有问题的。这种状况主要可能是哪些问题造成的?
Ling Zhu2:
回复 Hank Zhao:
现在具体的情况是这样,程序的主要功能是进行音频处理,从软件功能上可以认为是两部分:一是通过编码器获取音频数据和输出处理后的音频;二是调用处理函数对音频数据进行处理计算。第一部分中利用DMA传输数据,DMA传输一帧后触发中断调用第二部分程序。整个程序在线调试一切正常,烧写Flash时CMD文件中设置运行位置为RAM,但烧写后运行不正常,测试只将第一部分(音频输入输出程序)或只将第二部分(程序中固化一段输入数据)烧写进Flash执行都是正常的。
在自己做的硬件板子上和闻亭的28335开发板上实验现象是一样的
做个项目中采用TI的28335,但是碰到了一个问题:程序用仿真器在线调试已经正常,但是烧写到Flash中执行时输出一直不对,可以测试程序肯定烧写进去了,并且试过烧写别的简单点的程序执行是没有问题的。这种状况主要可能是哪些问题造成的?
囧:
回复 Ling Zhu2:
你的boot模式设置正确吗?TRST脚有拉低了吗?
做个项目中采用TI的28335,但是碰到了一个问题:程序用仿真器在线调试已经正常,但是烧写到Flash中执行时输出一直不对,可以测试程序肯定烧写进去了,并且试过烧写别的简单点的程序执行是没有问题的。这种状况主要可能是哪些问题造成的?
Ling Zhu2:
回复 囧:
这个应该没有问题,boot模式和TRST脚如果不正确烧写的程序就不能正常加载执行,那烧写其他程序应该也不能正常执行。
做个项目中采用TI的28335,但是碰到了一个问题:程序用仿真器在线调试已经正常,但是烧写到Flash中执行时输出一直不对,可以测试程序肯定烧写进去了,并且试过烧写别的简单点的程序执行是没有问题的。这种状况主要可能是哪些问题造成的?
Ling Zhu2:
回复 囧:
目前只将第一部分(音频输入输出程序)或只将第二部分(程序中固化一段输入数据)烧写进Flash执行都是正常的。烧写其他程序也是正常的。
做个项目中采用TI的28335,但是碰到了一个问题:程序用仿真器在线调试已经正常,但是烧写到Flash中执行时输出一直不对,可以测试程序肯定烧写进去了,并且试过烧写别的简单点的程序执行是没有问题的。这种状况主要可能是哪些问题造成的?
Ling Zhu2:
回复 囧:
怀疑程序中两个函数的中断调用或执行时序有没有问题,不知道仿真器调试和烧写执行这点会不会有所不同?或者是某部分数据或代码从Flash加载到RAM时的重定位会不会有问题。
做个项目中采用TI的28335,但是碰到了一个问题:程序用仿真器在线调试已经正常,但是烧写到Flash中执行时输出一直不对,可以测试程序肯定烧写进去了,并且试过烧写别的简单点的程序执行是没有问题的。这种状况主要可能是哪些问题造成的?
囧:
回复 Ling Zhu2:
仿真器调试和单独运行没有区别,你所说的两部分程序是两个项目吗?有两个main函数还是一个main函数?
做个项目中采用TI的28335,但是碰到了一个问题:程序用仿真器在线调试已经正常,但是烧写到Flash中执行时输出一直不对,可以测试程序肯定烧写进去了,并且试过烧写别的简单点的程序执行是没有问题的。这种状况主要可能是哪些问题造成的?
Ling Zhu2:
回复 囧:
一个main函数,两部分程序是两个子函数。
做个项目中采用TI的28335,但是碰到了一个问题:程序用仿真器在线调试已经正常,但是烧写到Flash中执行时输出一直不对,可以测试程序肯定烧写进去了,并且试过烧写别的简单点的程序执行是没有问题的。这种状况主要可能是哪些问题造成的?
囧:
回复 Ling Zhu2:
两个是用的同样的CMD文件吗?建议查一下copy到RAM去的部分有没有地址重复或者不够。
TI中文支持网



