【E1314】基于TMS320F28335的CAN线IAP升级程序的办法

2021-09-25 21:27:20      索炜达电子      1479     

项目编号:E1314

文件大小:22M

源码说明:带中文注释

开发环境:C编译器

简要概述:

F28335 CAN烧录方法图示(基于CCS6)

CAN线烧录直接点击进入第三部分 上位机CAN烧录 即可


一、BootLoader烧录

1.进入debug模式,点击连接图标,连接仿真器CDS100v2

![进入debug模式,点击连接图标,连接仿真器CDS100v2](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\进入debug模式,点击连接图标,连接仿真器CDS100v2.jpg)


2.在tool菜单栏中选择 On-Chip Flash

![在tool菜单栏中选择 On-Chip Flash ](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\在tool菜单栏中选择 On-Chip Flash .jpg)



3.全部勾选Erase Sector后 选择remember my settings

![全部勾选后 选择remenber my settings](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\全部勾选后 选择remenber my settings.jpg)


4.点击下载按钮

![点击下载按钮](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\点击下载按钮.jpg))


5.选择bootloader 程序,点击下载

![选择bootloader 程序,点击下载](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\选择bootloader 程序,点击下载.jpg)


6.进入下载页面,等待

![进入下载页面,等待](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\进入下载页面,等待.jpg)


二、车体程序烧录

1. 反选Erase Sector A, 点击remember my setting

![反选Sector A,点击remember my setting ](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\反选Sector A,点击remember my setting .jpg)


2. 选择车体程序 点击下载

![选择车体程序 点击下载](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\选择车体程序 点击下载.jpg)


三、上位机CAN烧录

1. 将工程编译后的out文件放入out2Hex文件夹

![将工程编译后的out文件放入out2Hex文件夹 ](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\将工程编译后的out文件放入out2Hex文件夹 .jpg)


2. 右键编辑打开 out_to_Hex.bat文件(不要双击打开!) , 将文件红框位置文件名修改为要处理的工程out文件名

![右键编辑打开 (不能双击) out_to_Hex.bat文件 将文件红框位置文件名修改为要处理的工程out文件名](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\右键编辑打开 (不能双击) out_to_Hex.bat文件 将文件红框位置文件名修改为要处理的工程out文件名.jpg)


3. 双击out_to_hex .bat 即可生成.out文件对应的.a00文件

![双击out_to_hex .bat 即可生成 out对应的a00文件 ](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\双击out_to_hex .bat 即可生成 out对应的a00文件 .jpg)


4. CAN上位机烧录 进入debug/Release文件夹下 双击test

建议优先尝试DEBUG文件夹下的text.exe


![CAN上位机烧录 进入Release下 双击test ](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\CAN上位机烧录 进入Release下 双击test .jpg)


5. 目标CCU断电, 依次选择1 连接,2启动CAN 出现USB-CAN启动成功字样说明运行OK

不成功时,可再次重启软件尝试.软件关闭时会报错,直接x掉即可.


![目标CCU断电, 依次选择1 断开,2启动CAN 出现USB-CAN启动成功字样说明运行OK](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\目标CCU断电, 依次选择1 断开,2启动CAN 出现USB-CAN启动成功字样说明运行OK.jpg)


6. 目标CCU上电 软件出现connected提示

![目标CCU上电 软件出现connected提示 ](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\目标CCU上电 软件出现connected提示 .jpg)


7. 打开指定文件,对话框内选择文件类型为 选择刚刚生成的.a00文件

![打开指定文件,对话框内选择文件类型为 选择刚刚生成的.a00文件 ](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\打开指定文件,对话框内选择文件类型为 选择刚刚生成的.a00文件 .jpg)


8. 提示File is Opened 选择4Program 等待

![提示File is Opened 选择4Program 等待](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\提示File is Opened 选择4Program 等待.jpg)


9. 最后提示烧写完成 目标CCU运行灯开始闪烁.

如目标CCU已经装壳,CCU运行灯闪烁是看不到的


![最后提示烧写完成 目标CCU运行灯开始闪烁.](E:\CCU210A\CAN 烧录过程\新建文件夹 (3)\最后提示烧写完成 目标CCU运行灯开始闪烁..jpg)

