首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

芯片TMS320C5409的程序源代码

基于闪烁存储器的TMS320VC5409 DSP并行引导装载方法的代码

下面结合一个实例,说明利用hex500命令生成二进制数据自举表的方法。

(1)所编写的一个用户程序名为myblink.C,在编译链接成功后生成的输出文件名为myblink.out;程序空间的开始地址为0x1400h,程序执行的入口地址为0x144Fh。利用hex500工具,生成文件名为myblink.hex的二进制数据,hex500命令后添加如下条件:

mybilink.out ;要转换的.out文件

-a ;生成ASCII码的形式

-e 0x144Fh ;程序空间中程序运行的开始

地址

-boot ;转换成自举表的形式

-bootorg PARALLEL ;并行格式

-byte ;按字节分配地址

-memwidth 16 ;系统存储器字宽度为16位

-romwidth 16 ;ROM物理宽度为16位

-swwsr 0x7FFFh ;SWWSR设置软件等待周期

-bscr 0xF800h ;BSCR设置段开关控制寄存器值0xF800

-o myblink.hex ;输出的二进制数据文件名

(2)生成的进制数据文件myblink.hex的数据为:

0x10AA 0x7FFF 0xF800 0x0000 0x144F 0x00D1 0x0000 0x1400 …(用户程序代码)… 0x0000;

前8个数据解释分别为:

0x10AAh:16位并行寻址格式;

0x7FFFh:SWWSR初始值为0x7FFFh,因为FLASH的运行速度比DSP慢,等待7个周期;

0xF8000h:BSCR初始值为0xF800h;

0x0000h:自举表程序入口的XPC=0;

0x144Fh:自举表程序入口的地址=0x144Fh;

0x00D1h:自举表程序的长度=0xD1h;

0x0000h:自举表起始地址XPC=0;

0x1400h:自举表的起始地址=0x1400h。

(3)编写一个数据转换程序,把二进制数据文件myblink.hex转换为数组头文件myblink.h。在CCS环境下,FLASH的“烧写”主程序包含此头文件,编译链接后通过仿真器下载到DSP中,运行DSP,用户程序就被“烧入”FLASH中了。

实际应用是:在数据空间地址0xFFFFh(也就是FLASH的空间0xFFFFh)中“烧写”数据0x9000h(FLASH中存放的自举表起始地址),在FLASH的地址0x9000h开始“烧入”用户自举表数据即myblink.h中的数组数据。

DSP运行情况是:依据第3节所述的引导装载过程,经过一系列的设置,使DSP寻址到数据空间地址0xFFFFh,得到自举表的起始地址0x9000h,PC指针指向0x9000h,执行自举表的数据,根据自举表写入信息,把后面的程序装载入程序空间起始地址0x1400h(XPC=0)(这时通过仿真器查看程序空间0x1400h开始的数据,与仿真器下载的myblink.out文件数据是一致的)。然后,DSP的PC指针指向程序入口地址0x144Fh(XPC=0)开始执行用户程序,从而完成了DSP利用FLASH实现16位并行引导装载的过程。

芯片TMS320C5409的程序源代码

我现在在学习DSP编程,用的芯片是TMS320C5409。由于是初次接触,所以有点茫然,不知从何入手。我一直在找有关TMS320C540芯片的程序代码,希望您能提供一个。对您的厚爱我不胜感激,谢谢!

芯片TMS320C5409的程序源代码

你可到中电网的资料室中找到有关DSP方面的学习资料,地址为:http://bbs.chinaecnet.com/info.asp
返回列表