我真的需要帮助,使用 MBGA 封装中的 i.MXRT 1052 的定制板。
问题是我不能在引脚 GPIO_SD_B1_05 和 GPIO_SD_B1_04 上使用 I2C,因为引导加载程序配置为 FlexSPI 的
DQS (数据选通),即使我不需要或不想使用引脚。
硬件场景如下:单个 IS25WP064A-JBLE 连接,没有
DQS (数据选通),只有内部 RAM(没有外部 ram),我想使用低速 30MHz 或 60MHz 的 QSPI 闪存。
所以这里的问题是:我可以更改引导加载程序吗?如何告诉 ROM 引导加载程序使用我的 NOR 配置?
我尝试更改引导加载程序: 在“evkbimxrt1050_flexspi_nor_config.c”中,我可以通过以下操作很容易地更改此行为:
const flexspi_nor_config_t
hyperflash_config =
{
.memConfig =
{
.tag = FLEXSPI_CFG_BLK_TAG,
.version = FLEXSPI_CFG_BLK_VERSION,
.readSampleClksrc=kFlexSPIReadSampleClk_LoopbackInternally,
.csHold
time = 3u,
.csSetupTime
= 3u, .tholumnAddressWid,
启用配置, SafeSPI_CFG_BLK_VERSION差分时钟
.controllerMiscOption =
(1u << kFlexSpiMiscOffset_DdrModeEnable) | (1u << kFlexSpiMiscOffset_WordAddressableEnable) |
(1u << kFlexSpiMiscOffset_SafeConfigFreqEnable) | (1u << kFlexSpiMiscOffset_DiffClkEnable),
.deviceType = kFlexSpiDeviceType_SerialNOR,
.sflashPadType = kSerialFlash_1Pad,
...
如您所见,“kFlexSPIReadSampleClk_LoopbackInternally”正在避免使用引脚。但这不会改变任何东西。
我正在使用 NXP MCU boot Utility v4.10 工具来下载我们的外部闪存的代码,这工作正常(请参阅附图以查看使用的配置)。我们的程序启动并运行,但 I2C 在这些引脚上不起作用。可悲的是,我使用了很多引脚(4PWM 和 4 个编码器),而且由于板是制造出来的,所以我无法更改 I2C 引脚。