DSP28035的can升级方案
提供源代码,测试用固件。
上位机采用c#开发。
说明
一、介绍
1、测试平台介绍:采用M新动力的DSP28035开发板,CAN口使用GPIO30\31。波特率为500K。
2、28035__APP为测试用的用户代码,ccs10.3.1工程,参考其CMD配置。
3、28035_Bootloader_CAN为bootloader源代码,ccs10.3.1工程;
4、SWJ为上位机,采用VS2013开发,C#语言。
5、测试使用的是周立功的USBCAN-II,can盒,如果用一些国产可以兼容周立功的,则更换这里面的ControlCAN.dll即可。
6、升级的app工程需要生成hex去升级,具体参考我给的工程的设置。
7、BootLoader代码,只有D400这一个灯1s闪烁一次;
APP代码,D400\401\402三个灯同时200ms闪烁一次。
8、目前跳转时间设置为5s;
9、协议的注释在上位机源代码中。
DSP28035的CAN升级方案
近年来,随着物联网技术的迅速发展,越来越多的设备需要采用嵌入式系统进行控制和通信。其中,CAN总线作为一种专门用于通信的标准总线,已经在汽车领域得到广泛应用。针对CAN升级的问题,本文提供一种基于DSP28035的CAN升级方案。
一、测试平台介绍
本方案使用M新动力的DSP28035开发板作为测试平台,CAN口使用GPIO30/31,波特率为500K。测试使用的是周立功的USBCAN-II,can盒,如果用一些国产可以兼容周立功的,则更换这里面的ControlCAN.dll即可。
二、源代码和测试用固件
本方案提供了源代码和测试用固件,其中:
1、28035_APP为测试用的用户代码,ccs10.3.1工程,可参考其CMD配置。
2、28035_Bootloader_CAN为bootloader源代码,ccs10.3.1工程。
3、SWJ为上位机,采用VS2013开发,C#语言。
4、协议的注释在上位机源代码中。
5、升级的app工程需要生成hex去升级,具体参考我给的工程的设置。
三、方案实现
本方案采用基于CAN总线的bootloader升级方案,具体实现流程如下:
1、在用户应用程序中,将升级文件通过CAN总线发送到设备端。
2、设备端接收到升级文件后,将文件写入Flash中。
3、设备端重启后,启动bootloader,读取Flash中的升级文件并将其更新到设备的应用程序中。
基于DSP28035的CAN升级方案的实现主要有以下几个步骤:
1、编写bootloader代码,用于接收并更新升级文件。
2、编写用户应用程序,用于将升级文件通过CAN总线发送到设备端。
3、编写上位机程序,用于与设备通信并发送升级文件。
四、代码分析
1、28035_Bootloader_CAN
本代码实现了bootloader的功能,使用CCS10.3.1编译通过。在bootloader中,我们需要实现CAN总线的接收和Flash的写入功能,具体实现见代码。
2、28035_APP
该代码为用户应用程序,用于将升级文件通过CAN总线发送到设备端。在应用程序中,我们需要实现CAN的发送功能,同时还需要将升级文件写入到Flash中。
3、SWJ
该上位机程序使用VS2013开发,使用C#语言编写。上位机程序需要与设备进行通信,并向设备发送升级文件。同时,上位机程序还需要处理设备端发送的反馈信息,以实现升级的完成与检测。
五、总结
本文介绍了一种基于DSP28035的CAN升级方案,通过实现bootloader、用户应用程序和上位机程序,完成了升级文件的传输和更新。本方案具有通用性、可移植性和易维护性等优点,能够满足不同设备的升级需求。通过该方案的研究和实践,我们可以更好地理解嵌入式系统的设计与开发,并充分发挥其在物联网应用中的作用。
相关代码,程序地址:http://lanzouw.top/700260524468.html