C66x DSP(TMS320C6678)如何实现程序远程升级
#申请原创#目录前 言1硬件平台2串口远程升级方案2.1 案例功能2.2 案例框图2.3 关键代码3网络远程升级方案3.1 案例功能3.2 案例框图3.3 关键代码4更多案例推荐
前 言
DSP板卡一般通过仿真器进行调试,包括程序的加载与固化。由于众多应用场合对产品体积、产品密封性均有严格要求,或我们根本无法近距离接触产品,因此终端产品很多时候无法预留JTAG接口或通过JTAG接口升级程序。此时,在不拆箱的前提下实现程序的远程升级,则显得尤为重要。
基于以上考虑,为了让嵌入式应用更简单,创龙科技(Tronlong)基于TI TMS320C6678平台提供了DSP程序远程升级方案:串口远程升级、网络远程升级。
https://img-blog.csdnimg.cn/img_convert/585cbf091b808962ac9fdd86681dfbd8.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
1硬件平台
本文基于创龙科技TL6678-EasyEVM评估板进行演示。
TL6678-EasyEVM是一款基于TI KeyStone架构C6000系列TMS320C6678八核C66x定点/浮点高性能处理器设计的高端多核DSP评估板,由核心板与底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
评估板接口资源丰富,引出双路千兆网口、SRIO、PCIe等高速通信接口,方便用户快速进行产品方案评估与技术预研。
https://img-blog.csdnimg.cn/img_convert/1a9b976f71d67f6c895ff3a0d56efc6c.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
开发案例主要包括:
(1) 裸机开发案例
(2) RTOS(SYS/BIOS)开发案例
(3) IPC、OpenMP 多核开发案例
(4) SRIO、PCIe、双千兆网口开发案例
(5) 图像处理开发案例
(6) DSP算法开发案例
(7) 串口、网络远程升级开发案例
(8) TMS320C6678 DSP交流群:79635273、332643352
案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)可点击http://site.tronlong.com/pfdownload获取。
2串口远程升级方案
2.1 案例功能
PC机使用串口调试终端软件SecureCRT,通过串口将用户程序远程固化至NOR FLASH或NAND FLASH。
2.2 案例框图https://img-blog.csdnimg.cn/img_convert/b1b273d37f582cf52af39fe093a1a7ba.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
2.3 关键代码
(1)主函数简要说明。
https://img-blog.csdnimg.cn/img_convert/332bbf15941c2c287a424df261115c7c.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==https://img-blog.csdnimg.cn/img_convert/7f388000198cb6a7c4cca7f1e45a2f91.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==https://img-blog.csdnimg.cn/img_convert/c68b38b040333f6d11727cb129d56468.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==https://img-blog.csdnimg.cn/img_convert/547a520701d0f703af50ebf4525f9796.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
由main函数中flash_type变量指定固化用户程序至NOR FLASH或NAND FLASH。
https://img-blog.csdnimg.cn/img_convert/cda3b428742127bd99fe7f8a95069b8b.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
3网络远程升级方案
3.1 案例功能
通过网页界面对评估板的NOR FLASH或NAND FLASH进行读、写、擦除操作,实现程序远程固化至NOR FLASH或NAND FLASH。
3.2 案例框图
https://img-blog.csdnimg.cn/img_convert/da3e5de5b2c889813163dd439c17240a.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
3.3 关键代码
(1)初始化网络子系统。
https://img-blog.csdnimg.cn/img_convert/2d782c74cdfe0d95a901c5b07446720b.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
(2)动态创建ndk_client任务。
https://img-blog.csdnimg.cn/img_convert/bc1d386be974e0f040d0451eccdaaac6.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
(3)默认使用DHCP模式自动获取IP地址,如需修改为静态IP地址,可参考如下说明进行配置。默认适配ETH1网口,如需使用ETH0网口,可参考如下说明进行配置。
https://img-blog.csdnimg.cn/img_convert/ab677723155decd3337971a8fdfef45e.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==https://img-blog.csdnimg.cn/img_convert/4922740bcc0fee09c2d70f0cfeca5f19.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==https://img-blog.csdnimg.cn/img_convert/4c8492ab03f80f9f594fdfdb79d5a6b1.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
(4)创建HTML 网页,并添加网页功能所需的Web网页文件。
https://img-blog.csdnimg.cn/img_convert/8d105c48aab5b63216b8d78750519895.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
(5)将配置写入NDK配置中,并初始化NDK子系统。
https://img-blog.csdnimg.cn/img_convert/6c6feedda8cc307dfd1169744c2d8e0f.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
(6)通过MAX_POST_FILESZ配置网页上传文件大小。
https://img-blog.csdnimg.cn/img_convert/b538d45c13c4ab94ffe5076851dd0c98.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
project\webpages\flash.h
(7)通过AddWebFiles()创建网页服务所需元素文件。
https://img-blog.csdnimg.cn/img_convert/0aee789d51f65f08c5850fe3cb19dae9.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
project\webpages\webpage.c
(8)创建Flash编程界面和响应网页操作函数。
https://img-blog.csdnimg.cn/img_convert/b6aeb5d0ab5cdf53a6eb6c3d3410de16.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
project\webpages\flash.c
(9)选择编程设备。
https://img-blog.csdnimg.cn/img_convert/2577756e94c2915782aa64995254ab95.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
project\webpages\flash.c
(10)初始化设备并读取设备硬件信息。
https://img-blog.csdnimg.cn/img_convert/1b8ef1db4c819287de12ff5604ced181.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
project\webpages\flash.c
(11)数据写入操作过程说明:创建Starting Address、File to Write选项,将上传事件与flashwrite.cgi进行绑定。
https://img-blog.csdnimg.cn/img_convert/27bd21c9f321ef9a8dc04d10a290ccc5.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
project\webpages\flash.c
(12)按下Write按钮后,将触发serveFlashWritePage(),在函数中获取上传文件并保存至write_buffer中。
https://img-blog.csdnimg.cn/img_convert/3affb822101f76ef5edeb25e30341876.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
project\webpages\flashwrite.c
(13)固化用户程序可执行文件至对应的编程设备中。
https://img-blog.csdnimg.cn/img_convert/909ce24b3af5fa8d144ce989028d3226.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
project\webpages\flashwrite.c
本案例实现了网页的基本功能,如需新增其他功能,可修改案例工程webpages目录下的相关文件。HTML文件default.html修改后需转换为default.h并替换原有文件,再重新进行编译,修改方可生效。webpages的tool目录下提供了HTML文件转换工具包php-8.0.0.rar。
请将webpages的tool目录下的php-8.0.0.rar压缩包解压至Windows非中文路径下,并确保已正确安装BIOS-MCSDK多核软件开发包。
https://img-blog.csdnimg.cn/img_convert/fcf7b3303e0200dc8913453923247ade.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
将修改后的default.html重命名为default,并拷贝至php-8.0.0.rar压缩包解压目录。
https://img-blog.csdnimg.cn/img_convert/b3e4eb02b4bb02c0b75b4f90df54772a.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
双击运行convert.bat脚本,即可在当前目录下生成default.h文件。
https://img-blog.csdnimg.cn/img_convert/f65866268fe5dd55ed7e1422006b63fa.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
4更多案例推荐
https://img-blog.csdnimg.cn/img_convert/ba1c87872216b1012716312a33fa6602.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
1.C6678+K7视频采集处理方案
https://img-blog.csdnimg.cn/img_convert/f467eb1ce0058d3b1ef7de26609dd624.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
2.FPGA+DSP的高速AD采集处理开发详解
页:
[1]