用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

TMS320C6711的FLASH引导装载系统研究与设计

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 23:59:04
该自加载功能的代码如下:

BOOT_SIZE .equ 0x9800 ;待装载代码的大小

FLASH_START .equ 0x90000000 ;FLASH起始地址

BOOT_START .equ 0x0000000 ;L2 sram起始地址

EMIF_GCR .equ 0x01800000 ;EMIF全局控制寄存器的地址

EMIF_CE1 .equ 0x01800004 ;CE1空间控制寄存器的地址

EMIF_CE1-8 .equ 0x1161C901 ;CE1空间控制寄存器的值

.sect ".boot_load"

.global_boot

.ref_c_int00

_boot:

mvkl EMIF_GCR,A4

mvkl 0x3300,B4

mvkh EMIF_GCR,A4

mvkh 0x3300,B4

stw B4,*A4 ;配置EMF全局控制寄存器

mvk1 EMIF_CE1,A4

mvk1 EMIF_CE1-8,B4

mvkh EMIF_CE1,A4

mvkh EMIF_CE1-8,B4

stw B4,*A4 ;配置CE1空间控制寄存器

mvkl BOOT_START+1024,A4 ;待搬移数据的目标地址

mvkl FLASH_START+1024,B4 ;待搬移数据的源地址

mvkh BOOT_START+1024,A4

mvkh FLASH_START+1024,B4

zer0 A1

_boot_loop1: 数据搬移

ldb *B4++,B5

mvkl BOOT_SIZE,B6

add 1,A1,A1

mvkh BOOT_SIZE,B6 ;B6为待搬移数据块大小,可根据实际情况来修改

cmplt A1,B6,B0

nop

stb B5,*A4++

[B0]b_boot_loop1

nop 5

mvk1 .S2_c_init00,B0

mvkh .S2_c_int00,B0

B .S2 B0 ;转向C程序的入口

nop 5

3.4 FLASH编程

建立好了上述定制代码段、用户程序段、中断向量表和链接命令文件后,便可利用TI公司的DSP集成开发环境CCS进行编译、调试及链接,之后生成的目标文件*.out就是DSP能够识别的COFF格式。为了使系统能够脱机运行,需要把该目标文件的代码写入FLASH中,往FLASH中写入目标代码可以采用以下两种方法:

(1)用硬件仿真器XDS510/560通过JTAG口对FLASH进行在线编程。此时需要把*.out文件数据放入缓冲存储器,然后按照FLASH芯片手册提供的编程格式把缓冲存储器里的数据写入FLASH。

(3) 利用编程器进行编程。由于编程器不支持*.out文件模式,不能直接写入FLASH中,所以必须将*.out文件转换成编程器可读入的*.hex格式,这可以通过CCS软件中的转换工具hex6x来实现,转换时要注意hex.cmd文件的写法,而且整个文件转换过程是在DOS提示符下完成的。

4 结论

利用上述方法可使系统在脱机状态下实现引导装载,本次实验所用的用户代码段的功能是利用 DSP的多通道缓冲串口发送一个字符串给PC机的RS232口。按照前面的方法写好定制代码段、用户程序段、中断向量表和链路命令文件并进行编译、链接、格式转换以及写入FLASH之后,系统就可以实现脱机运行了。这样,给DSP系统加电后,就可以通过串行口调试软件在PC机上接收到DSP所发送的字符串以证明引导装载成功。由于用户代码段也可以被其它程序代替,因此,本文设计的引导装载系统其有一定的通用性。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:406.25000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号