TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28388D: 8个words 写flash,报Fapi_Error_AsyncIncorrectDataBufferLength

Part Number:TMS320F28388D

TI工程师你好

8个uint16   写flash,报Fapi_Error_AsyncIncorrectDataBufferLength

代码如下——————————————————————————-

 uint16   Buffer[8] = {1,2,3,4,5,6,7,8};

for(i=0, u32Index = 0xA8000;(u32Index < (0xA8000 +8));i+= 8, u32Index+= 8)
{
       oReturnCheck =Fapi_issueProgrammingCommand((uint32 *)u32Index,Buffer+i,8, 0, 0, Fapi_AutoEccGeneration);

….

….

….

….

oReturnCheck 返回来“Fapi_Error_AsyncIncorrectDataBufferLength

帮忙分析一下

HE HE:

Buffer,地址如下,已经是128bits对齐

unsigned int[8] (Hex) 0x00008000@Data

,

HE HE:

如果采用 64bit对齐,一次写4个word是否可行?

,

Susan Yang:

关于此,请您看一下

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/951668/faq-faq-on-flash-api-usage-for-c2000-devices 

10. How many bits can be programmed at a time using Fapi_issueProgrammingCommand()? 

中给出的说明

,

HE HE:

文中写到“(i) if the address is 128-bit aligned, then a max of eight 16-bit words (128-bits) can be programmed at a time.”

没有解决我的疑问,问题再重述,如下

写Buffer,unsigned int[8] (Hex) 0x00008000@Data,已经是128bits对齐,为什么写8个words,会报错

,

Susan Yang:

使用 Fapi_AutoEccGeneration 模式编程时,一次可以编程的 16 位字(为编程功能提供的第三个参数)的数量只有 4 个或 8 个。当地址为 128 位对齐时,您可以编程 8 个 16 位字。看起来您的代码没有问题。

请问您的cmd文件是怎样的?

您可以看一下下面文档第20页上半部分NOTE的内容

https://www.ti.com/lit/ug/spnu632/spnu632.pdf 

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28388D: 8个words 写flash,报Fapi_Error_AsyncIncorrectDataBufferLength
分享到: 更多 (0)