![]() |
|
||||||||||||||
| . 网站首页 . 产品新知 . 业界新闻 . 解决方案 . 技术文库 . 在线学院 . 活动访谈 . 下载中心 . 电子商城 . 邮购须知 . 论坛 . | ||
|
||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 基于TMS320DM642的编程 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
作者:胡嘉凯 蒋… 文章来源:互联网 点击数: 更新时间:2006-11-28 ![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
作者:胡嘉凯 蒋建国 齐美彬 摘 要:嵌入式DSP系统在独立运行时需要把用户代码从外部Flash中加载到系统RAM运行,包括了Flash的编程及上电加载两项技术,是DSP系统开发中的重点和难点。本文采用一种在系统编程方法对Flash编程,巧妙地利用JTAG仿真器实现系统在线调试及编程,无需进行COFF到HEX的数据格式转换。
图1 系统上电的工作步骤 图2 程序流程 Flash编程方法
二次加载和Bootloader 要保证用户程序的正确运行,仅把程序写入Flash是不够的,必须保证上电后,程序能够从Flash中正确恢复到RAM。系统上电工作步骤如图1所示。 DSP首先自检,得到程序的加载模式。在C6000中主要有2种模式,一种是主机加载模式,也即DSP从0x0000 0000开始执行程序;另一种是ROM加载模式,该模式又有8位、16位、32位几种,不同的DSP略有不同,这里选用8位ROM模式。工作时,DSP先从地址0x9000 0000开始,把0x9000 0000~0x9000 0400这1K(在C62xx中是64K)的数据搬到0x0000 0000~0x0000 0400,然后再从0x0000 0000开始执行程序。这一次加载由DSP自行完成,但是1K的程序作为用户程序显然不够,因此,这1K的程序要做成加载器,也就是手工写的Bootloader,利用它把用户程序从Flash搬入RAM。加载器搬运用户程序又是一次加载,因此把这个过程统称为二次加载。 Bootloader要完成两项功能,第一,把其它程序搬到指定的地址;第二,跳转到用户程序入口,这里要先修改ISP,再跳转到复位中断,因此在Bootloader的最后总是一条跳转指令。由于Bootloader在Flash中的位置是0x9000 0000~0x9000 0400,而Bootloader又是放在用户程序里的,因此,为了方便烧写程序把Bootloader写到该位置,这里在用户程序的.cmd文件中把bootloader定位在程序段的起始位置。 编程方法实现
表2 程序的地址分配 注意事项 对于不同的DSP,不同的Flash,在实现时可能不一样,这里有几个问题必须注意: (1) 文件1和文件2的.cmd文件要分配好各自的地址,地址空间不能重叠。 (2) 不是每个DSP都可以实现在系统编程,如TMS320C6204就不行,而C621x,C64x等就可以。原因在于Flash在编程时速度较慢,一般为ms级,所以需要WE#信号的有效时间较长。但是,一般的WE#有效时间都只有几十ns,这么短的时间不足以让DSP把内容写进Flash。C64x等之所以能实现在系统编程,是因为在编程时DSP自动延长了编程的有效时间。 (3) 如果用户程序中不含加载器程序,那么用户程序的目的地址就不能从Flash的前1K地址开始。 (4) 不同型号Flash的编程时序和指令可能会有所不同,编程之前要弄清该Flash的编程时序和指令。如果Flash要求有偏移地址,就需要加上基地址。 (5) 对于程序的未初始化段不必烧入Flash,可以参考.map文件,里面对于各段有详细说明。 结语 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 欢迎点击进入:"61IC中国电子在线"官方网站 文章录入:admin 责任编辑:admin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 基于DSP控制的三电平变频器的 基于DSP+μC/OS-Ⅱ的励磁系 基于TMS320F2812的视频图像采 一种长序列小波变换快速算法 基于DSP的图像旋转算法数据调 基于DSP的高动态GPS接收机关 DSP软件向桌面和嵌入式系统挑 基于DSP的液晶模块的显示原理 DSP和FPGA在汽车电子中的广泛 DSP与慢速设备接口的实现 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|