DSP程序在RAM中正常运行,FLASH烧写不行
我目前在调试板子的RS232通讯,用的控制芯片是DSP2812,程序在线调试也就是RAM调试时没有问题,通讯正常,但是当我烧写flash后,同样的程序通讯就不正常了,期间任何错误都没有弹出,提示都是成功的,请问有可能是哪些方面的原因导致的? 求大神们指导 这个问题很常见的 你烧写进去之后是通讯失败还是直接没有反应我曾经遇到的问题是 烧写后上电第一次通讯失败 复位一下就正常工作了
如果烧写后直接没有反应 你可以将flash中的代码搬移到RAM中运行
https://bbs.21ic.com/icview-556044-1-1.html
看看我的分享 本帖最后由 zhangmangui 于 2013-8-31 23:23 编辑
这个问题很常见的 你烧写进去之后是通讯失败还是直接没有反应
我曾经遇到的问题是 烧写后上电第一次通讯失败 复位一下就正常工作了
如果烧写后直接没有反应 你可以将flash中的代码搬移到RAM中运行
https://bbs.21ic.com/icview-556044-1-1.html
看看我的分享 楼上的兄弟 问题解决了吗 我的是DSP 28335 。RAM运行正常,烧写到flash之后 ,我再程序当中加了一个方波的程序,烧写完后在示波器上可以测出方波,但是我的串口程序部分和上位机通信不成功,(我的方波程序运行就代表我的串口程序正在运行,这个事没有异议的),还有有的变量是 -1#QNAN,哪位大神能给解释下是什么原因吗? zhangmangui 发表于 2013-8-31 23:16 static/image/common/back.gif
这个问题很常见的 你烧写进去之后是通讯失败还是直接没有反应
我曾经遇到的问题是 烧写后上电第一次 ...
楼上的兄弟 问题解决了吗 我的是DSP 28335 。RAM运行正常,烧写到flash之后 ,我再程序当中加了一个方波的程序,烧写完后在示波器上可以测出方波,但是我的串口程序部分和上位机通信不成功,(我的方波程序运行就代表我的串口程序正在运行,这个事没有异议的),还有有的变量是 -1#QNAN,哪位大神能给解释下是什么原因吗?
wufawutian8高 发表于 2013-9-1 21:13 static/image/common/back.gif
楼上的兄弟 问题解决了吗 我的是DSP 28335 。RAM运行正常,烧写到flash之后 ,我再程序当中加了一个方 ...
你按照我3楼分享的链接将flash中的调到ram中运行看看结果
串口不成功 复位一下 在串口通信 不知道是否合理 我的是FLASH下载成功以后,程序应该在运行,因为相关的LED灯是亮的,只是通讯不正常。
此外三楼说的把FLASH程序在RAM中运行,也试过,还是不行。谢谢大家帮忙。 zhangmangui 发表于 2013-9-1 21:44 static/image/common/back.gif
你按照我3楼分享的链接将flash中的调到ram中运行看看结果
串口不成功 复位一下 在串口通信 不知道 ...
我的程序开始的时候就已经把让程序搬移到RAM中运行了就是从flash搬到 RAM 了 ?我的问题就是两个
(1)为什么我的串口部分和上位机通讯的程序在运行 ,上位机却没有反应?
(2)为什么我flash在线调试的时候 发现我的很多变量的值都是 -1#QNAN,上网说是程序计算出来无效值,但是我的RAM中很正常啊 ,这与在flash中运行有关吗?还是与配置有关?还是别的原因? HD21425 发表于 2013-9-2 07:51 static/image/common/back.gif
我的是FLASH下载成功以后,程序应该在运行,因为相关的LED灯是亮的,只是通讯不正常。
此外三楼说的把FLASH ...
问题解决了吗你的串口是干什么用的? 没有解决,SCI外接RS232,用于跟上位机通讯 HD21425 发表于 2013-9-2 13:56 static/image/common/back.gif
没有解决,SCI外接RS232,用于跟上位机通讯
还没解决啊 zhangmangui 发表于 2013-9-2 14:35 static/image/common/back.gif
还没解决啊
没有解决啊,求大神指导呢 HD21425 发表于 2013-9-2 07:51 static/image/common/back.gif
我的是FLASH下载成功以后,程序应该在运行,因为相关的LED灯是亮的,只是通讯不正常。
此外三楼说的把FLASH ...
奇怪了 我的也是和上位机通讯 也是用的SCI难道有可能是是出现了同样的原因我的还出现了 数据都是QNAN的情况 不知道什么原因 wufawutian8高 发表于 2013-9-2 20:05 static/image/common/back.gif
奇怪了 我的也是和上位机通讯 也是用的SCI难道有可能是是出现了同样的原因我的还出现了 数据都是QNAN ...
难道是共性问题,我想了好久也没想通,因为没有任何的错误提示,无从下手的感觉! HD21425 发表于 2013-9-2 21:15 static/image/common/back.gif
难道是共性问题,我想了好久也没想通,因为没有任何的错误提示,无从下手的感觉! ...
我刚发现我的定义的发送函数竟然没有执行 不知道什么原因 难道和CMD文件有关 ?
/*****************************/
/*定义发送函数 */
/*****************************/
void scib_xmit(int a)
{
while (ScibRegs.SCIFFTX.bit.TXFFST != 0) {}
ScibRegs.SCITXBUF=a;
}
/*****************************/这个在烧写的程序中根本就不执行什么原因? zhangmangui 发表于 2013-9-2 14:35 static/image/common/back.gif
还没解决啊
我刚发现我的定义的发送函数竟然没有执行 不知道什么原因 难道和CMD文件有关 ?
/*****************************/
/*定义发送函数 */
/*****************************/
void scib_xmit(int a)
{
while (ScibRegs.SCIFFTX.bit.TXFFST != 0) {}
ScibRegs.SCITXBUF=a;
}
/*****************************/这个在烧写的程序中根本就不执行什么原因?
wufawutian8高 发表于 2013-9-3 10:50 static/image/common/back.gif
我刚发现我的定义的发送函数竟然没有执行 不知道什么原因 难道和CMD文件有关 ?
/********************** ...
你好像是使用的FIFO模式,而且选择了使用查询方式发送数据,我一般都是用中断方式发送数据。针对你的问题:你是说不执行整个中断函数呢? 还是没有执行中断里面的语句? 如果是前者,那应该是没有被调用,应该是程序问题,跟CMD关系不大吧。
你是FLASH在线调试? 加断点观察? wufawutian8高 发表于 2013-9-3 11:02 static/image/common/back.gif
我刚发现我的定义的发送函数竟然没有执行 不知道什么原因 难道和CMD文件有关 ?
/********************** ...
与CMD肯定没关系 你确定调用了就可以 zhangmangui 发表于 2013-9-3 11:31 static/image/common/back.gif
与CMD肯定没关系 你确定调用了就可以
我的却用的是FIFO模式用的查询! 但是我的RAM 调试的时候 这个发送函数还是运行的就烧写进去之后 flash在线加断点发现就单独这个函数不运行不知道哪里出错了
/*****************************/
/*定义发送函数 */
/*****************************/
void scib_xmit(int a)
{
while (ScibRegs.SCIFFTX.bit.TXFFST != 0) {}
ScibRegs.SCITXBUF=a;
}
/*****************************/
就单独这个发送函数不运行了 zhangmangui 发表于 2013-9-2 14:35 static/image/common/back.gif
还没解决啊
终于找到原因了 原来是我的CMD文件配置错误,档从RAM到flash的时候,换成F28335.CMD文件时候,可能是我的全局变量定义的数组比较大,所以编译的时候出现错误说 RAML4 的空间只有1000,而你的ebss段需要1490,所以我就自作聪明的吧 .ebss段改到FLASH B中去了! 所以出现我的变量都是 -1#QNAN,也就是无效的数,而我的串口发送程序需要一个和一个数 float a 建立关系,数 float a 一直是一个无效的数,那么这个函数也就不被调用了!
后来查资料是这么说的 ” 未初始化的数据 .ebss存储单元可以在程序的执行过程中被改变和操作,与程序代码或者常量不同的是,未初始化的数据或者变量必须位于易失性的存储区之中,例如RAM“
看来CMD文件一般不要改啊,一不小心就给改错了!
页:
[1]
2