主题中讨论的其他器件: SysConfig
工具与软件:
嗨、团队:
我正在使用 AM2432和定制 NOR 闪存开发 MCU PLUS SDK。
您能告诉我如何从闪存状态寄存器中读取数据吗?
此致、
小山
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.
您好!
NOR 闪存具有1-2个状态寄存器、您可以继续读取这些寄存器。
不确定您正在使用哪个 NOR 闪存器件、但我将给出 TI EVM 上存在的 NOR 闪存器件(如 S28HS512T)的示例。
闪存的数据表指出它有两个状态寄存器。

现在、我们需要了解状态寄存器的事务是如何发生的。 我们查找事务表、该表如下所示。

现在、让我们详细了解事务表值的含义。
若要读取状态寄存器1、需要发出命令0x05、即两次、即0x05、0x05。 这在 MCU + SDK 驱动程序软件实现中进行处理。
但是、0x05 0x05仅是在1s-1s - 1s 模式下运行时发出的命令。
如果以8d-8d-8d 等模式运行、则需要使用 READ 任一寄存器命令、其中我们需要发出0x65 0x65来读取任何易失性或非易失性寄存器。
从编码角度来看、如果假设在8d-8d-8d 模式下运行、并且您想要读取状态寄存器2、则可以写入以下代码段:
注意:
状态寄存器1寻址为 0x800000
状态寄存器2寻址为 0x800001
希望这有助于回答您的问题。
此致、
Vaibhav
你好、 Vaibhav、ć
我尝试使用 flash_norOspiRegRead ()、
但该函数最初 声明为静态函数、
并且参数"config"可从获得 自动生成文件中的 flash_open()、
因此它很难使用 main()中的 flash_norOspiRegRead ()。
那么,你知道 haw 在 main ()中使用 Flash_norOspiRegRead ()吗?
或者使用 OSPI_Handle 等另一种读取闪存寄存器的方法?
此致、
小山
尊敬的 Tomoya:
感谢您的耐心。
请允许我稍后再查看此问题并与您联系。
[报价 userid="633815" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1474496/am2432-how-to-read-flash-status-register/5662769 #5662769"]我尝试使用 flash_norOspiRegRead ()、
但该函数最初 声明为静态函数、
并且参数"config"可从获得 自动生成文件中的 flash_open()、
因此它很难使用 main()中的 flash_norOspiRegRead ()。
那么,你知道 haw 在 main ()中使用 Flash_norOspiRegRead ()吗?
[报价]我将自行运行它、并为此找到解决方法。
此致、
Vaibhav
您好!
感谢您的耐心。
使用 Flash_norOspiRegRead 的一个小权变措施就是直接指向名为 flash_nor_ospi.c 的文件
在该窗口中、您会看到 API 定义为静态变量。
因此、在位于文件顶部(flash_nor_ospi.c)的位置、请继续写入:
尊敬的 Vaibhav:
我通过 AM243x-LP 和 CCS 检查了此更改。
我 通过 SysConfig 添加了 CONFIG_FLASH0、并在 drivers_open ()之后添加了该脚本。
但是、这不起作用、我认为是因为 gFlashHandle[CONFIG_FLASH0]中没有正确的数据。
如何获得 gFlashHandle[CONFIG_FLASH0]的正确值?
此致、
小山
drivers_open ()。
驱动程序打开后它将不工作,你需要调用这个后 Board_driversOpen ()