您好,欢迎来到百家汽车网。
搜索
您的当前位置:首页基于TMS320C6678的国产DSP操作系统引导程序设计

基于TMS320C6678的国产DSP操作系统引导程序设计

来源:百家汽车网
龙源期刊网 http://www.qikan.com.cn

基于TMS320C6678的国产DSP操作系统引导程序设计

作者:马云 游夏

来源:《电子技术与软件工程》2018年第06期

摘要 以IMS32UC6678为代表的鬲性能DSP芯片,不仅具有快速的数据处理能力,而且提供了丰富的片上接口资源。DSP应用的开发也从单跑应用程序过渡到操作系统时代,多核操作系统的引导过程要比单个应用的引导更加复杂、更具有挑战性,是DSP的关键技术之一。本文针对国产DSP操作系统提出了一种引导方法,并在星载、车载和舰载等DSP设备中得到了成功的验证。

【关键词】TMS320C6678 引导程序 DSP 操作系统 1 引言

TMS320C6678是德州仪器(TI)公司全新架构的TMS320C66x数字信号处理器。该芯片基于KeyStone多内核sOc架构实现,内部集成了最多8个C66x核,单核的最高工作频率1.25 GHz,单核即可实现40 GMAC的定点处理或20 GFLOP的浮点处理能力。在雷达信号处理、水声设备、电子对抗、图形图像处理、无线和移动通信等领域取得了广泛的应用。

在DSP的实际应用中,系统的启动过程要脱离仿真器件,实现自动加载。特别是对DSP操作系统来说,引导过程不仅要完成对镜像文件的读取、解析、复制到内存,还要考虑到操作系统的内存划分和映射机制、芯片内不同核之间的同步等因素,因此非常有必要研究DSP操作系统的引导方法。 2 DSP启动方式

通常TMS320C6678是通过RBL (ROMBoot Loader)启动的,RBL是固化在DSP芯片内一段程序,永久地存储在DSP的ROM中,起始地址是Ox02BOOOOO,大小共计

128Kbytes,用户不能对其修改。在芯片上电复位后,RBL负责将操作系统镜像或用户应用程序镜像从外部主机或内部的非易失性存储器( EEPROM、FLASH)传送到内部的高速内存(Cache、MSM或DDR)中,并跳转到入口地址运行程序。

为了适应不同应用的需要,TMS320C6678提供了多种启动方式,可以通过网卡、PCIe、SRIO、HyperLink接口从主机下载镜像,也可以通过EMIF、SPI、120接口从外部存储器下载镜像,完成启动过程。这里的主机可以是通用的PC机,也可以是具有上述接口(网卡、PCIe、SRIO等)的嵌入式系统,特别是多节点DSP应用中,使用一个DSP节点作为主机启动其它DSP节点是一种非常高效的引导方式。

龙源期刊网 http://www.qikan.com.cn

TMS320C6678芯片有13个外部引脚BOOTMODE[12:0]用于引导方式的设置。上电后,内核O执行RBL代码,并采样这13个引脚的状态,决定采用哪种引导方式。管脚配置共分三类,分别是BOOTMODE[2:0]用于选择引导外设接口,BOOTMODE[9:3]用于设置外设接口的初始化参数。BOOTMODE[12:10]用于PLL的初始化配置。 3 传统启动方式的缺陷

虽然可以通过RBL直接加载应用,但是在实际应用过程中存在众多的性因素使其无法满足要求,主要体现在: 3.1 文件格式的

RBL是固化在DSP内部的一段程序,非常精简,但是无法直接对ELF格式的文件进行解析。为了实现镜像的加载,必须通过TI提供的一系列的工具将ELF文件转换成特定的格式,而且不同接口转换后的格式也不尽相同,例如通过网络、SPI、I2C、EMIF等加载必须通过不同的方法完成转换,通用性极差。

在启动过程中还需配置引导表( BootTable)、启动参数表(Boot Parameter Table)和启动配置表(Boot Config Table)等众多参数,对不熟悉硬件的DSP开发人员来说难以使用。 3.2 硬件配置的

对于实际应用中的DSP板卡来说,外设接口(如SRIO、网卡、PCIe等)通常是通过交换芯片与外部连接,交换芯片在使用前是需要配置的。在RBL中不提供对交换芯片的配置功能,也就意味着带有交换芯片的板卡根本无法通过这些外设接口加载。

带有操作系统的镜像,特别支持网络、动态加卸载、符号表和文件系统等功能的镜像文件通常较大,镜像代码段和操作系统的运行空间需要使用DDR存储器,特别是当启动多核时,Cache和共享内存不具备加载和运行功能复杂的操作系统的条件。而DSP芯片启动过程中不会初始化DDR,也就意味着无法完成镜像的加载。 3.3 操作系统的

操作系统不同于简单的应用,操作系统中存在虚拟地址和多核间的同步问题,传统的加载方式无法识别操作系统内部的虚拟地址和物理地址,在解析和镜像搬移的过程中会将数据搬移到虚拟地址,这样操作系统根本无法运行,RBL启动仅限于单核,也不考虑多核间的同步问题。

4 国产DSP操作系统

龙源期刊网 http://www.qikan.com.cn

本文的引导是针对于带有操作系统的镜像,操作系统选用国产的锐华DSP实时操作系统,该操作系统提供了面向主流DSP芯片的高性能国产基础软件解决方案,其内核完全自主设计,并针对TI公司TMS320C6678芯片进行了系统优化。

锐华DSP实时操作系统使用AMP多核并行处理架构,操作系统部署在每个DSP核上,每个核都有自己的存储空间和任务队列、上下文操作空间、堆栈等,核间提供了多核屏障、自旋锁等多核同步和资源保护机制。锐华DSP实时操作系统具有强实时、高可靠特征,基于微内核及组件技术,能根据实际应用需要对操作系统内核进行配置、裁剪、扩展与定制。同时支持模块的动态加卸载,易于系统重构及应用升级,解决了多核DSP难于使用的问题,改变了原有的DSP处理器编程模式,提高了用户的软件开发效率。

锐华DSP实时操作系统的所有核使用同一份映像代码,每个核根据核号执行不同的代码分支。操作系统将DDR内存分为2块大的区域,高端为多核共享区,低端为每个核的私有区。其中,引导、系统代码、共享数据以及用户自定义内存均位于共享区,每个核的堆和栈位于私有区。

龙源期刊网 http://www.qikan.com.cn

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务