I bought a Variscite VAR-SOM-MX8M Plus devBoard which has a NXP iMX8M Plus SoM with:
So my big question is: how to program this ARM Cortex-M7 microcontroller? Should I use MCUXpresso for Visual Studio Code and a J-LINK Plus Segger to program the microcontroller directly? I'm not sure, but I think I have the SWD/JTAG pins exposed on the devBoard so I can use a J-LINK Plus Segger to program the microcontroller. Any tips on where to start?
In the end I intend to have the real-time stuff running on the microcontroller and sending callbacks to the ARM Cortex A-53 or something similar to update the 7'' display and send same data via BLE to a mobile app.
So I have given a try to the MCUXPresso for VSCode and I must say this is a great improvement for the MCU development, at least we have a debug view and tools dependency are managed by the MCUXPresso installer (a CLI mode would have been good for CI installation).
I had to fix the launch.json script to get the debug working but no big deal.
Still we have to create project from example, and can't configure clocks or the peripheral (UART speed for example), but many things are exposed by the plugin tool.
as Variscite customers, you may want to login to Variscite customer portal.
We will be glad to assist you step by step while using VAR-SOM-MX8M-PLUS.
Thanks
Best Regards
Pier
Hello.
Same situations as you.
The official answer for MCU development on i.MX8 is the "Getting Started with MCUXpresso
SDK i.MX 8M Devices".
About it's content is based on :
When you want to start a new development on the MCU the official answer is : please start from one of our examples. Which is not acceptable for me.
Notice that MCU Xpresso IDE is mentionned as a toolchain, which not the MCU Xpresso SDK.
More specifically to the variscite board, there is this webinar from variscite which wrap this minimal environment with VSCode + third party plugins (wiki available). At least you get an IDE for the debugger and Intellisense.
Note that in their demo they start linux, but uboot startup is sufficient.
MCUXpresso IDE : it is impossible to get the MCU SDK from the embbeded tool. I've seen that the SDK package downloaded from the builder had files that should allow importing for the MCU Xpresso but that fails.
So I've tried importing their git repository and from it I can configure and generated a project for the i.MX8ML. I got to resolve some issue in the code (missing files, wrong file included) but that is working great, even the debugger. Indeed I got the same experience as STMCube, and probably for other NXP MCU (not tested but that is the purpose i guess). I reported it the the github team, but the answer is that is is not expected to be working and will not.
I don't understand why ? That is killing developpment for the i.MX8.
As you may have seen the VSCode X is not supporting officially the i.MX8 MCU neither. Looks like a replacement for MUXPresso IDE which is based on Eclipse.
On another hand, the SDK Builder is providing the option both both gcc/Xcode (canno
I will give it a try but I don't believe that will work.
I think I will use the config tool (not assessed) to create a new project hoping I can have the same option I could when using the IDE, and configure VSCode as recommended by varscite. Still I would avoit to use the SDK from variscite, I don't understand why they provide a copie.
Myself
Hi
What about changing device trees to use Cortex M7 without conflicting with Application Core?
I know that to compile the device tree files in order to create the device-tree binary (.dtb) to use in U-BOOT I should use the dtc (device tree compiler) command:
dtc -O dtb -o name-of-device-tree-binary-file.dtb name-of-device-tree-source-file.dts
Are the following steps right?
1. Create my own .dts file including all important device tree files such as:
- imx8mp.dtsi
- imx8mp-var-som.dsti
- imx8mp-var-som-symphony.dts (maybe this one is enough since this file alreadyincludes all the .dtsi files above)
2. Use label references to change what I need to change
3. Use the .dtc command to compile and generate the .dtb file to later be used by UBOOT.
Best regards
I suppose you are taking this dtsi from the NXP config tool ?
I'm not sure this is my next step. Today I'm still working with the cortex-A stopped at bootloader stage. That is sufficient if you don't need to interact with the application core.
I've seen a make command somehere for this process in variscite wiki. If possible I'll share when I find this.
Hello,
Really we do not support the Variscite boards, but you can check this post in Toradex about how to load binaries into Cortex M.
About of MCUXpresso for VS Code, there is compatible only for projects of MCUXpresso IDE (Not compatible with IMX processors).
Also you can check the IAR IDE. In that IDE you can program directly trough J-Link.
Best regards.