目录│文件列表:

 └ can-bootloader-28335

    ├ 28335_burnCan

    │  │ .ccsproject

    │  │ .cproject

    │  │ .project

    │  │ cc_build_Debug.log

    │  │ cc_build_Release.log

    │  │ Debug.lkf

    │  │ Example_Flash28335_API.paf2

    │  │ Example_Flash28335_API.pjt

    │  │ Example_Flash28335_API.sbl

    │  │ project.log

    │  │ Release.lkf

    │  ├ .settings

    │  │  │ org.eclipse.cdt.codan.core.prefs

    │  │  │ org.eclipse.cdt.debug.core.prefs

    │  │  └ org.eclipse.core.resources.prefs

    │  ├ cmd

    │  │  │ 28335_RAM_lnk.cmd

    │  │  │ DSP2833x_Headers_BIOS.cmd

    │  │  │ DSP2833x_Headers_nonBIOS.cmd

    │  │  └ Example_Flash28335_API.cmd

    │  ├ Debug

    │  │  │ 28335_burnCan.map

    │  │  │ 28335_burnCan.out

    │  │  │ 28335_burnCan_linkInfo.xml

    │  │  │ CAN_Boot.obj

    │  │  │ ccsObjs.opt

    │  │  │ DSP2833x_ADC_cal.obj

    │  │  │ DSP2833x_CodeStartBranch.obj

    │  │  │ DSP2833x_CSMPasswords.obj

    │  │  │ DSP2833x_GlobalVariableDefs.obj

    │  │  │ DSP2833x_SysCtrl.obj

    │  │  │ DSP2833x_usDelay.obj

    │  │  │ Example_Flash28335_API.map

    │  │  │ Example_Flash28335_API.out

    │  │  │ Example_Flash2833x_API.obj

    │  │  │ Example_Flash2833x_CsmKeys.obj

    │  │  │ Example_Flash2833x_GlobalVariableDefs.obj

    │  │  │ hex2000.exe

    │  │  │ makefile

    │  │  │ objects.mk

    │  │  │ out_to_hex.bat

    │  │  │ Shared_Boot.obj

    │  │  │ sources.mk

    │  │  ├ cmd

    │  │  │  │ subdir_rules.mk

    │  │  │  └ subdir_vars.mk

    │  │  ├ library

    │  │  │  │ subdir_rules.mk

    │  │  │  └ subdir_vars.mk

    │  │  ├ out_to_hex_bat生产的文件2

    │  │  │  └ Example_Flash28335_API.a00

    │  │  ├ out_to_hex_bat生产的文件cmd

    │  │  │  └ Example_Flash28335_API.a00

    │  │  └ source

    │  │     │ CAN_Boot.d

    │  │     │ CAN_Boot.obj

    │  │     │ DSP2833x_ADC_cal.obj

    │  │     │ DSP2833x_CodeStartBranch.obj

    │  │     │ DSP2833x_CSMPasswords.obj

    │  │     │ DSP2833x_GlobalVariableDefs.d

    │  │     │ DSP2833x_GlobalVariableDefs.obj

    │  │     │ DSP2833x_SysCtrl.d

    │  │     │ DSP2833x_SysCtrl.obj

    │  │     │ DSP2833x_usDelay.obj

    │  │     │ Example_Flash2833x_API.d

    │  │     │ Example_Flash2833x_API.obj

    │  │     │ subdir_rules.mk

    │  │     └ subdir_vars.mk

    │  ├ Example_Flash28335_API.CS_

    │  │  │ FILE.CDX

    │  │  │ FILE.DBF

    │  │  │ FILE.FPT

    │  │  │ SYMBOL.CDX

    │  │  │ SYMBOL.DBF

    │  │  └ SYMBOL.FPT

    │  ├ include

    │  │  │ DSP2833x_Adc.h

    │  │  │ DSP2833x_CpuTimers.h

    │  │  │ DSP2833x_DefaultIsr.h

    │  │  │ DSP2833x_DevEmu.h

    │  │  │ DSP2833x_Device.h

    │  │  │ DSP2833x_DMA.h

    │  │  │ DSP2833x_Dma_defines.h

    │  │  │ DSP2833x_ECan.h

    │  │  │ DSP2833x_ECap.h

    │  │  │ DSP2833x_EPwm.h

    │  │  │ DSP2833x_EPwm_defines.h

    │  │  │ DSP2833x_EQep.h

    │  │  │ DSP2833x_Examples.h

    │  │  │ DSP2833x_GlobalPrototypes.h

    │  │  │ DSP2833x_Gpio.h

    │  │  │ DSP2833x_I2c.h

    │  │  │ DSP2833x_I2c_defines.h

    │  │  │ DSP2833x_Mcbsp.h

    │  │  │ DSP2833x_PieCtrl.h

    │  │  │ DSP2833x_PieVect.h

    │  │  │ DSP2833x_Sci.h

    │  │  │ DSP2833x_Spi.h

    │  │  │ DSP2833x_SysCtrl.h

    │  │  │ DSP2833x_Xintf.h

    │  │  │ DSP2833x_XIntrupt.h

    │  │  │ Example_Flash2833x_API.h

    │  │  │ Flash2833x_API_Config.h

    │  │  │ Flash2833x_API_Library.h

    │  │  └ TMS320x2833x_Boot.h

    │  ├ library

    │  │  │ Flash28335_API_V210.lib

    │  │  └ rts2800_fpu32.lib

    │  ├ Release

    │  │  │ 28335_burnCan.map

    │  │  │ 28335_burnCan.out

    │  │  │ 28335_burnCan_linkInfo.xml

    │  │  │ CAN_Boot.obj

    │  │  │ ccsObjs.opt

    │  │  │ DSP2833x_ADC_cal.obj

    │  │  │ DSP2833x_CodeStartBranch.obj

    │  │  │ DSP2833x_CSMPasswords.obj

    │  │  │ DSP2833x_GlobalVariableDefs.obj

    │  │  │ DSP2833x_SysCtrl.obj

    │  │  │ DSP2833x_usDelay.obj

    │  │  │ Example_Flash28335_API.map

    │  │  │ Example_Flash28335_API.out

    │  │  │ Example_Flash28335_API【BurnBuffer[0x1000]定义为全局变量时】.map

    │  │  │ Example_Flash28335_API【BurnBuffer[0x1000]定义为局部变量时】.map

    │  │  │ Example_Flash2833x_API.obj

    │  │  │ makefile

    │  │  │ objects.mk

    │  │  │ Shared_Boot.obj

    │  │  │ sources.mk

    │  │  ├ cmd

    │  │  │  │ subdir_rules.mk

    │  │  │  └ subdir_vars.mk

    │  │  ├ library

    │  │  │  │ subdir_rules.mk

    │  │  │  └ subdir_vars.mk

    │  │  └ source

    │  │     │ CAN_Boot.d

    │  │     │ CAN_Boot.obj

    │  │     │ DSP2833x_ADC_cal.obj

    │  │     │ DSP2833x_CodeStartBranch.obj

    │  │     │ DSP2833x_CSMPasswords.obj

    │  │     │ DSP2833x_GlobalVariableDefs.d

    │  │     │ DSP2833x_GlobalVariableDefs.obj

    │  │     │ DSP2833x_SysCtrl.d

    │  │     │ DSP2833x_SysCtrl.obj

    │  │     │ DSP2833x_usDelay.obj

    │  │     │ Example_Flash2833x_API.d

    │  │     │ Example_Flash2833x_API.obj

    │  │     │ subdir_rules.mk

    │  │     └ subdir_vars.mk

    │  └ source

    │     │ CAN_Boot.c

    │     │ DSP2833x_ADC_cal.asm

    │     │ DSP2833x_CodeStartBranch.asm

    │     │ DSP2833x_CSMPasswords.asm

    │     │ DSP2833x_GlobalVariableDefs.c

    │     │ DSP2833x_SysCtrl.c

    │     │ DSP2833x_usDelay.asm

    │     └ Example_Flash2833x_API.c

    ├ 28335_CAN烧写上位机软件 - 银盒,VS2015

    │  │ ControlCAN.dll

    │  │ ControlCAN.h

    │  │ ControlCAN.lib

    │  │ ReadMe.txt

    │  │ resource.h

    │  │ StdAfx.cpp

    │  │ StdAfx.h

    │  │ test.aps

    │  │ test.clw

    │  │ test.cpp

    │  │ test.dsp

    │  │ test.dsw

    │  │ test.exe

    │  │ test.h

    │  │ test.ncb

    │  │ test.opt

    │  │ test.plg

    │  │ test.positions

    │  │ test.rc

    │  │ test.sln

    │  │ test.vcxproj

    │  │ test.vcxproj.filters

    │  │ testDlg.cpp

    │  │ testDlg.h

    │  │ TestListBox.cpp

    │  │ TestListBox.h

    │  │ UpgradeLog.htm

    │  ├ .vs

    │  │  └ test

    │  │     └ v14

    │  │        └ .suo

    │  ├ controlcan.dll.bk

    │  │  └ ControlCAN.dll

    │  ├ Debug

    │  │  │ ControlCAN.dll

    │  │  │ ControlCAN.h

    │  │  │ ControlCAN.lib

    │  │  │ StdAfx.obj

    │  │  │ StdAfx.sbr

    │  │  │ test.bsc

    │  │  │ test.Build.CppClean.log

    │  │  │ test.exe

    │  │  │ test.ilk

    │  │  │ test.log

    │  │  │ test.obj

    │  │  │ test.pch

    │  │  │ test.pdb

    │  │  │ test.res

    │  │  │ test.sbr

    │  │  │ test2017-08-24(11-44-06).dmp

    │  │  │ test2017-08-26(08-20-31).dmp

    │  │  │ test2020-07-20(16-41-29).dmp

    │  │  │ testDlg.obj

    │  │  │ testDlg.sbr

    │  │  │ TestListBox.obj

    │  │  │ TestListBox.sbr

    │  │  │ vc140.idb

    │  │  │ vc140.pdb

    │  │  ├ kerneldlls

    │  │  │  │ CAN232.dll

    │  │  │  │ gpcidll.dll

    │  │  │  │ kerneldll.ini

    │  │  │  │ PCI5121.dll

    │  │  │  │ PCI9820B.DLL

    │  │  │  └ usbcan.dll

    │  │  └ test.tlog

    │  │     │ BscMake.command.1.tlog

    │  │     │ bscmake.read.1.tlog

    │  │     │ bscmake.write.1.tlog

    │  │     │ CL.command.1.tlog

    │  │     │ CL.read.1.tlog

    │  │     │ CL.write.1.tlog

    │  │     │ link.command.1.tlog

TAGCAN线
  • 8 次
  • 10 分