您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> [求助]烧录到FLASH的程序和在线仿真的程序主... 
本帖共有203个阅读者
发表帖子 发表投票 回复主题
[求助]烧录到FLASH的程序和在线仿真的程序主要区别是什么?
wyp0103(论坛新手)
wyp0103
头衔:社区公民
帮派:无帮无派
帖数:5
金钱:146
积分:8
注册时间:2016/8/8
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[求助]烧录到FLASH的程序和在线仿真的程序主要区别是什么?
如题,之所以想问这个问题是因为我现在遇到了一个现象:我的程序在线仿真的结果和烧录到DSP后的结果不一致,具体情况描述如下
目的:使用BF706驱动AD9957发出射频信号
硬件环境:官方BF706-EZ-MINI评估板和AD9957板卡,其中这两个板卡使用杜邦线连接需要调用的接口
测试现象:
①在线仿真的时候,成功调用BF706的SPI口对AD9957进行寄存器配置,并通过SPORT口成功对接AD9957的SPORT相关接口,成功发射出了预期信号
②将源程序下载烧录到BF706的FLASH中,可以成功对AD9957的接口进行配置(因为观测到了9957的PDLCK时钟有输出,且与预期值相同),9957接收到了的SPORT接口的数据,但是通过频谱仪观测发现输出信号异常,具体异常不好描述,但是可以肯定输出的信号与预想(仿真)的不一致,感觉有点像速度不匹配

希望有经验的人士能给我个排查问题的方向,我记得在单片机中有把FLASH数据全部读取到内存后再运行程序防止速度不够这种操作,不知道ADSP有没有这种操作

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2021/3/14 17:57:32
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
我没有遇到过这种情况,不过以我在BF533上的经验来看,你可以从这几个方面去看看。

1. 看看生成ldr时,加载的初始化文件里面的配置,这些配置会最先被配置

2. 代码有些地方是不是被优化掉了,比如延时


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2021/3/15 21:05:31
wyp0103(论坛新手)
wyp0103
头衔:社区公民
帮派:无帮无派
帖数:5
金钱:146
积分:8
注册时间:2016/8/8
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
谢谢回复,问题算是初步解决了,解决方式是加入了BF706的初始化文件,这样烧录后的表现就和仿真一样了。
忽略的原因之一是之前在生成ldr时并没有使用该初始化文件也能生成成功,并且SPI接口运行正常就没有多想,其次是因为我使用的是CCES-2.1版本,在安装目录没有找到BF706的初始化文件。
今天我就抱着尝试的心态下载了最新的cces,果然在安装目录找到了706的初始化文件,果断加入到初始化配置的选项中,终于看到理想中的频谱了。

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2021/3/16 16:12:07
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154182 Call, 1 Queries, Processed in 0.031250 second(s),