当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]大容量无线传输技术中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 自身的编译功能获取段拷贝表的内容,该方法可提高效率且准确性高。

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

11万+人次!5000+海外买家! 展会落幕,感恩同行!明年8月深圳再见! 深圳2025年9月1日 /美通社/ -- 据物联网世界报道。 在AIoT(人工智能+物联网)技术加速渗透、全球数字化转型深化,以...

关键字: IoT 物联网 TE IC

深圳2025年8月27日 /美通社/ -- 2025 年 8 月 27 日至29日,IOTE 2025 第二十四届国际物联网展・深圳站于深圳国际会展中心隆重举行。连接与传感领域的全球性技术企业 TE Conne...

关键字: TE CONNECTIVITY IoT 物联网

随着在线会议、直播和游戏语音交流的普及,高质量的音频输入设备变得越来越重要。为此,边缘AI和智能音频专家XMOS携手其全球首家增值分销商飞腾云科技,利用其集边缘AI、DSP、MCU和灵活I/O于一颗芯片的xcore处理器...

关键字: AI DSP MCU

北京2025年8月19日 /美通社/ -- 美通社(PR Newswire)母公司,全球消费者与媒体情报领军企业Cision今日正式宣布,旗下CisionOne平台连续第二年荣获市场情报权威机构MarTech Break...

关键字: CIS THROUGH TE IO

- 全球人工智能数据中心基础设施领导者Zettabyte获Lam Capital战略投资 Lam Capital与Foxconn、Pegatron和Wistron携手参与...

关键字: API TE AI 人工智能

该奖项旨在表彰Exyte在宁德时代中国以外首座大规模电池制造基地交付过程中展现的卓越领导力 项目配备欧洲最大的干燥室之一,以精准满足电池制造对技术与环境的严苛需求 Exyte执行董事会成员Mark Garv...

关键字: 宁德时代 超级电池 TE BSP

德国埃朗根2025年7月21日 /美通社/ -- Elektrobit、HighTec EDV Systeme 与英飞凌科技股份公司宣布合作,通过将 Rust 应用与 AUTOSAR Classic 基础软件集成,加速汽...

关键字: CLASSIC 英飞凌 集成 TE

多DSP集群的实时信号处理系统,通信拓扑的优化直接决定任务调度效率与系统吞吐量。RapidIO与SRIO作为嵌入式领域的主流互连协议,其带宽利用率差异与QoS配置策略对集群性能的影响尤为显著。以无线基站、雷达阵列等典型应...

关键字: DSP 通信拓扑优化

随着5G网络普及与物联网设备爆发式增长,边缘计算正从概念验证走向规模化部署。据IDC预测,2025年全球边缘数据量将占总体数据量的50%,这对边缘节点的实时处理能力提出严苛要求。在此背景下,AI加速器的DSP化趋势与可重...

关键字: AI加速器 DSP

在工业控制领域,数字信号处理器(DSP)的性能直接决定了系统的实时控制能力和可靠性。德州仪器(TI)的C2000系列芯片凭借其卓越的采样、控制和功率管理能力,长期以来在全球工业控制市场占据绝对领导地位,广泛应用于能源、电...

关键字: TI C2000 DSP 格见半导体 芯来 RISC-V 工控
关闭