微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP的外部存储器引导方法实现

基于DSP的外部存储器引导方法实现

时间:09-08 来源:互联网 点击:

B0 ;循环结束后,跳转到主函数main执行

mvkh .S2 _c_int00, B0

B .S2 B0

Nop 5

(3) 主程序 main.c

主程序是DSP要实现具体功能的主体,其定义的主函数main()经编译后在函数_c_int00中调用,因此在上面的引导程序结束时,将跳转到函数_c_int00,即主函数main执行。

(4) 链接命令程序 link.cmd

链接命令程序用于定义系统各存储器的地址及大小,并分配编译后各段到相应的存储空间,link.cmd内容如下:

-c

-lrts6201.lib

MEMORY

{

vecs: o = 00000000h =00000200h

BOOT_RAM: o = 00000200h l = 00000200h

IRAM: o = 00000400h l = 0000c400h

CE0: o = 80000000h l = 01000000h

CE1: o = 90000000h l = 00100000h

}

SECTIONS

{

.vectors > vecs fill = 0

.boot_load > BOOT_RAM fill = 0

.text > IRAM fill = 0

.stack > IRAM fill = 0

.bss > IRAM fill = 0

.cinit > IRAM fill = 0

.far > IRAM fill = 0

.sysmem > IRAM fill = 0

.cio > IRAM fill = 0

}

(5) 转换命令程序 convert.cmd

上面的工程文件经CCS系统编译、汇编后生成可执行COFF文件(.out),它需要转换为二进制文件,再写入到FLASH中。CCS开发系统带有转换程序:

hex6x.exe 将可执行COFF文件(.out)转换为十六进制文件(.hex)

hex2bin.exe将十六进制文件(.hex)转换为二进制文件(.bin)

命令行的格式为:

hex6x.exe convert.cmd

hex2bin.exe mboot

其中convert.cmd内容如下:

mboot.out ;输入文件名 .out 格式

-x

-map mboot.map ;生成映射文件

-image

-memwidth 8 ;内存的位宽

-o mboot.hex ;输出文件名 .hex格式

ROMS

{

FLASH: org = 0, len = 0x10000, romwidth = 8

}

结束语

综上所述,实现TMS320C6712的外部内存自引导并不复杂,关键是要理解芯片的自引导过程和程序汇编后各部分的作用,配置好引导代码段和程序代码段的实际物理地址,并且正确地初始化相应的寄存器和变量。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top