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

TMS320F280049 FLASH 读取操作

项目在280049平台上做CAN刷新的功能,刷新的过程中需要读取指定地址的FALSH数据出来进行校验,看过FLASH API的介绍文档“TMS320F28004x Flash API
Version 1.56.01.00 ”,里面的4个读操作API都是只能用于校验的,没有找到读取数据的API。

问题:1、怎样读取出FLASH的数据

2、使用Fapi_doPsaVerify()对某个地址进行对比校验后,程序直接跑飞,运行的NMI终断函数内。

mangui zhang:请参考wiki
processors.wiki.ti.com/…/C2000_Flash_FAQ

项目在280049平台上做CAN刷新的功能,刷新的过程中需要读取指定地址的FALSH数据出来进行校验,看过FLASH API的介绍文档“TMS320F28004x Flash API
Version 1.56.01.00 ”,里面的4个读操作API都是只能用于校验的,没有找到读取数据的API。

问题:1、怎样读取出FLASH的数据

2、使用Fapi_doPsaVerify()对某个地址进行对比校验后,程序直接跑飞,运行的NMI终断函数内。

Susan Yang:

您需要使用 Flash API 来 erase/program Flash. 但是您不需要使用 Flash API 来 read Flash. 您可以像读 RAM一样去读Flash,直接读地址就可以了

直接定义一个指针变量,然后给指针一个地址

项目在280049平台上做CAN刷新的功能,刷新的过程中需要读取指定地址的FALSH数据出来进行校验,看过FLASH API的介绍文档“TMS320F28004x Flash API
Version 1.56.01.00 ”,里面的4个读操作API都是只能用于校验的,没有找到读取数据的API。

问题:1、怎样读取出FLASH的数据

2、使用Fapi_doPsaVerify()对某个地址进行对比校验后,程序直接跑飞,运行的NMI终断函数内。

Aiden:

回复 Susan Yang:

Susan:
谢谢您的答疑。因为我看数据手册上说FLASH的操作要使用API,所以到API里去寻找接口。如你所说,我要读取Flash,可以直接使用指针去读取。还有个疑问需要确认:看280049 FLASH API里的接口都会描述到地址对齐、访问的数据长度必须是4个byte或8个byte。我使用指针读取,有这些限制吗?还是定义一个Uint*16 P、Uint32* P、Uint64* P的指针都可以,再通过P++去依次读取后面的FLASH数据,也没有读取长度的限制。
谢谢!

项目在280049平台上做CAN刷新的功能,刷新的过程中需要读取指定地址的FALSH数据出来进行校验,看过FLASH API的介绍文档“TMS320F28004x Flash API
Version 1.56.01.00 ”,里面的4个读操作API都是只能用于校验的,没有找到读取数据的API。

问题:1、怎样读取出FLASH的数据

2、使用Fapi_doPsaVerify()对某个地址进行对比校验后,程序直接跑飞,运行的NMI终断函数内。

Susan Yang:

回复 Aiden:

另外请您看一下

www.ti.com/…/sprui33c.pdf

的 3.12.8 Flash Access Interface

目前例程都是使用的Uint16*Flash_ptr;// Pointer to a location in flash 这种方式

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F280049 FLASH 读取操作
分享到: 更多 (0)