加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSSRSS-巴斯仪表网
您当前的位置:首页 > 电子发烧 > 单片机学习

DSP 上电自举调试经验

时间:2013-09-08  来源:123485.com  作者:9stone

   以下DSP上电自举调试经验的前提:
   采用的是MP/MC=0的模式,采用ROM中固化的bootloader,flash映射在数据空间,曾经烧写过两类flash:Am29DL400B和SST39LF/VF200A/400A/800A。
1、烧写flash:
   关于flash的烧写程序,很容易出错的是两点:无法正常擦写,不知道是否正确写入。
   烧写flash要严格按照flash芯片的命令顺序:以Am29DL400B的写单元为例:555(地址) AA(发数据)——2AA 55—— 555 A0——PA PD
   其实555 AA都是命令,并不是真的在flash芯片的555地址写入数据AA,只是flash的命令,只有到PA PD时候,才是真在PA的地址写数据PD。而且对于这款flash,命令的最高位是忽略的。

   如果flash无法擦除和写入,可以考虑:降低DSP工作频率,使得读写时序满足flash的 datasheet的要求;检查是否按照datasheet的发命令顺序,一般是先reset再Chip Erase再Program;再就是用示波器测试一下,看看写信号和片选信号和数据是否都到达Flash芯片,测试时,可以用一个循环一直写flash,如果这些都正常,就是你的写时序出问题了。

    看看写时序是否满足Flash的写周期时间要求,等待周期是多少,写周期后的等待时间是多少,也要看读写该芯片应该插入多少等待(SWWSR寄存器)。实在不成的话,写Flash时把时钟降下来。

   不知道是否正确写入flash,可以直接用仿真器,上电后先不打开project,添加GEL文件后就可以在ccs中看到data空间的数据了。如果是乱七八糟的数据,有可能是GEL文件中寄存器的设置不对,但是建议不要修改GEL文件中寄存器的默认值。此时可以打开烧写flash的project,运行到reset flash命令后就可以看到
 data空间的数据了。

2、上电自举:
   程序正确烧写进flash后一般上电是能够正常自举的,如果有问题的话首先应该查询写入的自举表是否正确。10AA ,SWWSR(推荐值7FFFH), BSCR(推荐值F800H)这三个标志写对了的话就继续检查程序入口XPC,程序入口地址,程序块长度、存放目标XPC、存放目标地址,这5个值任何一个有问题都无法正常自举。还有就是数据空间FFFFH地址的8000(自举表存放首地址)是否正确写入。
   建议烧写一个小的程序,比如说让XF脚产生方波的程序,在XF脚上加一个LED灯闪烁则表示自举成功。

PS:调试DSP的bootloader聪烧写flash到上电自举,确实会发生不少问题,需要仔细检查,最好阅读TI的开发手册中相关文档:比如TMS320VC5416 Bootloader (Rev. D).pdf


分享到:
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
栏目导航->单片机学习
  • 电子应用基础
  • 电源技术
  • 无线传输技术
  • 信号处理
  • PCB设计
  • EDA技术
  • 单片机学习
  • 电子工具设备
  • 技术文章
  • 精彩拆解欣赏
  • 推荐资讯
    使用普通运放的仪表放大器
    使用普通运放的仪表放
    3V与5V混合系统中逻辑器接口问题
    3V与5V混合系统中逻辑
    数字PID控制及其改进算法的应用
    数字PID控制及其改进
    恶劣环境下的高性价比AD信号处理数据采集系统
    恶劣环境下的高性价比
    栏目更新
    栏目热门