网站首页 > 技术文章 正文
前 言
本文主要介绍DSP程序固化操作手册,文章内容包括program-tools工具包说明、文件准备、程序固化、多核程序可执行文件转换等。
program-tools工具包说明
DSP程序固化工具包program-tools位于产品资料“4-软件资料\Tools\”目录下,工具包目录结构及说明如下。
本次测试板卡为TMS320C6678+Kintex-7 的FPGA高端异核开发板,它采用TI KeyStone架构C6000系列TMS320C6678八核C66x定点/浮点DSP以及Xilinx Kintex-7 FPGA处理器设计。
核心板内部DSP与FPGA通过SRIO、EMIF16、I2C通信总线连接,并通过工业级高速B2B连接器引出千兆网口、PCIe、HyperLink、EMIF16、GTX等高速通信接口。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
表 1
Image | spirom.bin | SPI FLASH的IBL可执行文件 |
i2crom.bin | EEPROM的IBL可执行文件 | |
ibl.bin | 待固化的IBL可执行文件,工具包提供的默认ibl.bin文件为spirom.bin重命名文件 | |
app.out | 待固化的用户程序可执行文件,工具包提供的默认app.out文件为led_flash_noOS.out重命名文件 备注:固化过程中,工具包会自动将app.out重命名为app.bin | |
Log | 存放固化过程中产生的Log信息文件 | |
TargetConfig | DSP_C6678.gel | GEL文件 |
DSP_C6678_XDS100v1.ccxml | XDS100v1仿真器配置文件 | |
DSP_C6678_XDS100v2.ccxml | XDS100v2仿真器配置文件 | |
DSP_C6678_XDS100v3.ccxml | XDS100v3仿真器配置文件 | |
DSP_C6678_XDS200.ccxml | XDS200仿真器配置文件 | |
DSP_C6678_XDS560v2.ccxml | XDS560v2仿真器配置文件(USB模式) | |
DSP_C6678_XDS560v2_LAN.ccxml | XDS560v2仿真器配置文件(网络模式) | |
Tools | 存放程序固化工具可执行文件,以及相关配置文件 | |
program.bat | 一键固化脚本 | |
program_gui.bat | 图形化分步固化脚本 | |
program.js | javascript脚本 |
工具包支持如下固化操作。
表 2
固化操作编号 | 固化操作说明 |
0 | 固化IBL至EEPROM,同时固化用户程序至NAND FLASH |
1 | 固化IBL至EEPROM,同时固化用户程序至SPI FLASH |
2 | 固化IBL至EEPROM,同时固化用户程序至NAND FLASH和SPI FLASH |
3 | 仅固化IBL至EEPROM |
4 | 固化IBL至SPI FLASH,同时固化用户程序至NAND FLASH |
5 | 预留编号 |
6 | 预留编号 |
7 | 仅固化IBL至SPI FLASH |
8 | 仅固化用户程序至NAND FLASH |
9 | 仅固化用户程序至SPI FLASH |
10 | 固化用户程序至SPI FLASH,同时固化用户程序至NAND FLASH |
文件准备
请将程序固化工具包program-tools拷贝至Windows非中文路径下,再执行如下操作。
IBL文件准备
如需从SPI FLASH启动IBL,则使用工具包提供的ibl.bin文件即可,无需额外操作。如需从EEPROM启动IBL,请将i2crom.bin文件重命名为ibl.bin,并替换工具包中的ibl.bin文件。
核心板出厂时默认已固化IBL至SPI FLASH和EEPROM,推荐从SPI FLASH启动IBL。
用户程序文件准备
将待固化的单核用户程序.out格式可执行文件重命名为app.out,并替换工具包中的默认app.out文件。如需固化多核用户程序,请先按照“多核程序可执行文件转换”章节将多核用户程序可执行文件转换为MAD(Multicore Application Deployment)文件,再重命名为app.out,并替换工具包中的默认app.out文件。
单核用户程序可执行文件一般为ELF格式,多核用户程序可执行文件一般为BBLOB格式。
仿真器配置文件准备
如使用XDS100v1/XDS100v2/XDS100v3/XDS200/XDS560v2仿真器进行操作,则使用工具包提供的默认仿真器配置文件即可,无需额外操作。
程序固化
工具包提供两种程序固化方式,方法一为使用program.bat脚本进行一键固化,方法二为使用program_gui.bat脚本进行图形化分步固化。
一键固化
使用编辑工具打开一键固化脚本program.bat,并参考如下说明对相关参数进行配置。
表 3
参数 | 说明 |
DSS_SCRIPT_DIR | 配置为"[CCS5.5安装路径]\ccsv5\ccs_base\scripting\bin" |
program_type | 配置为对应固化操作编号。此处固化操作编号为10,表示“固化用户程序至SPI FLASH,同时固化用户程序至NAND FLASH” |
PROGRAM_EVM_TARGET_CONFIG_FILE | 配置为适配的仿真器配置文件。此处仿真器配置文件为DSP_C6678_XDS200.ccxml,表示使用的仿真器为XDS200 |
请将评估板的启动选择拨码开关拨为000XX(1~5),此档位为DSP_NO BOOT(Debug)模式,再将评估板通过仿真器与PC机正常连接。
评估板上电后,双击运行program.bat脚本即可一键固化用户程序或IBL。
备注:如IBL文件无更新,可不进行IBL固化。
固化完成后,请将评估板的启动选择拨码开关拨为对应启动模式。取下仿真器后再将评估板上电,程序即可正常运行。
图形化分步固化
使用编辑工具打开图形化分步固化脚本program_gui.bat,配置DSS_SCRIPT_DIR参数为"[CCS5.5安装路径]\ccsv5\ccs_base\scripting\bin"。
请将评估板的启动选择拨码开关拨为000XX(1~5),此档位为DSP_NO BOOT(Debug)模式,再将评估板通过仿真器与PC机正常连接。
评估板上电后,双击运行program_gui.bat脚本,在弹出的CMD窗口中根据提示输入对应选项数字,指定IBL固化的存储器件、用户程序固化的存储器件、处理器型号、仿真器型号。
备注:如IBL文件无更新,可不进行IBL固化。
配置完成后,进入程序固化界面。
固化完成后,请将评估板的启动选择拨码开关拨为对应启动模式。取下仿真器后再将评估板上电,程序即可正常运行。
多核程序可执行文件转换
multicore-boot工具包说明
多核程序可执行文件转换工具包multicore-boot位于产品资料“4-软件资料\Tools\”目录下,工具包目录结构及说明如下。
表 4
App | shmIpcBenchmark.out | 待转换的多核用户程序可执行文件 |
Bin | 存放MAD加载器 | |
Config | deployment_C6678_bypass_prelink.json | 配置文件 |
maptoolCfg_C66x_bypass_prelink.json | ||
Build.bat | 转换脚本 | |
maptool.py | Python脚本 | |
python-2.7.amd64.msi | Python 2.7安装包 |
请将多核程序可执行文件转换工具包multicore-boot拷贝至Windows非中文路径下,再执行如下操作。
Python安装
multicore-boot工具包的使用需依赖Python,请双击工具包目录下的Python安装包python-2.7.amd64.msi,再点击Next进行安装。
选择安装路径,并连续点击Next。
点击Finish完成安装。
多核程序可执行文件转换
使用编辑工具打开转换脚本Build.bat,将PATH配置为:
"[CCS5.5安装路径]\ccsv5\tools\compiler\c6000_7.4.4\bin";[Python安装路径];%PATH%
使用编辑工具打开配置文件deployment_C6678_bypass_prelink.json,默认内容如下。
多核单镜像
如八个核心运行同一个用户程序,请将用户程序.out格式可执行文件拷贝至工具包的App目录下,再将标注1、2修改为用户程序可执行文件名。
多核双镜像
如C66xx_0运行一个用户程序,其他七个核心运行另一个不同的用户程序,请将两个用户程序.out格式可执行文件拷贝至工具包的App目录下,再将标注1修改为C66xx_0用户程序可执行文件名,同时将标注2修改为其他七个核心的用户程序可执行文件名。
多核多镜像
如各个核心均运行不同的用户程序,请将各核心的用户程序.out格式可执行文件拷贝至工具包的App目录下,再增加对应核心的applications定义,并更新appDeployment中的applications列表。
C66xx_0~C66xx_7的applications分别对应appDeployment列表中的A~H,参考代码如下。需确保各个applications中的shmIpcBenchmark.out已修改为对应核心的用户程序.out格式可执行文件名。
"applications" : [
{
"name" : "app1",
"fileName" : "./App/shmIpcBenchmark.out",
"allowedCores" : [0,1,2,3,4,5,6,7]
},
{
"name" : "app2",
"fileName" : "./App/shmIpcBenchmark.out",
"allowedCores" : [0,1,2,3,4,5,6,7]
}
{
"name" : "app3",
"fileName" : "./App/shmIpcBenchmark.out",
"allowedCores" : [0,1,2,3,4,5,6,7]
}
{
"name" : "app4",
"fileName" : "./App/shmIpcBenchmark.out",
"allowedCores" : [0,1,2,3,4,5,6,7]
}
{
"name" : "app5",
"fileName" : "./App/shmIpcBenchmark.out",
"allowedCores" : [0,1,2,3,4,5,6,7]
}
{
"name" : "app6",
"fileName" : "./App/shmIpcBenchmark.out",
"allowedCores" : [0,1,2,3,4,5,6,7]
}
{
"name" : "app7",
"fileName" : "./App/shmIpcBenchmark.out",
"allowedCores" : [0,1,2,3,4,5,6,7]
}
{
"name" : "app8",
"fileName" : "./App/shmIpcBenchmark.out",
"allowedCores" : [0,1,2,3,4,5,6,7]
}
],
"appDeployment" : [
"app1",
"app2",
"app3",
"app4",
"app5",
"app6",
"app7",
"app8"
]
修改完成后,请双击运行Build.bat脚本,即可将多核程序可执行文件转换为BBLOB格式的MAD文件。转换完成后,将会在工具包的images目录下生成MAD文件C66x-le.bin。
猜你喜欢
- 2024-11-24 「论文集锦」激光技术应用——《电子技术应用》优秀论文集锦
- 2024-11-24 基于MCAPI的多核软件开发方法
- 2024-11-24 硬件工程师必读!多款ARM、FPGA、DSP开发板/核心板测试使用大全
- 2024-11-24 基于多核DSP互联架构的SAR处理研究与设计
- 2024-11-24 基于TL6678F-EasyEVM评估板——DSP算法案例开发手册
- 2024-11-24 「方案分享」基于C6678+Zynq-7045 目标追踪视觉技术
- 2024-11-24 SAR成像的距离多普勒算法(RDA)的硬件实现
- 2024-11-24 AD9361、AD9613高速AD采集处理开发案例,基于C6678+Kintex-7
- 2024-11-24 基于TMS320C6678开发板的ZYNQ PS + PL异构多核案例开发手册(3)
- 2024-11-24 TMS320C6678开发板 ZYNQ PS + PL异构多核案例开发手册(4)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)