主题中讨论的其他器件: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