TMS320F28035 DSP CAN程序升级方案 BootLoader

上传人:m**** 文档编号:216203346 上传时间:2023-06-05 格式:DOCX 页数:14 大小:159KB
收藏 版权申诉 举报 下载
TMS320F28035 DSP CAN程序升级方案 BootLoader_第1页
第1页 / 共14页
TMS320F28035 DSP CAN程序升级方案 BootLoader_第2页
第2页 / 共14页
TMS320F28035 DSP CAN程序升级方案 BootLoader_第3页
第3页 / 共14页
资源描述:

《TMS320F28035 DSP CAN程序升级方案 BootLoader》由会员分享,可在线阅读,更多相关《TMS320F28035 DSP CAN程序升级方案 BootLoader(14页珍藏版)》请在装配图网上搜索。

1、系统硬件架构说明PC计算机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机拓展 出一个虚拟

2、串口,PC机凭此串口与CAN卡进行通信,CAN卡主控芯片采用28035,主要功 能是实现串口数据到CAN数据报文的格式转换。上位机监控软件使用介绍1、首先安装CAN卡驱动程序(HL-340),安装完成后在PC电脑任一 USB 口插入CAN卡,即可 在”我的电脑”-”设备管理器”-“串口”一栏中找到对应拓展出来的串口,表明驱动安装正确 CAN 卡连接正确。2、点击打开监控软件HL-54OHL-340 驱动程序图标GO5PDWERV17092CKKI监控界面如下1).在监控软件中“串口号”一栏填入对应串口,在点击”打开串口”控件,连接好CAN与设 备 CAN 线,给设备接入 12V 电源,即可监控

3、通讯2.点击“HEX文件读取按钮”,弹出hex文件查找对话框,找到需要烧录的hex文件,点击 打开即可。监控软件图标Hex 文件查找对话框此时文件路径控件显示待烧录的hex文件在硬盘中的实际位置,用于核对检查。文PW径 五:tCCSbproj c ct JKDC_15nCV_MTMJ c bngVC!;2DU1. hu一般程序升级仅升级应用程序,因此编程选项栏中默认选择“擦除编程应用扇区”若 需对基本CAN升级扇区(B扇区)升级程序,则点击选择“擦除编程基础程序”若需对28035 芯片整个FLASH进行擦除和程序升级,则点击选择“擦除编程所有flash扇区”,但此功能 慎用,此功能一次性擦除和

4、编程所有扇区,升级过程中掉电,目标设备将无法使用CAN再 次升级。若基本程序和应用程序都需要升级,且无法确保升级过程中供电和通信稳定,则需 要分两次升级,在编程选项中分别点击选择不同选项。速度选择一栏选择不同烧写速度,由于不同电脑配置差异较大,低配置电脑,或者已有 多个进程运行, CPU 占用率较高,还使用最快速的烧写档位,容易数据校验出错现象,导致 程序烧录不成功。此时采用低档烧录,减小一次向串口缓冲区写入的数据量,从而减小进程 处理任务,提高通信稳定性,可大大增加烧录成功率。 (实际使用发现:低配置台式电脑在 最快烧录速度下,错误率较高,需降低烧写速度3 到4档,笔记本电脑可用最快速度烧录

5、)。3点击“擦除flash并自动编程”控件,上位机自动发起连接,控制目标设备进行程序 升级。烧录过程中勿操作界面,直到烧录完成后才能进行其他操作。进度条控件显示烧录进 度,一般升级过程在40秒钟作用。4. 当程序升级成功,界面上将显示所有数据校验正确,状态指示一栏显示“ Successstatus”, 若烧写结束而数据校验不正确,“状态指示”一栏显示VerifyStatus”,若目标升级设备没 有和上位机建立通信则“状态指示”一栏显示“launchStatus”。若目标设备处于FLASH扇 区擦除过程则显示“ EraseStatus”,若处于程序烧录过程中则显示“Programstatus”。

