Other Parts Discussed in Thread: C2000WARE
您好,这里我进行了固件升级移植,但是目前有个问题是我固件升级成功后上电如果不仿真的话好像程序不会运行,我去找了点资料说可能是复位后没进入main程序,请问这我要从什么入手去修改呢?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好,这里我进行了固件升级移植,但是目前有个问题是我固件升级成功后上电如果不仿真的话好像程序不会运行,我去找了点资料说可能是复位后没进入main程序,请问这我要从什么入手去修改呢?
你好大概问了下前辈找到了一些问题,就一段启动项的汇编代码没有执行。
.sect "codestart"
code_start:
LB boot_start
.sect "BOOTBANK"
boot_start:
SETC OBJMODE
EALLOW
MOVZ DP,#7029h>>6
MOV @7029h,#0068h
EDIS
MOV SP,#__stack
SPM 0
C28OBJ
C28ADDR
C28MAP
CLRC PAGE0
MOVW DP,#0
CLRC OVM
ASP
LB _ProgrammEntry
.end虽然我添加了代码进去工程,但是程序的关键字变色没有发生,所以导致这段启动项代码没有识别,请问是需要怎么去解决。
可能是问题搞得有点复杂了?
固件升级在这边一般称为flash烧写,与仿真(ram烧写)区别开。两者需要包含不同的cmd文件,不知道你有没有修改对应的flash.cmd文件?如果没有的话建议先根据这个帖子的方法操作一下:https://e2echina.ti.com/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/201373/faq---ram-flash?tisearch=e2e-sitesearch&keymatch=faq%3Atrue
另外,我更建议你在例程的基础上去实验,这样更规范一些。自己编写的程序可能会有其他问题导致无法运行。
抱歉因为身体原因几天没有及时回复,我添加了flashapi的cmd文件,之前我找到了没有仿真程序不会运行的主要原因是因为我的GPIO-24-32的方式接成了SCIBOOT所以上电不会运行程序,虽然我现在能进行固件升级,但是对其中的原理还是有很多不了解的比如说在flashapi。cmd中的对节点分配的内容。#pragma DATA_SECTION(motorVars, "ctrl_data");这种对数组的分配的意义是神呢?
我感觉你的代码是自己编写的?不是TI的例程吧?这样的话对一些特定的语句就没办法全面分析了,建议看一下flashAPI的user's guide,里面有介绍cmd的写法:C:\ti\c2000\C2000Ware版本号\libraries\flash_api\f28004x\docs
好的谢谢帮助,这是改写的,因为存在启动的一个函数跳转,不是马上运行到main函数。
你好我去看到了你说的flashapi的user‘s guide ,但是未找到对于cmd写法的描述,只在
Fapi_issueProgrammingCommand()这个函数的描述中说了下,请问你说的cmd写法的具体位置在哪儿呢?或者有其他的cmd写法的资料吗?
我印象中好像没有专用于介绍cmd文件写法的文档,可能你要参考一下flashAPI例程里面的cmd文件,或者TI提供的cmd文件:C:\ti\c2000\C2000Ware_4_00_00_00\device_support\f28004x\common\cmd