新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 大容量无线传输技术中DSP的启动

大容量无线传输技术中DSP的启动

作者:时间:2010-10-20来源:网络收藏

1 引言

在极低谱密度,高频谱利用率的C6416 启动模式管脚配置 www.elecfans.com

本文引用地址:http://www.eepw.com.cn/article/151414.htm



如果 的程序小于1K 字节,那么上述ROM 机制已经可以完成程序的加载。然而事实上大部分 的程序会大于1K 字节,这时就需要创建一个特定程序来完成更多代 码的加载。该特定程序又被称作二级bootloader。

在需要二级bootloader 的程序中,这段特定启动代码通常驻留在ROM 存储器的起始位 置以便在 复位后能自动被加载到内存地址0 处。当1K 字节代码被加载完毕后,CPU 开始从地址0 处执行,也就是执行二级bootloader 的内容。二级bootloader 的功能就是将程序的剩余部分拷贝到内存中。

2 启动方法的设计与实现

采用二级bootloader 的DSP 启动方法的实现大体分为四步:配置存储器;编写 secondary bootloader 代码;编译程序,转换目标文件的格式;将程序烧写进Flash。图1 为实施该启动方法的硬件平台示意图,其中DSP 的型号选择C6416,Flash 的型号选择 AM29LV800B。

为实施该启动方法的硬件平台示意图 www.elecfans.com




2.1 配置存储器

2.1.1 定义存储器分区

为了实现使用二级bootloader 的ROM 启动,需要将Flash 划分为FLASH_BOOT, FLASH_REST 两个区。这两个区分别存储由on-chip bootloader 拷贝的程序段和由secondary bootloader 拷贝的程序段。对于BIOS 程序,Memory 段的定义在MEM(Memory Section Manager)对象里。对于非BIOS 程序,Memory 段定义在linker command file 中。一个C6416 的Memory 段定义的例子如下所示:




2.1.2 COFF 段的定位

DSP 程序是以COFF 段的形式在内存中存放的。一个COFF 段就是一个代码或数据块, 它在内存中占据连续空间。COFF 段分为自定义段,初始化段和未初始化段三种。COFF 段可 以有各种属性,其中load 属性和run 属性跟DSP 启动有密切关系。Load 属性指明段的存储 地址,run 属性指明段的执行地址。二级bootloader 负责将所有的段从load 地址拷贝到run 地址。例如:

.text: LOAD= FLASH, RUN= IRAM

表示代码段.text 被存储在flash 中,DSP 启动时二级bootloader 将该段拷贝到IRAM 中。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