6、5. 烧写成功完成后,目标设备自动复位,重新执行最新程序。可将监控界面由程序升级页面 切换到产品监控页面,观察最新烧录好的软件的版本号,规格型号等有用信息。28035flash 介绍28035FALSH存储空间共64K (64K字),他们被组织在8个扇区,每扇区8K,每个扇 区可被单独擦除和编程,不影响其他扇区。扇区中每一个基本存储单元称为一个字,而一个 字有16个位。对每个扇区编程之前,必须先擦除该扇区,擦除即将扇区每一位写1,编程即 将特定位写0。Tabla 3-1. Addresses of Flash Seclore iin F2S034/28035ADDRESS RANGEPROGR

7、AM AND DATA SPACE0x3E 80009FFFSector r(&K x 16)Cw3E AMO - 0x3E BFFFSector G (6Kx W)CMO - (hJE DFF-SeclQfF 畑Kx 1&Cm3E Emo - CbcSE FFFFSector E (SKx 16)(MF DOOD - Dx3F FFSector D 但K 號 16)to3F 2M0-0X3F3FFFSector C 傅K v 16)0x3F 4D0D - Dx3F 5FFFSector IE (8K x 16)0K3F 0000- CW3F 7F7FSector A (3K X 16)0x3

8、F 7Ffl0 - Qx3F 7FF5Program 8 0x0000 when 騎I ng the Code Security Mc-duleto3F 7FF6 - 0x3F 7FF7Boot-lQna&h Ertry Point (pfogram branch inshuclian here)Dk3F 7FF3 - Ok3F 7FFFSecuirity Password(Do mrt program Id al) zeros)以上表格是各扇区的绝对地址,CPU可根据以特定的绝对地址访问对应FLASH的特定地 址单元烧写文件(.hex)介绍CCS6编译器经过适当配置,软件编译结束以后会自动产

9、生intel格式的hex文件,该文件以 特定格式保存了最终烧录到flash中的机器码,此类型文件用于CAN程序升级。(软件编码 编译完成后产生的.out文件,需用JTAG调试烧录工具将机器代码烧录到芯片中)。以实际应用的hex文件(intel格式hex文件)为例说明,红色起始域每行以冒号开始,它表示每行的开始黄色 长度域例如02表明本行有两个字节数据,0x20表示本行有32个字节数据。绿色地址域它表示每行数据的起始地址(低位)蓝色类型域这个域表示这条HEX记录的类型,他有可能是下面这几种类型00数据记录,表明此行记录表示数据01文件结束记录,表明此行文件最后一行。02 一扩展段地址记录,表明此

10、行记录的是高段地址DSP寻址空间为0x3FFFF,64K,即而地址 域仅能表示低 16 位地址,因此需使用高段地址配合使用。04 -扩展线性地址记录紫色 数据域 若本行为数据记录则依次表示将要烧录到flash对应地址单元中的数据,若本 行为拓展地址记录,则表示高段地址。一行总数据字节数量,可从长度域得到灰色每行最后两个字符为本行数据校验和。:02000004003EBC:20800000FE02761F01BF1A0E0200761F02650610EC05761F01BF1A0E0080761F002C92048A:20801000761F0263962D767E908E761F026396

11、2B922F542B56C30009761F02654612EE0C16:208020001A1000406F099230542B56C50006761F02651810FFBF761F0263922C542B56C3CA:208030000004922B962C761F002C9202761F0264960A767E908E761F0264960B920C540B12:2080400056C30009761F02654F12EE0C1A1080006F099E39540B56C50006761F026518100A:206160008E77003E8E7D003E8E83003E8E8900

12、3E8E8F003E8E95003E9085003E9085003E8D:206170009085003E8E9B003E9085003E9085003E8EA1003E8EA7003E8EAD003E8EB3003ED7:206180008EB9003E9085003E9085003E9085003E9085003E8EBF003E8ED6003E8EED003E48:206190009085003E8F04003E9085003E8F0A003E9085003E9085003E8F10003E8F16003E3B :2061A0008F2D003E8F44003E8F5B003E8F720

