微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 大容量无线传输技术中高性能DSP启动方法

大容量无线传输技术中高性能DSP启动方法

时间:11-28 来源:互联网 点击:
2.4 将程序烧写进Flash

将2.3 节生成的ASCII 文件烧写进Flash 可以使用CCS 自带的FlashBurn 工具。

FlashBurn 是一个带图形界面的软件,它首先将一个称作FlashBurn Target Component(FBTC)的程序下载到DSP 内存中,通过与FBTC 的实时数据交换完成对Flash 的擦除编程等操作。

针对不同的硬件(DSP,Flash 型号)修改FBTC 是该方法的关键。所需修改处包括Flash 的基地址,大小,及读写命令字等。

3 段拷贝表

二级bootloader 使用一个段拷贝表(section copy table)进行段的拷贝。段拷贝表包含每个需要拷贝的段的必要信息,如段的load 地址,段的run 地址,段的大小。段拷贝表被插入在secondary bootloader 的末尾。

生成段拷贝表的方法有两种:

1) 使用hex conversion utility 的-boot 选项

在2.3 节中我们讨论了程序文件格式的转换和hex 命令行文件,事实上Code Composer
Studio 自带的工具hex conversion utility 提供了一种更为方便的生成段拷贝表的方法,只要在hex 命令行文件中使用一些特殊的选项即可。特殊的选项有–boot, bootorg ? 和–bootsection,这三个选项的含义分别如下:
-boot 使用该选项时hex conversion utility 将自动转换所有初始化段的格式
-bootorg 指明段拷贝表的地址
-bootsection 指明二级bootloader 所在的段的名称

2) 使用linker 选项(LOAD_START,RUN_START,SIZE)

涉及段拷贝表的生成的有三个选项:LOAD_START,RUN_START 和SIZE,可分别获得一个段的驻留地址,运行地址和大小。例如下列代码可获得text 段的驻留地址(存于_text_ld_start 中),运行地址(_text_rn_start)和段的大小(存于_text_size)
.text : load = FLASH_REST, run = IRAM
LOAD_START(_text_ld_start),
RUN_START(_text_rn_start),
SIZE(_text_size)

4 结束语

本文针对在极低谱密度,高频谱利用率的大容量无线传输技术研究中C6000 系列DSP的应用程序大于1K 字节的情况,提出了一种使用二级bootloader 从Flash 启动DSP 的方法。该方法可应用于采用了C6000 系列DSP 的嵌入式系统中,不需要额外的Flash 编程器,具有广泛的适用性。

本文作者创新点:在二级bootloader 中引入段拷贝表用以控制程序加载过程,并利用CCS 自身的编译功能获取段拷贝表的内容,该方法可提高效率且准确性高。

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

网站地图

Top