We are preparing to do some new development with the i.MX8 Mini but our development group does not have experience with heterogenous multi-core processors. To date, our software group has developed Linux applications on a Beaglebone while our embedded EE group has worked with FreeRTOS on the Kinetis K22. The two connect using RS232 and CAN. Our understanding is that both Linux and FreeRTOS can co-exist in the i.MX8 on the separate A and M cores respectively. We are also planning / hoping that we will be able to develop in a mutually exclusive manner with the latter stage of development to integrate the two OSs onto a single board.
We have also decided to go with one of the following SoM suppliers:
DART-MX8M-MINI : NXP i.MX8M Mini ARM SoM (System on Module)| Variscite
From what I have seen, getting the Linux development up and running will not be an issue for our software group. On the other hand, I am not sure where to begin for our embedded EE group under FreeRTOS.
I looked at the SDK for MCUXpresso for the various EVKs offered my NXP, and unless I've overlooked something, I'm not seeing any support for the iMX8 Mini. Is this correct?
If there is no support for the iMX8 Mini in the MCUXpresso SDKs, does anyone have any suggestions for a dev-kit and development environment with SDK for FreeRTOS with a USB stack and peripheral drivers?
Hi Nick,
On the MCUXpresso SDK Builder page, you could click on “Select Board -> Boards -> i.MX -> EVK-MIMX8MM” to build the SDK package for i.MX8M Mini.
You could also select the Host OS, and the Toolchain. The optional components could be also added if you click on the “Add software component” button.
Hope this will be useful for you.
Best regards!
/Carlos
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
-------------------------------------------------------------------------------
Thank you for the quick reply, but it doesn't quite get me where I was hoping.
The eval board you referenced doesn't seem to be available anywhere, and even when I do select it the USB stack is not available. Even if I select the processor by itself, the USB stack is not available and neither is support for MCUXpresso.
Is there some reason this family of parts is not supported?
Hi Nick,
There is more than one version of the i.MX8M Mini Evaluation kit, but they are available to Buy direct or directed to a distributor on this link.
Until now, just IAR and GCC are the supported IDEs for the SDK of the i.MX processors that have Cortex-M. Unfortunately, there are no plans to include support on MCUXpresso IDE.
Regarding the optional components, the high-speed communication peripherals like USB are delegated to the Cortex-A cores, so, USB stack is not ported on these platforms.
Hope this will be useful for you.
Best regards!
/Carlos
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
-------------------------------------------------------------------------------
I had looked into the link you provided prior to your reply and the board you referenced is not there or anywhere from my searching. Also, there is one version of the iMX8M Mini eval board offerred by NXP, but available with either LPDDR4 or DDR4. Where are the other versions you were referring to?
Regarding USB, I have received info from another FAE stating that USB can be handled by either the A or M cores. Can you point to some documentation clarifying that only the A-cores can manage the USB communication?
Nick
Hi Nick,
Yes, the USB (and basically, all the peripherals) could be handled by either the Cortex-A or Cortex-M cores; however, on the software side, USB is supported on the Linux/Android BSPs, and a USB stack is not included on the FreeRTOS/Baremetal SDK out of the box.
Hope this will be useful for you.
Best regards!
/Carlos
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
-------------------------------------------------------------------------------