Other Parts Discussed in Thread: AUDIO-AM275-EVM
器件型号:AM275-FREERTOS-SDK
Thread 中讨论的其他器件: AUDIO-AM275-EVM
我们在 AUDIO-AM275-EVM 板上使用 FREERTOS_SDK_am275x_11_01_00_16
根据 SDK 示例工程“ospi_flash_io",“,我们、我们通过修改函数 ospi_flash_IO_main 来调用 OSPI_readIndirect、如下所示:
void ospi_flash_IO_MAIN (void *args)
{
OSPI_事务 转换;
memset ((void *)&trans、0、sizeof (OSPI_Transaction));
Trans.count = 256;
trans.buf = g_readbuf;
TRANS.addrOffset = 0;
OSPI_readIndirect (gOspiHandle[0]、&trans);
}
在 OSPI_readIndirect 中调用 OSPI_readFifoData 时发生了数据中止异常。
/*从 FIFO 读取数据*/
OSPI_readFifoData (attrs->dataBaseAddr、pDst、readBytes);
其中 attrs->dataBaseAddr 为 0x60000000 (CSL_FSS0_DAT_REG1_BASE)
在 OSPI_readIndirect 中禁用直接访问后、0x60000000 似乎是一个非法地址。
以下是调用 OSPI_readFifoData 之前 FSS0_ospi_flash 的寄存器状态。

1.间接读取中 OSPI_readFifoData 的 fifo 地址应该是什么?
2.它是否与 OSPI_FLASH_CFG_IND_AHB_ADDR_TRIGGER_REG 和 OSPI_FLASH_CFG_INDIRECT_TRIGGER_ADDR_RANGE_REG 寄存器相关?
IND_AHB_ADDR_TRIGGER_REG:0x04000000
INDIREATE_TRIGGER_ADDR_RANGE_REG:0x00000004
随附了项目文件: [project]ospi_flash_io.zip