Skip to main content

Migrate to iMX RT1062 rev C1

Background

The iMX RT1062 OEM board had to be redesigned in Q4 2022. The new version, rev C1, has an onboard 16MB QSPI instead of the 4MB OctalSPI flash on older versions.

This change and the reason behind it was announced in PCN: Changed Serial Flash (2022-12)

On November 18th 2022 the patched SDK for the iMX RT1062 OEM board was split into two versions based on the mounting options:

FileBoard RevisionProd#
eaimxrt1062_16mb_sdk_2_12_1_<date>.ziprev C1EAC00308
eaimxrt1062_4mb_sdk_2_12_1_<date>.ziprev B2EAC00428

Projects created with earlier versions of the SDK will not work on the C1 boards and have to be updated as explained in the sections below.

MCUXpresso IDE

  1. Create a new workspace, this example will use c:\ws but yours can be anywhere, let's call this <WS_NEW_DIR>
  2. Make sure that the installed SDK is the latest version, eaimxrt1062_16mb_sdk_2_12_1_<date>.zip
  3. Import an SDK example, for example driver_examples->pxp->blend
  4. This will get you two important files:
    <WS_NEW_DIR>\eaimxrt1062_pxp_blend\xip\evkbmimxrt1060_flexspi_nor_config.c
    <WS_NEW_DIR>\eaimxrt1062_pxp_blend\xip\fsl_flexspi_nor_boot.h
  5. Now switch to your workspace in MCUXpresso IDE, let's call it <WS_OLD_DIR>
  6. Copy the two files into the xip/ folder into your workspace, replacing the existing ones:
    <WS_OLD_DIR>\<your_project>\xip\evkbmimxrt1060_flexspi_nor_config.c
    <WS_OLD_DIR>\<your_project>\xip\fsl_flexspi_nor_boot.h
  7. Open File->Properties
  8. Select C/C++ Build->MCU Settings in the tree structure
  9. Change the BOARD_FLASH line, so that
    • size is 0x1000000 instead of 0x400000
    • driver is MIMXRT1060_SFDP_QSPI.cfx instead of MIMXRT1050-EcoXiP_ATXP032.cfx
  10. Apply and close the dialog
  11. Project->Clean
  12. Project->Build

If your project uses mflash (a small persistent file system added to the end of the flash) or uses the flash component in the SDK then import relevant projects to your workspace and copy the mflash_drv.c and fsl_adapter_flexspi_nor_flash.c files from those projects.

Keil uVision

The instructions assume that your project is based on an old version of the SDK, unpacked in <OLD_SDK> and that you have unpacked the latest SDK version, eaimxrt1062_16mb_sdk_2_12_1_<date>.zip, in <NEW_SDK>.

Depending on what your project uses, compare these files and use the one from the latest SDK:

FileComment
boards\evkbmimxrt1060\xip\evkbmimxrt1060_flexspi_nor_config.cImage header
components\internal_flash\fsl_adapter_flexspi_nor_flash.cUsed by Bluetooth examples
components\flash\mflash\mimxrt1062\mflash_drv.cPersistent storage
boards\evkbmimxrt1060\driver_examples\pxp\blend\mdk\ Compare the changes made to *.scf files

Open your project and go to Projects -> Options for target..., select the Debug tab and click the Settings button for your debugger. On the Flash Download tab, change the programming algorithm from MIMXRT105x EcoXiP Flash to MIMXRT106x 8mB QuadSPI NOR Flash.

IAR Embedded Workbench

The instructions assume that your project is based on an old version of the SDK, unpacked in <OLD_SDK> and that you have unpacked the latest SDK version, eaimxrt1062_16mb_sdk_2_12_1_<date>.zip, in <NEW_SDK>.

Depending on what your project uses, compare these files and use the one from the latest SDK:

FileComment
boards\evkbmimxrt1060\xip\evkbmimxrt1060_flexspi_nor_config.cImage header
components\internal_flash\fsl_adapter_flexspi_nor_flash.cUsed by Bluetooth examples
components\flash\mflash\mimxrt1062\mflash_drv.cPersistent storage
boards\evkbmimxrt1060\driver_examples\pxp\blend\iar\ Compare the changes made to *.icf files

Open your project and go to Projects -> Options..., select the Runtime Checking -> Debugger in the tree structure and click the Download tab. Make sure that there is no checkmark in the box for Override default .board file.

ARMGCC

The instructions assume that your project is based on an old version of the SDK, unpacked in <OLD_SDK> and that you have unpacked the latest SDK version, eaimxrt1062_16mb_sdk_2_12_1_<date>.zip, in <NEW_SDK>.

Depending on what your project uses, compare these files and use the one from the latest SDK:

FileComment
boards\evkbmimxrt1060\xip\evkbmimxrt1060_flexspi_nor_config.cImage header
components\internal_flash\fsl_adapter_flexspi_nor_flash.cUsed by Bluetooth examples
components\flash\mflash\mimxrt1062\mflash_drv.cPersistent storage
boards\evkbmimxrt1060\driver_examples\pxp\blend\armgcc\ Compare the changes made to *.ld files