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

2021-10-25 19:25:40      索炜达电子      787     

项目编号:E1739

文件大小:22M

源码说明:带中文注释

开发环境:C编译器

简要概述:

基于TMS320F28335的CAN线IAP升级程序的办法。使用方式在readme.md。 分为三个部分:burnCAN,28335_main主体程序,和上位机程序。 使用思路是burnCAN程序与主体程序分开烧录在28335的不同扇区, 启动后判断是否有上位机CAN通讯,若无,跳转进主体程序。 实现两个功能的解耦。 仅在出厂烧录时烧录burnCAN即可,后续主体更新与burnCAN无关 (上位机屏蔽了扇区1)

目录│文件列表:

 └ 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

    │  │     │ link.read.1.tlog

    │  │     │ link.write.1.tlog

    │  │     │ rc.command.1.tlog

    │  │     │ rc.read.1.tlog

    │  │     │ rc.write.1.tlog

    │  │     └ test.lastbuildstate

    │  ├ kerneldlls

    │  │  │ CAN232.dll

    │  │  │ gpcidll.dll

    │  │  │ kerneldll.ini

    │  │  │ PCI5121.dll

    │  │  │ PCI9820B.DLL

    │  │  └ usbcan.dll

    │  └ res

    │     │ test.ico

    │     │ test.rc2

    │     └ Thumbs.db

    ├ 28335_main

    │  │ .ccsproject

    │  │ .cproject

    │  │ .project

    │  │ 2017-6-29.wks

    │  │ cc_build_Debug.log

    │  │ cc_build_Release.log

    │  │ Debug.lkf

    │  │ Example_2833xCpuTimer.gel

    │  │ Example_2833xCpuTimer.paf2

    │  │ Example_2833xCpuTimer.sbl

    │  │ led.paf2

    │  │ led.pjt

    │  │ led.sbl

    │  │ project.log

    │  │ Release.lkf

    │  ├ .launches

    │  │  │ led_std_202000722.launch

    │  │  │ led_std_20200709.launch

    │  │  │ led_std_20200722.launch

    │  │  │ led_std_20200808[220382G].launch

    │  │  │ led_std_20200828[220383G].launch

    │  │  └ led_std_20200908[220382G][double].launch

    │  ├ .settings

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

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

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

    │  ├ cmd

    │  │  │ DSP2833x_Headers_nonBIOS.cmd

    │  │  │ F28335_FLASH_lnk.bk

    │  │  │ F28335_FLASH_lnk.cmd

    │  │  └ F28335_XRAM_lnk.cmd

    │  ├ include

    │  │  │ DataTypeRedefine.h

    │  │  │ DSP2833x_Adc.h

    │  │  │ DSP2833x_usDelay.asm

    │  │  │ DSP2833x_Xintf.c

    │  │  │ Main.c

    │  │  └ Main.c.bak

    │  └ targetConfigs

    │     │ readme.txt

    │     └ TMS320F28035.ccxml

    ├ 28335_out2hex

    │  │ 220382G[20200912].a00

    │  │ 220382G[20200912].out

    │  │ 220382G[20200912].zip

    │  │ 28335_burnCan.out

    │  │ hex2000.exe

    │  └ OUT_TO_HEX.bat

    └ 28335__howtoburnCAN

       │ 28335 CAN烧录方法图示(基于CCS6).md

       └ 新建文件夹 (3)

          │ 220081广汽丰田AGC.txt

          │ CAN上位机烧录 进入Release下 双击test .jpg

          │ 全部勾选后 选择remenber my settings.jpg

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

          │ 反选Sector A,点击remember my setting .jpg

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

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

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

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

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

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

          │ 点击下载按钮.jpg

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

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

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

          │ 进入下载页面,等待.jpg

          │ 选择bootloader 程序,点击下载.jpg

          └ 选择车体程序 点击下载.jpg

TAGCAN
  • 24 次
  • 1 分