DSP28335程序在线升级IAP,基于CAN总线,下位机部分

本文介绍了如何通过CAN总线进行DSP28335程序的在线升级(IAP),详细阐述了总体思路、程序设计步骤,包括CMD文件划分、CAN驱动编写和通信协议设计。通过对片上Flash的重新划分,实现了Boot和App工程的独立,并提供了Boot工程的SECTIONS段分配示例。
摘要由CSDN通过智能技术生成

一、总体思路
        首先要介绍的是,DSP在线升级的本质是指上位机先解析hex/bin文件,然后通过CAN总线/串口等通信方式,把解析的数据发给DSP(下位机),DSP利用TI封装好的flash编程函数(擦除/编程/验证)写入flash 。
        这里遇到个问题,dsp自己给自己编程,程序运行在哪里呢?所以要对片上flash重新划分,用来存放两个工程,一个工程用来做程序升级,一个工程用来做正常开发。28335的flash是256K*16位的,有8个扇区,A区有程序密码锁。我们称第一个工程为boot,第二个工程为app。
二、程序设计步骤

1、cmd文件划分
cmd文件包括两个部分,第一,MEMORY区,他是用来指示存储空间的,里面有两页,pag0是程序区,pag1是数据区;第二,SECTIONS区,他是用来分配存储空间的。这里面基于ti的28335.cmd文件修改,其实只需要指定下app工程的跳转地址就可以,长度为2个字。boot工程还是用原来的跳转地址,在扇区A中。扇区A,D用来做boot,扇区H/G/F/E用来做app,B/C区暂不做指定。

以下是MEMORY修改部分

  /* FLASHH      : origin = 0x300000, length = 0x008000*/     /* on-chip FLASH */
   APP_BEGIN   : origin = 0x300000, length = 0x000002     /* on-chip FLASH */
   FLASHH      : origin = 0x300002, length = 0

  • 13
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
IAP全称为“即时应用程序”,是指对底层嵌入式系统进行在线更新或下载的一种技术方案,也是嵌入式系统应用领域的重要技术。 基于CAN总线TMS320F28335IAP,是指利用TMS320F28335 MCU的CAN总线进行在线程序更新的技术方案。针对一些需要在运行过程中进行程序升级的系统,传统的离线升级方式并不能满足要求,因此采用基于CAN总线IAP进行在线升级,可以实现系统无需停机便可进行程序升级。同时,该方案具有数据传输速度快、传输稳定性好、升级效率高等优点,有效提高了系统可靠性与安全性。 在实现基于CAN总线TMS320F28335IAP技术方案时,需注意以下三个方面: 1.消息协议的设计 由于CAN总线的数据传输方式为广播/单播,因此需要设计一套合理的消息协议,以实现节点之间的数据交换和通讯。在该方案中,可以采用基于帧ID的消息协议,通过CAN总线传输升级程序数据,保证升级数据的可靠性和安全性。 2.硬件电路的设计 需要在硬件电路上增加与CAN总线的通讯接口,以实现数据的发送与接收功能。此外,还需要在程序存储区域中留出一定的空间,用于存储新程序,以便在升级过程中更新系统程序。 3.软件程序的设计 需要在原有的应用程序基础上,增加升级程序代码,实现程序在线切换和存储空间的管理等功能。 总之,基于CAN总线TMS320F28335IAP技术方案是一种具有实际应用意义的技术方案,可以有效提高嵌入式系统的可靠性和安全性。在具体实现时需注意消息协议的设计、硬件电路的设计和软件程序的设计等方面。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值