Part Number:TMS320F280021Other Parts Discussed in Thread:C2000WARE
第一次接触FLASH API。
我是直接导入C2000提供的例程然后烧录运行(RAM模式),但程序运行
Example_ProgramUsingAutoECC();时,函数中
oReturnCheck = Fapi_issueProgrammingCommand((uint32 *)u32Index, Buffer + i, 8, 0, 0, Fapi_AutoEccGeneration);
返回值为Fapi_Error_InvalidAddress,错误,继而直接进入
void Example_Error(Fapi_StatusType status)
{
// Error code will be in the status parameter
__asm(" ESTOP0");
}
程序运行结束。
1.想请教一下为什么这种情况,我该如何解决?
2.想用片内FLASH去存储一些数据,即使重新上电也依旧存在,并支持修改。
这种情况下,会在原有程序中加入FLASH API函数,那么,请问烧录程序模式是选择FLASH还是RAM?
Green Deng:
你好,
1、Fapi_Error_InvalidAddress是由无效的地址引起的报错,你对例程有做过修改吗?
2、既然是需要离线运行的,肯定是要选择flash烧写的。不过flashAPI函数在烧写至flash之后,运行的时候必须用memcpy函数将flashAPI部分搬移到ram运行,这点在文档中也有说明的
有不明白的地方还可以看看这个关于flashAPI的文档:C:\ti\c2000\C2000Ware_3_04_00_00\libraries\flash_api\f28002x\docs
,
Sir F:
感谢您的回复。
1、我并没有对例程做过修改,启动模式选择了FLASH(GPIO24、32上拉)会有影响吗?硬件我使用了自己画的最小系统板。
2、好的谢谢。
,
Green Deng:
跟boot模式应该没有关系,不知道跟板子是否有关,我会用TI的开发板测试一下例程,然后回复给你结果。
,
Green Deng:
额,看了一下发现我这边还没有F28002X的板子,没办法测试。。。
,
Sir F:
好的,能麻烦您询问一下其他同事吗,可否测试一下?