基于CAN 总线的DSP28335 在线烧写方法研究
周洋洋1,赵昶宇2
(1.海军驻天津地区兵器设备军事代表室,天津 300308;2.天津津航计算技术研究所,天津 300308)
摘 要: 为了提高升级DSP 程序的效率和可靠性,降低设备维护的成本,以DSP28335 为例,提出了一种基于CAN总线进行在线烧写程序的方法。阐述了FLASH 程序引导流程,介绍了上位机端软件和DSP 端软件的设计思想,最后明确了在线烧写的步骤,为DSP 技术开发和维护人员提供了一种方便快捷的升级程序的方法。
关键词: CAN 总线;DSP28335;在线烧写;bootloader
1 引言
DSP28335 是用于实时信号处理的微处理器,具有浮点运算功能,它接口丰富,控制精度高,且预算速度快,因此广泛应用于嵌入式系统的各个领域。通常将芯片的内部存储区分为引导程序区、运行程序区和下载区3 个部分。芯片接收到下载命令后,进入引导区运行引导程序,在引导程序下将用户应用程序代码内容下载到下载区,下载完毕并校验通过后再将下载区的内容复制到运行程序区,运行复位程序,完成Flash 的在线烧写。
本文以DSP28335 为例,提出一种基于CAN 总线的DSP在线烧写的方法,避免了在升级程序时因拆卸控制器带来的各种问题,降低了设备的维护成本。
2 FLASH 程序引导流程
DSP28335 自带FLASH 存储器,在代码运行前,将代码从FLASH 中拷贝到RAM 中运行,能够显著提高程序的运行效率。用户编写的应用程序固化到非易失性存储器FLASH 中,系统每次上电复位后,便开始运行FLASH 程序引导流程,具体流程为:调用InitBoot 函数把器件初始化成C28X 工作模式;然后调用SelectBootMode 函数,检测相应GPIO 引脚的电平状态,判断为FLASH 引导模式;引导结束后PC 指针将跳转至FLASH 中0x33FFF6 地址单元处,并执行其中的代码,用户需要在该地址存放一条指令;最后执行跳转指令将会跳转到C 环境初始化函数c_int00,只有当c_int00 运行后,才开始执行Main()函 数。
3 在线烧写软件设计
DSP28335 的在线烧写软件部分主要是由上位机端软件和DSP 端软件构成。
上位机端软件主要完成读取可执行代码文件,进行格式转换后将该文件通过CAN 总线发送给DSP 端,等待DSP端的响应。
上位机端软件向DSP 端软件发送的每帧数据都带有校验和,当DSP 端程序接收到该帧数据后,通过校验和对接收数据进行确认。确认完毕后,DSP 端软件将确认帧发送给上位机端软件,上位机端软件收到DSP 端发送的确认帧后,再向DSP 端软件发送下一帧数据;当上位机软件将全部数据发送完毕后,上位机端软件向DSP 端软件发送数据的总长度,DSP 端软件将该总长度与接收到的数据长度进行比较,将比较结果发送给上位机端软件,完成了整个数据的总校验。
依据患者的病史和病程等资料开展相应的妇产科知识宣讲。对于病情较轻和病程较短的患者,对他们进行如何预防并发症的教育;对于病情较重和病程较长的患者,则对他们进行如何缓解病情与痛苦、如何降低并发症的发生概率以及如何自我进行管理的教育。与此同时,护理人员也必须切实了解患者治疗期间的心理活动,在沟通时应该尽量保持温和、随意的态度,避免刺激到患者;对于已经患病一段时间的患者,则应当对他们进行劝解般的教育,缓解他们的消极和悲观心理,促使他们配合治疗[2]。
粉煤灰是电厂排出的固体废物,是我国工业废物之一,主要用于混凝土中代替部分水泥,降低成本。因此混凝土中所选的粉煤灰质量直接影响到混凝土的性质。烧失量作为粉煤灰质量检测的关键指标,对混凝土性能有重要影响。
3.1 上位机端软件设计
DSP 端软件主要包括引导程序和用户应用程序,前者不仅用来和上位机软件进行CAN 总线通讯接收DSP 程序可执行代码文件,并将接收到的可执行代码文件烧写到FLASH中,而且会在系统上电复位后会判断是执行FLASH 烧写工作还是运行用户应用程序工作;后者是用来和上位机软件进行CAN 总线通讯接收DSP 程序可执行代码文件,并将接收到的可执行代码文件烧写到FLASH 中。
基于DSP28335开发的应用程序经过CCS编译生成的目标文件类型为.out 文件,而DSP28335 无法识别该文件类型,需要通过hex2000.exe 工具将.out 文件转换成DSP28335 可以识别的二进制数据流文件。
希腊神话本不是历史教学的内容,学生能否正确选出这道题的正确答案就看是否能够将希腊神话诞生的历史背景和人文主义思想联系起来。本题考查人文思想诞生的背景,解题的时候一是要关注时间,二是找准材料的关键词。我们会发现希腊神话在人文思想诞生前已经存在,再结合神话中对诸神性情的描述,与人文思想进行对比会发现二者的相似之处:关注人。于是可以大胆得出结论:人文思想根植于传统文化。这道题就是一道非常典型的源于教材而又超越教材的题,对学生知识迁移能力的考查十分到位。
DSP 端软件主要完成和上位机端软件的握手,接收上位机端软件发送的可执行代码文件,并将该文件立即烧写到FLASH 中,完成烧写过程;此外DSP 端还需实现bootloader程序的功能。
3.2 DSP 端软件设计
上位机端软件首先读取.hex 文件,通过解析.hex 文件内容,将其拆分为多条数据帧结构。上位机端软件与DSP 端软件通过CAN 总线进行通讯。
FLASH 的烧写工作也是DSP 端软件需要实现的重要功能。在擦除或读写FLASH 之前,必须先执行相应的命令字序列,即在指定的FLASH 地址处写入指定的指令代码。
为保证接收数据的准确性和完整性,DSP 端软件在接收数据的过程中,不执行对RAM 或FLASH 操作的相关代码;同时,关闭其他的外部中断,仅响应CAN 总线接收中断,保证了数据接收的实时性。此外,DSP 端软件将接收到的数据存储在外扩的FLASH 中,等接收完全部数据后,再进行程序的烧写,防止在接收数据过程中出现意外而导致系统程序不能正常工作。
通过运用证伪思维对司法机关所搜集的被害人陈述进行审查,往往能够发现新的破案线索和证据,尤其是有利于发现真正的犯罪实施者。证据的收集与审查判断本身就是互为条件、相辅相成的。被害人陈述有时往往从表面上看是就事论事,但由于它是反映案件事实的直接证据,所以在对其个证与他证关系的审查判断中,通常能从对案件的详细叙述中获得新的破案线索或证据。
向FLASH 的指定地址中写入数据,需要四个总线周期。前两个是解锁周期,第三个是建立编程命令,最后一个周期完成向编程地址中写入编程数据。待写入的数据为.Hex 文件内容。
引导程序框图和应用程序框图的处理流程如图1 所示。
基于上述三个层次分析,可以发现中美两国关系与古希腊的雅典和斯巴达之间的关系有着显著的不同,特别是在国家、个体层面,这也就意味着中美超越“修昔底德陷阱”存在极大的可能性,中美并非注定一战。沃尔兹指出,清晰的意图可增进各国国民之间的理解,也意味着增进和平。与之类似,通过减少失望和不安全感,进而改善对个人行为的社会调节,可以降低战争爆发的频率[10]。中美领导人之间的密切沟通和两国人文交流的日益频繁,对减少两国之间的战略误判和误解具有积极意义,也有助于两国规避战争。
图1 引导程序框图和应用程序框图示意流程图
4 DSP28335 在线烧写的步骤
DSP28335 在线烧写分为以下4 个步骤:①利用CCS 开发工具,将要升级的应用程序编译生成.out 文件,利用hex2000.exe 工具将.out 文件转换成.hex 文件;②利用仿真器将被烧写的引导程序固化到DSP 中FLASH 的相应地址中;③完成步骤②后重新上电复位,利用上位机端软件将被烧写的DSP 应用程序发送到DSP 中;④DSP 重新上电,即可自动运行新更新的应用程序,完成DSP 的在线程序烧写。
5 结束语
本文研究的基于CAN 总线的DSP28335 的在线烧写方法极大释放了软件维护人员的工作量,提高了软件升级的质量和效率。该方法已成功应用到某型号DSP 控制系统中,经过实际应用证明,软件烧写过程快速、稳定、可靠。该技术的研究使DSP 程序的更新可以脱离仿真器,为程序的更新和程序的远程维护提供了方便,具有很强的实用性。
参考文献:
[1]刘德生,李杰.基于JTAG 的DSP 外部Flash 在线编程与引导技术[J].电子技术应用,2005(3):61-63.
[2]罗剑,胡荣强.DSP 并行引导多种方法实现的研究[J].仪表技术,2007(3):25-27.
[3]赵海舰.嵌入式系统的Hash 编程技术研究[J].计算机工程与设计,2005,11(26):3006-3008.
中图分类号: TP332
文献标识码: A
DOI: 10.15913/j.cnki.kjycx.2019.06.058
文章编号: 2095-6835(2019)06-0058-02
作者简介: 周洋洋(1991—),男,工程本科学历,助理工程师,从事装备质量监督与检验验收方面的工作。
〔编辑:严丽琴〕
标签:can总线论文; DSP28335论文; 在线烧写论文; bootloader论文; 海军驻天津地区兵器设备军事代表室论文; 天津津航计算技术研究所论文;