TMS320F28035 DSP CAN程序升级方案 BootLoader

更新时间:2023-09-28 01:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

●系统硬件架构说明

PC计算机

CAN卡

车载DCDC CAN总线(双绞线)

USB线缆(屏蔽线缆)

程序升级需一台PC计算机,一块CAN卡,和一个待升级设备。PC计算机下发升级数

据,控制并监视整个烧录过程。PC机通过USB口和线缆与CAN卡线连接,CAN卡将USB数据线数据转换为CAN报文,通过CAN总线与待升级的设备连接。CAN卡实现PC机与待升级设备间的连接,控制,数据通信。一次程序升级过程可对一个设备进行程序更新。

PC机需安装windowsXP,window7,8,10操作系统,且安装好监控升级软件,以及CAN卡驱动程序。

CAN卡采用USB线缆供电并采用专用USB转UART(异步串口)芯片HC340,为PC机拓展出一个虚拟串口,PC机凭此串口与CAN卡进行通信,CAN卡主控芯片采用28035,主要功能是实现串口数据到CAN数据报文的格式转换。

●上位机监控软件使用介绍

1、首先安装CAN卡驱动程序(HL-340),安装完成后在PC电脑任一USB口插入CAN卡,即可在”我的电脑”-”设备管理器”-“串口”一栏中找到对应拓展出来的串口,表明驱动安装正确,CAN卡连接正确。

HL-340驱动程序图标

2、点击打开监控软件

监控软件图标

监控界面如下

1).在监控软件中“串口号”一栏填入对应串口,在点击”打开串口”控件,连接好CAN与设备CAN线,给设备接入12V电源,即可监控通讯

2.点击“HEX文件读取按钮”,弹出hex文件查找对话框,找到需要烧录的hex文件,点击打开即可。

Hex文件查找对话框

此时“文件路径”控件显示待烧录的hex文件在硬盘中的实际位置,用于核对检查。

一般程序升级仅升级应用程序,因此编程选项栏中默认选择“擦除编程应用扇区”,若需对基本CAN升级扇区(B扇区)升级程序,则点击选择“擦除编程基础程序”,若需对28035芯片整个FLASH进行擦除和程序升级,则点击选择“擦除编程所有flash扇区”,但此功能慎用,此功能一次性擦除和编程所有扇区,升级过程中掉电,目标设备将无法使用CAN再次升级。若基本程序和应用程序都需要升级,且无法确保升级过程中供电和通信稳定,则需要分两次升级,在编程选项中分别点击选择不同选项。

速度选择一栏选择不同烧写速度,由于不同电脑配置差异较大,低配置电脑,或者已有多个进程运行,CPU占用率较高,还使用最快速的烧写档位,容易数据校验出错现象,导致程序烧录不成功。此时采用低档烧录,减小一次向串口缓冲区写入的数据量,从而减小进程处理任务,提高通信稳定性,可大大增加烧录成功率。(实际使用发现:低配置台式电脑在最快烧录速度下,错误率较高,需降低烧写速度3到4档,笔记本电脑可用最快速度烧录)。

3.点击“擦除flash并自动编程”控件,上位机自动发起连接,控制目标设备进行程序升级。烧录过程中勿操作界面,直到烧录完成后才能进行其他操作。进度条控件显示烧录进度,一般升级过程在40秒钟作用。

4.当程序升级成功,界面上将显示所有数据校验正确,状态指示一栏显示“SuccessStatus”,若烧写结束而数据校验不正确,“状态指示”一栏显示“VerifyStatus”,若目标升级设备没有和上位机建立通信则“状态指示”一栏显示“launchStatus”。若目标设备处于FLASH扇区擦除过程则显示“EraseStatus”,若处于程序烧录过程中则显示“ProgramStatus”。 5.烧写成功完成后,目标设备自动复位,重新执行最新程序。可将监控界面由程序升级页面切换到产品监控页面,观察最新烧录好的软件的版本号,规格型号等有用信息。

●28035flash介绍

16bit 8K

A B C D E F G H

28035FALSH存储空间共64K(64K字),他们被组织在8个扇区,每扇区8K,每个扇区可被单独擦除和编程,不影响其他扇区。扇区中每一个基本存储单元称为一个字,而一个字有16个位。对每个扇区编程之前,必须先擦除该扇区,擦除即将扇区每一位写1,编程即将特定位写0。

以上表格是各扇区的绝对地址,CPU可根据以特定的绝对地址访问对应FLASH的特定地址单元

●烧写文件(.hex)介绍

CCS6编译器经过适当配置,软件编译结束以后会自动产生intel格式的hex文件,该文件以特定格式保存了最终烧录到flash中的机器码,此类型文件用于CAN程序升级。(软件编码编译完成后产生的.out文件,需用JTAG调试烧录工具将机器代码烧录到芯片中)。

以实际应用的hex文件(intel格式hex文件)为例说明, 红色 起始域 每行以冒号开始,它表示每行的开始

黄色 长度域 例如02表明本行有两个字节数据,0x20表示本行有32个字节数据。 绿色 地址域 它表示每行数据的起始地址(低位) 蓝色 类型域

这个域表示这条HEX记录的类型,他有可能是下面这几种类型 00 ----数据记录,表明此行记录表示数据 01 ----文件结束记录,表明此行文件最后一行。

02 ----扩展段地址记录,表明此行记录的是高段地址,DSP寻址空间为0x3FFFF,64K,即而地址域仅能表示低16位地址,因此需使用高段地址配合使用。 04 ----扩展线性地址记录

紫色 数据域 若本行为数据记录则依次表示将要烧录到flash对应地址单元中的数据,若本行为拓展地址记录,则表示高段地址。一行总数据字节数量,可从长度域得到 灰色每行最后两个字符为本行数据校验和。

:02000004003EBC

:20800000FE02761F01BF1A0E0200761F02650610EC05761F01BF1A0E0080761F002C92048A :20801000761F0263962D767E908E761F0263962B922F542B56C30009761F02654612EE0C16 :208020001A1000406F099230542B56C50006761F02651810FFBF761F0263922C542B56C3CA :208030000004922B962C761F002C9202761F0264960A767E908E761F0264960B920C540B12 :2080400056C30009761F02654F12EE0C1A1080006F099E39540B56C50006761F026518100A

:206160008E77003E8E7D003E8E83003E8E89003E8E8F003E8E95003E9085003E9085003E8D :206170009085003E8E9B003E9085003E9085003E8EA1003E8EA7003E8EAD003E8EB3003ED7 :206180008EB9003E9085003E9085003E9085003E9085003E8EBF003E8ED6003E8EED003E48 :206190009085003E8F04003E9085003E8F0A003E9085003E9085003E8F10003E8F16003E3B :2061A0008F2D003E8F44003E8F5B003E8F72003E8F89003E8FA0003E8FB7003E8FCE003E8B :0C61B0009085003E9085003E8FE5003E8B :047FF600007EAB9FBF :00000001FF

以第一行为例,此行有两个字节数据,即0x003E,且本行是拓展段地址记录,即它表示起始高位地址为0x003E, 以第二行为例,此行有0x20即32个字节数据记录,且本行是数据记录,低位地址为0x8000,即从0x3E800地址开始,每个flash地址单元当中的数据依次是0xFE02,761F....9204

根据以上数据记录可解析出flash中每一个地址单元中的数据,例如:根据第一第二行的信息可解析出,地址0x3E8000中存放数据为0xFE02。将该地址与数据传入DSP中,CPU调用烧写函数将数据烧录到对应的flash特定地址当中。

本文来源:https://www.bwwdw.com/article/231d.html

Top