当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]大容量无线传输技术中DSP的启动方法

1 引言

在极低谱密度,高频谱利用率的大容量



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

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

2 启动方法的设计与实现

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

 




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 中。[!--empirenews.page--]
2.2 编写Secondary bootloader 代码

对于C6416,外部存储器接口(EMIF)需要正确配置以后才可以访问外部存储器件。在这 项工作完成后,二级bootloader 应该将所 有的初始化段从它们的load 地址拷贝到run 地址, 之后再跳转到_c_int00,也即是程序入口点。Secondary Bootloader 用汇编语言编写,因 为此时C 环境尚未建立。  

二级bootloader 必须知道所有初始化段的大小,在Flash 中存储的位置以及应该被加 载到何处才能进行正确的拷贝。事实上,二级bootloader 通过读取段拷贝表获得上述信息。 本文第三部分详细说明了有关段拷贝表的内容。完成二级bootloader 代码的编写后,应将它添加入工程,与工程的其他代码一同编译链接生成.out 文件。

2.3 转换目标文件的格式

编译链接生成的是.out 格式文件,然而Flash 一般接收的是ASCII 格式的文件。CCS 附带的工具hex conversion utility 可将.out 文件转换为ASCII 格式的.hex 文件,Hex6x 以命令行文件的形式执行。Hex 命令行文件中,首先指明输入文件(.out),输出文件的格式和ROM 的大小及类型,以及哪些段需要被放在ROM 中。一个Hex 命令行文件的例子如下所示(注释内容用“/*”和“*/”括起):







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 自身的编译功能获取段拷贝表的内容,该方法可提高效率且准确性高。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

菲律宾马尼拉2026年3月26日 /美通社/ -- 2026年开年,广汽在亚太区域延续强劲增长势头。自1月末起,广汽国际菲律宾以"品牌焕新"为核心,在短短一个多月内完成了从战略发布、体验升级到渠道动员...

关键字: 广汽 AC TE IO

北京2026年3月23日 /美通社/ -- 近日,银河通用机器人与真人选手的连续自主网球对打视频刷爆全网。 这背后是银河通用机器人发布的最新成果——全球首个面向网球对抗的人形机器人全身实时智能规控算法:LATENT。...

关键字: 机器人 BSP TE 成功率

第六代 HiFi DSP 为基于语音的 AI 应用和最新沉浸式音频格式带来更出色的性能与能效表现

关键字: DSP 语音 AI 音频

在FPGA实现数字信号处理(DSP)算法时,DSP Slice作为专用硬件资源,其利用效率直接影响系统性能与成本。本文聚焦乘加运算(MAC)的优化实现,分享流水线设计与资源复用的实用技巧,帮助开发者在有限资源下实现更高吞...

关键字: FPGA DSP

在高性能计算与信号处理领域,浮点运算能力是衡量硬件加速效率的核心指标。AMD UltraScale+架构凭借其增强的DSP Slice设计,为浮点运算优化提供了突破性解决方案。本文将深入解析该架构如何通过硬件架构创新与软...

关键字: UltraScale+ DSP

全新便携网关让广播机构无需拆除现有 SDI 基础设施,即可随时随地获得即时、灵活的 ST2110 连接能力Patton®…… 让我们互联互通! “Fiberlink ST2110-TD 紧凑坚固。 随手部署,随处可用。...

关键字: LINK TE ST SD

阿拉巴马州达芙妮2026年3月18日 /美通社/ -- 纯售后市场领导者TERREPOWER(前身为BBB Industries)今天宣布大幅扩展其北美电动助力转向( EPS...

关键字: POWER 电动助力转向 TE EPS

Nscale收购Monarch计算园区——美国首个获州认证的AI微电网,现场供电能力最高可扩展至8吉瓦以上 Nscale与Microsoft签署意向书,提供高达1....

关键字: NVIDIA MICROSOFT GPU TE

印度班加罗尔2026年3月17日 /美通社/ -- Tejas Networks(BSE:540595)(NSE:TEJASNET)今日宣布,公司已收到一份采购订单,将为南亚...

关键字: TE NETWORKS 4G网络 4G

2026 年采埃孚售后中国乘用车"恒行致远、智创采服" UPTIME 共创大会汇聚来自全国100余位经销商、维修厂伙伴。 采埃孚售后发布"三位一体"中国乘用车独立售后市场...

关键字: TI TE AI 矩阵
关闭