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:
File | Board Revision | Prod# |
---|---|---|
eaimxrt1062_16mb_sdk_2_12_1_<date>.zip | rev ≥ C1 | EAC00308 |
eaimxrt1062_4mb_sdk_2_12_1_<date>.zip | rev ≤ B2 | EAC00428 |
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
- Create a new workspace, this example will use
c:\ws
but yours can be anywhere, let's call this<WS_NEW_DIR>
- Make sure that the installed SDK is the latest version, eaimxrt1062_16mb_sdk_2_12_1_<date>.zip
- Import an SDK example, for example driver_examples->pxp->blend
- 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
- Now switch to your workspace in MCUXpresso IDE, let's call it
<WS_OLD_DIR>
- 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
- Open File->Properties
- Select C/C++ Build->MCU Settings in the tree structure
- Change the
BOARD_FLASH
line, so that- size is 0x1000000 instead of 0x400000
- driver is
MIMXRT1060_SFDP_QSPI.cfx
instead ofMIMXRT1050-EcoXiP_ATXP032.cfx
- Apply and close the dialog
- Project->Clean
- 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:
File | Comment |
---|---|
boards\evkbmimxrt1060\xip\evkbmimxrt1060_flexspi_nor_config.c | Image header |
components\internal_flash\fsl_adapter_flexspi_nor_flash.c | Used by Bluetooth examples |
components\flash\mflash\mimxrt1062\mflash_drv.c | Persistent 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:
File | Comment |
---|---|
boards\evkbmimxrt1060\xip\evkbmimxrt1060_flexspi_nor_config.c | Image header |
components\internal_flash\fsl_adapter_flexspi_nor_flash.c | Used by Bluetooth examples |
components\flash\mflash\mimxrt1062\mflash_drv.c | Persistent 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:
File | Comment |
---|---|
boards\evkbmimxrt1060\xip\evkbmimxrt1060_flexspi_nor_config.c | Image header |
components\internal_flash\fsl_adapter_flexspi_nor_flash.c | Used by Bluetooth examples |
components\flash\mflash\mimxrt1062\mflash_drv.c | Persistent storage |
boards\evkbmimxrt1060\driver_examples\pxp\blend\armgcc\ | Compare the changes made to *.ld files |