主题中讨论的其他器件:MCU-PLUS-SDK AM263PX-SysConfig
工具/软件: MCU-PLUS-SDK - AM263PX
以下示例在中失败 SDK 10.01.00 版本 am263px-cc PROC159A 电路板:
- SBL ospi
- ospi 示例
- mcan_external_read_write / canfd_external_read_write
- 旋转变压器示例
运行 ospi 示例时观察到的错误:

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.
工具/软件: MCU-PLUS-SDK - AM263PX
以下示例在中失败 SDK 10.01.00 版本 am263px-cc PROC159A 电路板:
运行 ospi 示例时观察到的错误:

发生此问题的原因是电路板版本不匹配、因为新修订版电路板(PROC159A)具有类似于 am263px-LP 的闪存复位机制。 ospi 闪存复位信号直接来自 SOC、而不是通过 IO 扩展器、在之前的版本 E1/E2中就是这种情况。
对于 MCAN/旋转变压器示例:
void mcanEnableTransceiver()
{
int32_t status = SystemP_SUCCESS;
uint8_t boardVer[2] = "";
Board_eepromOpen();
status = EEPROM_read(gEepromHandle[CONFIG_EEPROM0], EEPROM_OFFSET_READ_PCB_REV, boardVer, EEPROM_READ_PCB_REV_DATA_LEN);
if(status == SystemP_SUCCESS)
{
if(boardVer[0] == 'A' && boardVer[1] == '\0')
{
/* boardVer is REV A */
status = TCA6424_Mcan_Transceiver();
}
else if(boardVer[1] == '2' && boardVer[0] == 'E')
{
/* boardVer is E2 */
status = TCA6424_Mcan_Transceiver();
}
else if(boardVer[1] == '1' && boardVer[0] == 'E')
{
/* boardVer is E1 */
/* MCAN Transceiver is enabled by default in E1*/
}
else
{
/* boardVer is not valid */
/* Do nothing */
}
}
DebugP_assert(status == SystemP_SUCCESS);
Board_eepromClose();
}
void i2c_io_expander_resolver_adc(void)
{
int32_t status = SystemP_SUCCESS;
uint32_t boardVer_offset = 0x1AU;
uint32_t boardVer_length = 0x2U; // 2 char
uint8_t boardVer[2] = "";
status = EEPROM_read(gEepromHandle[CONFIG_EEPROM0], boardVer_offset, boardVer, boardVer_length);
if(status == SystemP_SUCCESS)
{
/* read successful */
if(boardVer[0] == 'A' && boardVer[1] == '\0')
{
/* boardVer is REV A */
DebugP_log("Detected CC version is REV A. Calling TCA6424 Drivers for io expander configurations\r\n");
i2c_io_expander_resolver_adc_gTCA6424();
}
else if(boardVer[1] == '1' && boardVer[0] == 'E')
{
/* boardVer is E1 */
DebugP_log("Detected CC version is E1. Calling TCA6416 Drivers for io expander configurations\r\n");
i2c_io_expander_resolver_adc_gTCA6416();
}
else if(boardVer[1] == '2' && boardVer[0] == 'E')
{
/* boardVer is E2 */
DebugP_log("Detected CC version is E2. Calling TCA6424 Drivers for io expander configurations\r\n");
i2c_io_expander_resolver_adc_gTCA6424();
}
else
{
/* boardVer is invalid */
/* Do nothing */
}
}
else
{
DebugP_log("EEPROM read failed. aborting\r\n");
DebugP_assert(0);
}
}
对于 SBL OSPI/OSPI 示例
• 转至 source/sysconfig/drivers/.meta/ospi/v0/ospi_v0.syscfg.js 并将 syscfg.js 文件替换为随附的更新文件 ospi_v0.syscfg.js.zip .
• 它向 SysConfig 公开 OSPI_RESET_OUT0信号。
• 转至 source/drivers/ospi/V0 并粘贴的内容 source_ospi_v0_files.zip . 当系统提示时、单击合并文件夹并替换文件。
• 转至 examples/drivers/boot/sbl_ospi/am263px-cc/r5fss0-0_nortos 并粘贴的内容 sbl_ospi_files.zip . 当系统提示时、单击合并文件夹并替换文件。
• 转至 examples/drivers/ospi/ospi_flash_io 并粘贴的内容 ospi_flash_io_files.zip . 单击合并文件夹并在出现提示时替换文件。
• 对其他所需的 ospi 示例进行类似的更改。
e2e.ti.com/.../ospi_5F00_v0.syscfg.zip
e2e.ti.com/.../source_5F00_ospi_5F00_v0_5F00_files.zip