LabVIEW生成hex文件,并通过以太网将hex文件发送给F28388D

        最近开发28388Bootloader功能,需要将hex文件通过上位机发送到DSP。整理了下LabVIEW生成hex文件以及解析发送hex文件需要注意的地方,附有代码链接。       

         如上图程序LabVIEW的程序分成两部分。

        左边部分选择.out文件的路径,通过TI的hex2000文件生成hex文件,需要注意的是命令行的字符串语句最后要加一个回车,否则无法执行语句。

        右边部分是是对hex文件的处理处理与发送,又分四部分(左上,右上,左下,右下四个部分):

        第一步将hex文件按行提取放到数组中,并把hex文件每行开头的:给去掉。

        第二步考虑到由于读取的是文本类型的数据,在UDP发送时LabVIEW会将文本类型的字符串转换为ASCII码再发送,但这并不是我想要的,我想直接把hex文件文本字符串作为16进制字节发送,所以需要进一步处理。比如我的hex文件第一行是“0200 0004 0008 F2” 我这里把每个字节提取出来转换为数值后,再强制类型转换成16进制字节类型的字符串(程序链接中有一个VI专门是测试这项转换,大家可以自己看看结果)。由于网络是发送是大端字节序,而DSP是小端字节序,如果直接发送的话存在字节序问题。

        第三步根据28388存储特点(CPU1端每个地址16个位),所以每2个字节转换一次字节序,转换字节序的原理就是先按小端读取再强制类型转换回去。考虑到hex文件每行不是2的倍数,所以我在每行之后加了2个0字节(反正发几个0不影响,多余的几个0字节受到循环次数的约束不会被读取)。

        一系列转换完成后,就是第四步通过以太网发送了。

        看一下DSP读取的结果:

         轻松秒杀:)

        程序链接(包含hex2000,两个发送程序一个只发送hex文件的单行一个发送全部hex文件,文本类型字符串转16进制字节字符串的测试VI):

https://download.csdn.net/download/qq_41134816/87376891

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值