13、03E8F89003E8FA0003E8FB7003E8FCE003E8B :0C61B0009085003E9085003E8FE5003E8B:047FF600007EAB9FBF:00000001FF以第一行为例,此行有两个字节数据,即0X003E,且本行是拓展段地址记录,即它表示起始高位地址为 0x003E,以第二行为例,此行有0x20即32个字节数据记录,且本行是数据记录,低位地址为0x8000,即从0X3E800地址开始,每个flash地址单元当中的数据依次是0xFE02,761F.9204根据以上数据记录可解析出flash中每一个地址单元中的数据,例如:根据第一第二行的信 息可解

14、析出,地址0X3E8000中存放数据为0xFE02。将该地址与数据传入DSP中,CPU调用 烧写函数将数据烧录到对应的 flash 特定地址当中。上位机解析出所有的机器码,并将它们下发到DSP中,DSP运行的程序解析出一帧报文中的 绝对地址,分析是哪一个扇区,从而决定是否将机器码烧录到该绝对地址中。 CAN报文与通信协议介绍主/从机标志位主机:0从机:1帧类型选择域01:命令帧02:数据帧03/04:保留监控/升级选择位固定为116-1命令类型/状态域保留低位地址域高位地址域数据/命令域CAN报文最高位为主从机标志位,当帧类型为数据帧时,16-1位存放机器码,32-17位存放 该机器码的高位地

15、址,48-33位存放机器码的低位地址。按以上帧格式,上位机与目标升级 设备进行主从通信,一个帧中包含一个FLASH中的绝对地址以及地址当中的数据,目标设备 CPU接收到报文后进行分析处理,并向上位机发送应答帧,应答帧格式相同,仅主/从机标 志位不一样,上位机将接收到的应答帧,并且应答帧完全正确,表明所有数据已下发,并无 通讯错误。掉电升级原理:初始跳转扇区CAN升级扇区应用程序扇区H扇区FLASH入口域A扇区跳转域B扇区编程标志域B扇区跳转域C扇区编程标志域C扇区跳转域C-H扇区用来存放应用程序,B扇区存放CAN升级基本程序。A扇区用于选择跳转到应用程 序还是CAN升级程序。B扇区编程标志域:

16、0x3F5FFE-0x3F5FFF长度为2个字,编程成功该域写0,否则该域各位写1B扇区跳转域:0x3F5FFC-0x3F5FFD,长度为2个字,跳转到cintOO函数,实现C运行编程环 境初始化。C扇区编程标志域:0x3F3FFE-0x3F3FFF,长度为2个字,编程成功该域写0,否则该域各位 将写1C扇区跳转域:0x3F3FFC-0x3F3FFD,长度为2个字,跳转到cint00函数,实现C运行环境初 始化。A扇区入口地址域:0x3F7FF6-0x3F7FF7,长度为2个字,该域放置一条跳转指令用于,跳转 到A扇区跳转域。A扇区跳转域:0x3F7E00-0x3F7F7F,长度为384个字,

17、根据B,C扇区编程标志域情况,决定 跳转到B或者C扇区执行程序。DSP复位完成后,CPU将跳转到A扇区绝对地址0x3F7FF6-0x3F7FF7执行程序,该区域称FLASH入口域,此区域将放置一个跳转指令,跳转到A扇区的跳转域A扇区跳转域根据B扇区与C扇区的标志域中的情况选择跳转。若C扇区标志域为0x0000,表明应用程序有效,则跳转到C扇区执行应用程序。若C扇区 标志域为0xFFFF则表明应用程序未升级成功,则跳转到B扇区执行基板CAN升级程序。应用程序升级过程:应用程序升级时,DSP会保留A,B两扇区,并先擦除C扇区,随后D,E,F,G,H扇区相 继被擦除,C区编程标志域被擦除置1。DSP

18、接收上位机下发数据对C,D,E,F,G,H扇 区编程。当编程完毕,上位机下发烧写成功命令,DSP对C扇区标志域写0,表示应用程序 升级成功。B扇区程序升级过程:B扇区存放仅包含CAN升级的程序,对该扇区升级程序时,DSP会保留其他扇区,先擦除B 扇区,B扇区编程标志域被擦除置1.DSP接收上位机下发数据对B区编程,编程完毕后,上 位机下发烧写成功命令,DSP对B扇区标志位写0,表示B扇区程序升级成功。工程文件组织:B扇区程序以常量表格形式被嵌入到应用程序工程中。该表格被应用程序工 程链接到 B 扇区。基本CAN升级工程,最终程序被分配到A扇区和B扇区。其中在A扇区生成的程序与应用 工程完全一样

