工具/软件:Code Composer Studio
大家好、
我们目前正在为器件“TMS570LC43X”开发 F021闪存。 我们使用 的是“F021_API_CortexR4_BE_L2FMC_V3D16.lib”库文件。
目前、我们在编程方面面临着一个问题。 也就是说 ,编程后错误地写入数据。 请参阅下面的更多详细信息。
我们使用数组 “unsigned char Data[32]={'a'、'B'、'C'、'D'、'A'写入数据, 'b'、'C'、'D'、'A'、'B'、'C'、'D'、'A'、 'b'、'C'、'A'、'B'、'C'、'A'、'B'、 'C'、'A'、'B'、'C'、'A'、'B'、'C'、 'A'、'B'、'C'、'A'、'D'};'。
但编程后,数据将写入“41420344”而不是“41424344”。 我们只能在系统/软件复位后读取这个错误的日期。 如果没有复位,内存位置将填充“FFFFFFFF”。
注意:我们正在从组0执行代码并在地址0x0022 0000 (扇区1)处对组1进行编程。 我认为、当它写入不同的组(组1)时、从 RAM 执行代码并不是强制性的。
编程和初始化函数是
#include“f021.h”
无符号字符数据[32]={'A'、'B'、'C'、'D'、'A'、 'b'、'C'、'D'、'A'、'B'、'C'、'D'、'A'、 'b'、'C'、'A'、'B'、'C'、'A'、'B'、 'C'、'A'、'B'、'C'、'A'、'B'、'C'、 'A'、'B'、'C'、'A'、'D'};
void main()
{
长地址_2[1]={0x00220000};
Fapi_initializeFlashBanks (150); //HCLK 时钟为150MHz。
Fapi_StatusType return_chcek;
Fapi_setActiveFlashBank (1);
Fapi_enableMainBankSectors (0xFFFF);
while (fapi_check_FSM_ready_busy =fapi_Status_FsmBusy);
while (fapi_get_FSM_status!= fapi_Status_Success);
if (fapi_check_FSM_ready_busy = fapi_Status_FsmReady)
{
return_chcek = fapi_issueProgrammingCommand ((long *) 0x00220000、Data、sizeof (Data)、0、0、fapi_DataOnly);
while (fapi_check_FSM_ready_busy =fapi_Status_FsmBusy);
while (fapi_get_FSM_status!= fapi_Status_Success);
}
while (1)
{
/*不做任何事情。*
}
}
请帮我们解决问题。
提前感谢
普拉米斯