摘要:在进行DSP产品化设计时,BootLoader是一项关键技术。为了更好地解决数字信号处理器应用程序的加载问题,以TI公司641X系列DSP为例,详细论述了DSP的两种引导方法:ROM引导和主机HPI引导,包括二次代码编写、存储器空间分配、引导表生成和.hex文件的烧写。经某星栽接收机系统实测验证,所述方法同时适用于BIOS和No-BIOS两种系统,具有可靠性高、可行性强的优点。
关键词:BootLoader;二次引导;HPI;引导表
0 引言
近年来,以数字信号处理器(DSP)为基础的通用信号处理模块的研制受到人们的重视,它的研制成功满足了信号处理系统实时性和通用性的要求,被广泛应用于雷达、通信、电子测量和图像等领域。进行DSP开发,最终的目标产品要脱离仿真器运行,在上电后可自行启动程序代码,这就需要一个能在断电后保存程序的存储器。对于C641X系列的DSP,内部没有供用户使用的非易失性存储器,只能将程序代码存放在外部的非易失性存储器中。因此,通常需要在上电复位时,将存储在外部速度较慢的存储器的程序代码搬移到片内高速RAM中,这个过程被称为BootLoader。因此,在设计通用信号处理模块前,有必要研究DSP的多种引导方式。
1 C641X BootLoader方式和过程
C641X有三种Boot模式:不引导、ROM引导和主机引导。第一种方式只能用于仿真运行;第二种方式利用片内固化的BootLoader程序通过EDMA通道,从EMIF的CE1空间拷贝1 KB数据到地址0处,然后从地址0处开始执行。这种方式只需一片非易失性存储器,实现较为简单;第三种方式是在DSP内核处于复位时,由外部主机通过主机接口实现程序引导。这种方法虽然复杂度较前者高,但也被广泛应用于一些具有抗空间辐射效应的星载平台中。
2 ROM BOOT实现
前面提到这种方式是在DSP上电复位后,由片内固化的BootLoader代码采用EDMA方式从CE1空间复制1 KB代码到地址O处。但通常用户程序都远大于1 KB,这就需要编写二次BootLoader代码,将用户程序搬移到DSP内部RAM中。下面介绍具体实现过程。
2.1 二次引导程序编写
由于系统最初启动时,C语言环境还没有初始化,所以二次引导程序一般用汇编语言编写。主要完成EMIF寄存器配置,程序搬移,最后跳转到C程序入口函数。其中,程序搬移主要有两种实现方式。一种方法无需Copy Table(引导表),而采用镜像的方式将所有程序代码看成是一个连续的数据段,二次引导时将片外存储器的内容镜像到内部RAM即可。这种方法虽然实现简单,但存在占用空间资源大,引导效率低的问题。第二种方法是利用引导表实现。这种方法生成的引导文件是各段连续存放的,因而引导效率较前一种方法高。关于引导表的格式和生成参见2.4节;两种方法的二次装载汇编程序可参见CCS烧写工具FlashBurn提供的示例工程,这里不再详述。
2.2 存储空间分配
程序存储空间可分为LOAD空间和RUN空间。前者保存程序代码,物理介质一般为片外FLASH或E2PROM;后者是程序代码实际运行的空间,物理介质一般是内部RAM。通常,经常访问的程序和初始化变量的LOAD空间放在FLASH中,而RUN空间则放在内部RAM中;对于只在初始化时使用的段,其LOAD和RUN空间都放在FLASH中;而对于非初始化变量,其LOAD和RUN空间都安排在内部RAM中。当然,如果存储空间充足时,也可统一将LOAD空间放在FLASH中,而把RUN空间放在内部RAM中。根据上述内容,可以将C64X存储区作表1所示的安排。
其中,VECS用于存放中断向量表,BOOT存放二次引导程序。
2.3 cmd文件
cmd文件的作用是实现前两节所述的二次装载代码、中断向量表等的存储空间分配,其主要包含内存的划分以及各程序代码段的load地址和run地址的分配。常见的cmd文件如下所示:
}
其中,vectors是包含中断向量表的段;BootLoad是包含二次装载代码的段。
2.4 引导表的生成
引导表的常用格式如下:
段1的大小
段1的目的地址
段1的内容
段2的大小
……
O;
O;
O;
一种方便的生成引导表的方法是,当工程文件编译生成.out文件后,用CCS自带的hex6x可执行程序将其转化为用于程序引导的.hex文件。这种方法需要编写一个转换命令文件作为hex6x命令的输入参数,具体如下:
其中len的大小可以查看map文件,只要大于程序和数据的实际长度即可。
2.5 文件烧写
将.hex文件烧入ROOM或FLASH中的方法有以下几种:
(1)使用通用烧写器写入。
(2)使用CCS自带的烧写工具FlashBurn。
(3)用户自己编写烧写FLASH的程序。
其中,使用通用烧写器需要文件格式转换且要求烧入的器件是可插拔的;而第三种方法又需要自己编写代码,费时费力;常用的是第二种方法,这种方法只需稍加改动,就可以运用于不同的目标系统中。这是因为这种方法需要首先下载FlashBurn提供的工程FBTC的.out文件到目标系统中。这个工程的代码包含了系统中使用的存储器的烧写命令字,而对于不同的存储器,该命令字是有差别的。这里要做的就是将工程的控制字宏定义改为自己目标系统芯片的控制字,重新编译链接,然后在FlashBurn中选定新生成的FBTC.out文件和待烧入的.hex文件,就可完成文件烧写。
3 外部主机HPI引导实现
选择这种引导方式时,外部主机在DSP内核处于复位状态,但芯片其他部分已经脱离复位状态时,通过HPI接口访问DSP的全部存储空间和外设寄存器。当主机完成代码装载和初始化后,置HPIC寄存器中的DSPNIT位为1使内核脱离复位状态,然后从0地址处开始运行,具体流程如图1所示。
这种方式也需要如ROM BOOT方式一样生成.hex文件,生成方法和上述大致相同,只是由于有了外部主机的参与,可以将程序代码一次性装载到片内RAM中,没有1 KB的限制,因而无需二次启动代码,只需在O地址处添加跳转指令,使得DSP内核复位后能从入口函数_c_intOO处开始执行即可。
4 结语
本文详细论述了TMS320C641X系列DSP上电自启动的两种方法,并通过某星载通信接收机系统的验证,方法简单可行。该方法论述时虽然是基于非DSP/BIOS框架,经验证也同样适用于DSP/BIOS系统中。
关键字:TMS320C641X DSP bootloader ti
引用地址:
TMS320C641X系列DSP引导方法研究
推荐阅读最新更新时间:2024-05-02 21:19
快速小波变换的定点DSP实现
小波变换具有良好的时——频局部性,是分析奇异信号的重要方法。定点DSP在工程中的应用十分普遍,具有低成本,高性能的特点。利用DSP实现小波变换可以满足工程是实时性的要求。文中简要介绍了小波变换理论及算法,并结合TI公司的16位定点DSP说明算法的实现。 关键词:快速算法 小波变换 DSP 1 引言 小波变换是近年来发展起来的一种数学理论和方法。作为一种新兴的理论,小波分析是数学发展史上的重要成果,对工程应用产生了深远的影响。广泛应用于语音信号处理、图像信号处理、信号检测、语音与图像编码、多尺度边缘提取与重建等领域。近年来,在电力系统中也开始应用小波分析进行故障检测及故障定位,并取得了有效的成果。 计算机只能处理数
[工业控制]
德州仪器推出NexFET™ N沟道功率MOSFET
采用5 mm x 6 mm QFN封装并集成超低导通电阻的25 V和30 V器件。 2015年1月22日,北京讯 ---日前,德州仪器 (TI) 推出其NexFET 产品线11款新型N沟道功率MOSFET,其中包括具有业界最低导通电阻并采用QFN 封装的25-V CSD16570Q5B 和 30-V CSD17570Q5B,可应用于热插拔和ORing应用。此外,TI面向低电压电池供电型应用的新型12-V FemtoFET CSD13383F4在采用0.6 mm x 1mm纤巧型封装的情况下实现了比同类竞争器件低84% 的极低电阻。 CSD16570Q5B和CSD17570Q5B NexFET MOSFET可
[电源管理]
如何在TI官网上找到MSP430的程序例程
以MSP430Fr6972为例简: 1)进入ti官网: http://www.ti.com.cn/ 2)在搜索栏填入:msp430fr6972 点击go on 3)点击第一个搜索结果(一般第一个就可以,可以尝试看看)。 4)点击右边红色按钮“软件和工具” 在培训内容里面找到“MSP430Fr6972 Code Examples ” 5)点击下载即可。
[单片机]
德州仪器在 C2000™ Piccolo™ 实时浮点微控制器上集成 USB,可实现移动现场诊断与通信
2013 年 2 月 18 日,北京讯 日前,德州仪器 (TI) 宣布推出集成 USB 连接功能的最新 32 位实时 C2000™ Piccolo™ F2806xU 微控制器 (MCU),为客户开发需要现场连接的终端产品助一臂之力。 在消费类及工业电机控制系统、工业电源系统、电信及数据系统、风力与太阳能发电、普通电力电子应用等众多应用中,能够进行存取诊断并进行现场动态修改非常重要。有了 Piccolo F2806xU MCU,TI 客户可便捷地为其应用整合 USB 连接功能。 Piccolo F2806xU MCU 的特性与优势: • 集成型 USB 2.0 及 CAN 外设可充分满足现场移动通信需求; • 支持同步双通道采样
[单片机]
氮化镓技术将给未来的汽车应用带来什么?
最近,在 PCIM Europe 2020、SEMICON China 2020 等一些与功率半导体相关的国际会议上,以 TIon:underline; GaN(氮化镓)和 SiC(碳化硅)为代表的宽带隙(WBG)半导体继续占据着演讲台的“C 位”,尤其是 GaN 在未来汽车中的角色更是令人兴奋,为未来很长一段时间的行业发展带来了机遇。今天就谈谈 GaN 和汽车究竟是什么关系,当然也少不了提及其同门兄弟 SiC。 氮化镓欲复制功率 MOSFET 的成功 历史总是惊人地相似。EPC 公司 CEO 兼共同创始人 Alex Lidow 博士讲了一个故事:“44 年前,当我第一次开发功率器件时,‘兽中之王’是硅功率双极晶体管
[汽车电子]
降低运动控制应用中可闻噪声的三种出色方式
随着家庭和办公室开放式布局设计的出现以及日渐转向混合动力电动汽车和电动汽车,愈发需要更安静、高效的电机控制。即使是非常小的声学差异,也会对可闻噪声造成显著影响。 在图 1 中,您可以看到生活空间中的电器如何影响整体噪声水平。利用具有更高功率密度、更高集成度和更高效系统的电机控制电路等先进的实时控制技术,可帮助您实现更出色的系统声学性能。一些其他策略包括使用连续脉宽调制 (PWM) 的矢量磁场定向控制 (FOC) 算法,减少振动的特定控制算法,以及应用死区时间补偿和 PWM 生成来降低可闻噪声的集成控制。 图 1:开放式厨房和客厅的可闻噪声 由于这些不同的产品和策略都可以降低运动控制应用中的可闻噪声,因此可能很难确定
[模拟电子]
DSP 信号发生器模块库(SGEN)的使用说明总结
TI官方数据库ControlSUITE中关于SGEN的使用说明路径如下:C:ticontrolSUITElibsdspSGENv101doc 以下是对SGEN的解释和说明: 该信号发生模块可以输出5中类型的信号:Sin,Ramp,Trapezoidal, Profile。本为要介绍Sin信号的产生,原文也比较容易理解,本文的中重点在于总结。 1.Sin信号发生器的3种发生原理 1.1 Standard THD Sin generator 标准THD正弦发生器采用直接查表技术实现,采用16位模计数器。 1.2 Low THD sin generator 低THD sin发生器采用查表法和线性插值法实现,采
[测试测量]
德州仪器推出低成本浮点MCU
日前,德州仪器 (TI) 宣布推出最新低成本 TMS320F2806x Piccolo 浮点 MCU,可提供能平衡低成本 Piccolo 与高性能 Delfino™ 浮点微控制器 (MCU) 的性能。最新 Piccolo MCU 源自 TI 超过 25 年的领先数字信号处理技术,可提供旨在简化编程、优化性能的增强型数学引擎,从而可满足实时控制应用对集成通信的需求。低能耗电机控制与可再生能源应用的开发人员现在可采用单个 F2806x MCU 通过低成本方式执行控制环路、电力线通信 (PLC) 协议以及调制方案。此外,最新 F2806x MCU 还可提供更加丰富的连接及存储器选项,并具有 TI 高稳健工具与免费 controlSU
[单片机]