19、。该工程文件输出的烧写文件(.hex)被转换为常量表格存放于.c文件中,用应 用程序调用。从而实现两工程文件独立编辑,升级和修改。B扇区与应用扇区独立执行,任何时候都会有一个,且都包含有CAN升级功能,若程序升级 过程中出现掉电,通信中断等异常情况,DSP中始终包含一个独立运行的程序,并可对未升 级成功的扇区再次升级。常量表格的实现原理:编写一个包含CAN升级基本功能的工程文件,此工程中A扇区与应 用工程中的A扇区完全一样,其他功能程序被链接到B扇区中,解析此工程文件的HEX文 件,可分析得出B扇区所有机器码,将其转换为8K的常量表格存放于C文件中,再将此C 文件添加到应用工程中进行编译(应用

20、工程将此C文件中的常量表格链接到B扇区flash地址 范围中)。应用工程最后生成的.out文件,使用JTAG烧录工具烧录到DSP裸片中,此时DSP 的FLASH可认为有两个独立的工程,它们可认为分别存放在A-B扇区和A-C-D.H扇区中。 DSP 上电后自动执行应用程序FLASH 编程 API 介绍IT提供一系列完善可靠的接口函数供用户调用,以实现对FLASH的擦除、升级、以及校验, 函数已经封装在2803x_FlashAPI_BootROMSymbols.lib库文件中,相关函数变量接口声明放在Flash2803x_API_Library.h, Flash2803x_API_Config.h

21、 文件当中,需将这些文件添加到工程中。1. 擦除函数 Flash_Erase(SECTORD,&EraseStatus);第一个参数确定擦除的扇区,擦除完成后,所有位擦除后为1,即为0xFFFF状态2. 编程函数 Flash_Program(Flash_ptr,Buffer,Length,&ProgStatus);第一个参数确定flash中的编程起始地址,第二个参数确定RAM中的数据起始地址,第三个 参数确定编程数据块大小3. 校验函数 Flash_Verify(Flash_ptr,Buffer,Length,&VerifyStatus);第一个参数确定flash中的校验起始地址,第二个参数确

22、定RAM中的数据校验起始地址,第 三个参数确定校验数据块大小程序升级过程中,DSP接受到can总线发送来的一帧报文,即可获得一个有效的机器码与对 应的FLASH扇区中的绝对地址,此时设定Length为1,Flash_ptr指向FLASH中的绝对地址, buffer参数包含该机器码,调用Flash_Program ()函数就可以实现对该特定地址的编程。目标程序升级流程控制当DSP复位结束后,CPU首先从flash程序入口执行程序,该域放置了一条跳转指令,跳转 到A扇区跳转域执行跳转函数,随后跳转到C扇区的跳转域,C扇区跳转域在次跳转到CintOO 函数以实现C运行环境初始化,完成后进入主函数执行

23、。在对FLASH进行编程之前,FLASH中的CAN升级程序已经被复制到RAM中。当执行到程序 升级函数后,CPU是在RAM中执行程序,对flash进行擦除、升级等操作对CAN升级没有 影响。应用程序运行时,当接收到上位机下发程序升级命令后,程序将控制设备停机(封锁PWM 输出),然后DSP自行复位,程序重新执行。在预先设定的程序以及函数从flash拷贝到RAM中执行以后,进行一段时间的延时,判断是 否接收到上位机下发升级命令,若未接收到升级命令,程序转到应用程序。若接收到程序升 级命令,则转到程序升级功能函数。若程序升级完成,DSP复位程序重新执行。上位机程序与目标程序执行流程,状态转换过程DCDC设置状态与PC机状态互相驱动变换*介绍两个工程文件的CMD文件与汇编跳转函数说明伪指令实现向特殊变量写到标志寄存器当中

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!