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.

TMS320F280049 FLASH 读取操作

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

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

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

  • 您需要使用 Flash API 来 erase/program Flash. 但是您不需要使用 Flash API 来 read Flash.

    您可以像读 RAM一样去读Flash,直接读地址就可以了

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

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

    www.ti.com/.../sprui33c.pdf

    的 3.12.8 Flash Access Interface

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