DSP烧写错误原因_第1页
DSP烧写错误原因_第2页
DSP烧写错误原因_第3页
DSP烧写错误原因_第4页
DSP烧写错误原因_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 DSP 程序烧写后 带仿真器程序能正常运行 通信测试是对的 但拔下仿真器后就出错了 请问是什么原因 答 串口通信连着仿真器说明有硬件电气连接 使用无源 rs232 转 485 接口跟 dsp 通信 的 接着仿真器就行 不接仿真器通信异常 然后把 485 的地和 dsp 电源的地共起来 就 好了 2 DSP 使用仿真器很正常工作 但是通过烧写到 ROM 后 load 代码 到 DSP RAM 中后无法正常运行 答 首先检查你的烧写程序可有问题 有些烧写程序指定 test 代码长度 其次在代码上找问题 可以锁定在在线与烧写 cmd 文件的变化 烧写原理是什么 代码编 译为二进制或十六进制数 搬移进 rom 存储起始地址 长度确定没有问题 假设正确 检查能否在线对 rom 进行正常的擦除与读写 假如还是正确 检查硬件电路 这个就比较麻烦了 确定启动模式设置的正确 自举启动 要 dsp 外围电路的电压 时钟 模式选择 默认态确认正确 还有问题就是芯片自启动有问题了 3 我也出现过能仿真 但不能烧写的情况 解决方法 降低时钟频率 点击 FLASH 插件上的 View Config File 打开 VAR h 文件 将该文件中的 PLL PATIO CONST Set 0000h 改成 PLL PATIO CONST Set 0200h 存盘后 执行目录下的 Buildall bat 批处理文件 再重新启动 CCS 及 FLASH 插件 最大可能是 DSP 的 FLASH 烧掉了 这个烧掉不影响程序的仿真 我之前也是烧不进去 后来换了块芯片就好了 芯片的来源很重要 第二个问题是你在烧写程序时将 CMD 修改了没有 要跳过密保单元 你的 memory map 设置是否正确 还有如果烧写 flash 评估办上跳线是否正确 我用的时候 好几块评估板都 是可以 load programme 可以加载到 ram 中进行仿真 但是不能烧写道 flash 进行自动 运行 4 我也遇到这样的问题 同样郁闷 一个以前跑过的好好的程序 因为改了仿真器的配置 就出现了楼主所述问题 反复尝试 都是 如楼主所述 后来我是通过以下方法解决的 打开 Setup CCStudio v3 3 选择 F2407 XDS510 Emulator 设置 F2407 XDS510 Emulator 的属性 再设置 TMS320C24xx 0 的属性 5 我以前也遇到过 用如下的方法解决的 首先 degug reset DSP 然后 电路上硬件复位 即 reset 引脚处的复位 6 error Data verification failed at address 0 xxxxxx 前一段时间 Load Program 时总是出错 data verification failed at address 0 x81021FF4 Please verify target memory and memory map 有时多下载几次却又可以了 这个问题困扰了我好几天 后来才知道是 DSP 板子上的 SDRAM 坏了 从网上搜到的别人对这个错误的原因的解释 1 The RAM chip is damaged In this case the board has to be replaced 2 The access to the external memory is secure if CSM code security module is enabled To unlock CSM if not password protected go to the GEL menu in Code Composer Studio under GEL Code Security Module Unlock CSM This will give you access to the external RAM and allow CCS to load your code As a workaround use the Internal memory map option to load the executable code into the internal RAM 7 在调试硬件时 程序无法下载到存储器中 出现错误 data verification failed at address 0 x40 please verify target memory and 答 1 确定 CMD 文件没有问题 到底是 Flash 的 CMD 还是 Ram 的 2 用 TI 的历程尝试 判断是否是硬件问题 8 仿真器在线仿真正常 写入片子后工作不正常的问题 1 复位电路是否正常 2 晶振是否正常 3 最小系统电路是否正确 4 是否片子坏了 总结 1 程序肯定是对的 2 硬件方面 rom 和 FLASH 是否损坏 其次检查配置 电源 引脚配置 3 软件 CCS 的设置上 4 人为因素 烧写方法 cmd 修改 密保单元是否跳过 在在 TI DSP 开发板中烧写开发板中烧写 Flash 程序程序 实现在 FLASH 存储器烧写程序一般有以下三种方法 一是通过编程器下载烧写 二是通 过开发商提供的专门软件工具 在线仿真器烧写 三是自己编程通过 DSP 烧写 个人使用 的是合众达电子 SEED VPM642 开发板 在最新版本例程中提供了专用的烧写软件 SeedConvertTool exe 但为了实现通用的 FLASHBURN 烧写 我进行了一些尝试以便了 解程序烧录过程及运行情况 实现 Bootloader 自引导功能 除了需要生成可执行文件 out 还需要进行如下步骤 1 合理配置工程文件 pjt 需要添加一个 boot asm 文件 做搬移时一些初始化和跳转工作 另外工程中 cmd 文件也需要为 bootloader 保留空间 2 将添加了 boot asm 和修改 cmd 后重新生成的 out 文件转化为 hex 文件 这时需要一 个转换 cmd 文件 这个 cmd 文件与工程文件中 cmd 完全不同 前者是为了指明 flash 的 属性 大小 数据宽度 起始地址和产生文件名 以实现转换 out 文件为 flash 兼容的 hex 文件 不能混淆 3 最后通过 Flashburn 工具将 hex 文件写入 Flash 这时需要转换 cmd 文件 hex 文件 和 FBTC642 out 文件 介绍下各烧录中用到的文件 Flashburn FBTC out hex6x exe cdd 和 cmd 文件 作 用 1 FBTC out 文件 负责对 flash 的操作 比如 flash 的擦除 读 写等 这里主要看个人 板子上 flash 的型号 因为不同型号的 flash 它们的操作命令不一样 这样你就必须对 FBTC 工程进行修改 然后重新编译生成 out 文件 如 DM642 开发板使用的 FBTC 文件 在安装 ccs 的根目录下 boards evmdm642 flashburn FBTC642 2 hex6x exe 将用户工程生成的 out 文件转换为二进制文件的工具 这样 Flashburn 就 可以将 out 文件以二进制方式烧进 flash 中 3 Flashburn TI 的第三方软件公司 Software Design Sloutions 为 TI 的 DSP 用户编写的 Flash 烧写软件 给软件以 CCS 为基础 通过运行仿真程序 FBTC 将用户程序写入 Flash 中 4 cdd 文件 保存 Flashburn 的设置的 5 cmd 文件 指明 flash 属性 大小 数据宽度 起始地址和产生文件名 按照 flash 要求实现将 out 文件到二进制文件的转换 具体步骤 1 用户程序中添加 boot asm 文件 修改 cmd 文件中的 MEMORY 和 SECTION 部分 DSP BIOS 环境中直接通过配置 CDB 或者 TCF 文件中的 System MEM ISRAM 即 可 非 DSP BIOS 在 cmd 文件中添加一个名为 BOOT 的 section 位置为 0 x000 长度为 0 x400 在连接仿真器环境下编译生成可执行的 out 格式的 COFF 文件 2 使用 HEx6 exe 工具 将工程文件生成的 out 文件转换成为 HEX 的 ascii 格式的二进制 文件 a 编写一个 cmd 文件用于设置 hex6x exe 的参数 如果例程中存在 则可用记事本打开如下 SeedH264loopback out a memwidth 8 boot bootorg 0 x90000400 bootsection boot load 0 x90000000 ROMS FLASH org 0 x90000000 len 0 x400000 romwidth 8 files SeedH264Loopback hex b 生成二进制文件 两种方法 i 将 cmd 文件和 out 文件放在同一目录下 双击 convert bat 具体操作是将三个文件复制 到一起分别是 hex6x exe 和 cmd 以及 bat 在编辑修改其中的内容 改文件名 最后运 行批处理文件即可 ii 通过 windows 命令窗口键入命令进行转换 将 out 文件 cmd 文件 和 hex6x exe 文件 放在同一个文件夹内 如 C DSP BURN 在 dos 窗口中键入 cd C DSP BURN 将路径 改为 C DSP BURN 再键入 hex6x exe XX cmd 结果生成 XX hex 文件 在 DOS 下进入程序保存的目录 直接运行 hex6x exe 如 D ti myprojects a video process XY hex6x hex6x cmd 文件得到二进制文件 可以从 DOS 状态看到 此时就得到了 seedvpm642 vedioloop ahex hex 文件名可能不同 用于烧写的文件 注意 hex6x exe 的版本 如果版本太低 在转换过程中会出现问题 二 改写 FBTC 工程 这个 CCS 工程编译而成的文件主要是对 flash 的操作 其作用相当 于一个搬运工具 将 hex 文件由 PC 搬入 Flash 中 这里要注意自己的 CCS 版本和 flash 的型号 编译完成会得到一个 FBTC642 out 文件 对于不同的 DSP 系统板 TBTC 工程 主要修改 DM642teb h FBCmd c FBTC DM642 c 和 FBurnCmd c 等文件 三 打开开发板上电 启动 ccs 软件 加载 gel 文件并连接 connect 硬件仿真器 四 打开 FlashBurn 软件 重新对主界面中 Conversion Cmd File to burn Fbtc program file 的三个文件的路径重新设置 分别点击 Browser 按钮 找到事先创建的相应 目录下的三个文件 cmd hex FBTC642 out 然后保存关闭 cdd 文件 五 点击 flashburn 软件中的 Program 依次 download FBTC 下载 Erase Flash 擦 除 show memory 查看 Program flash 编程 完毕后拔出仿真器 关电源 重启即可成功实现烧写 更多介绍请见 烧写过程中遇到的问题 使用合众达电子 SEED VPM642 例程中 flashburn 程序需要用到的 FBTC 文件会出现 提示 06 29 06 11 35 02 Attempt to create Code Composer Studio CCS created OK Either I cannot load FBTC or the FBTC is not compatible with this version of FlashBurn Verify that the FBTC file is compatible with target and this version of FlashBurn 这是由于烧写所需要的文件存放路径不同引起的 因为合众达的工程师在开发这个例程的 时候保存配置文件是按照他自己的存放来保存的 F 改为你存放的例程文件夹目录地址 所以你需要修改 最方便的办法就是重新浏览各个配置文件的地址 然后利用 flashburn 打开 CDD 配置文件又会提示 06 30 06 12 53 44 Attempt to create Code Composer Studio CCS created OK Req FBTC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论