How to make use of the Cortex M4 on iMX7 when running Windows Embedded Compact 7 on the Cortex A7

Hi,

I am using Windows Embedded Compact 7 BSP/SDK for the Colibri iMX7Dual.

The product that I am working on needs to control 2 motors, for which I plan to use the Cortex M4 to take care of the motor control.

I understand the the firmware for the Cortex M4 needs to be loaded into the memory by the A7.
The article FreeRTOS on the Cortex-M4 of a Colibri iMX7 | Toradex Developer Center explains this using the Uboot,

Since I am using Windows Embedded, how can this be done from Windows Embedded?

Dear @kapeed

You can use the RpMsgLib, which is part of the Toradex CE Library package. Support for the iMX7 is built-in starting from version V2.2…

Regards, Andy

Hi Andy,

From the link you shared I understand that the current library revision is V2.1.

And Version 2.2 is a future version. Is this correct?

If so then when in this version expected?
The feature that I am working on is one of the many critical features of my product and I would need to plan it. Actually I had assumed it to be there and started working on it.

Dear @kapeed

Sorry, I knew we fixed the issue and just looked up the version in the roadmap. You’re absolutely right, V2.2 is not yet released. We expect it to be ready for download in about one week.

Meanwhile you can use the preliminary version as described in this post about the Rpmsg_Read.

Regards, Andy

Hi Andy,

Thanks for sharing the estimated timeline for release of v2.2 Library.

It would be really helpful if you can share some document that shows how to build application for Cortex M4 core from a “Windows host” using the “ARM gcc toolchain” similar to this application note: FreeRTOS on the Cortex-M4 of a Colibri iMX7 | Toradex Developer Center (explains for Linux Host).

I have had success building the demo app in the FreeRTOS folder from the command line. Except that I had to modify the batch file to provide the complete mingw32 executable path. Somehow the build steps are not able to automatically find the Mingw-32 path even though it has been added to the path environment variable.

But for someone like me who is not well initiated with the Unix build environment, creating make-files for my own embedded application and then building it every-time from the command prompt and then debugging it from the command prompt will take my and the team’s attention/focus away from the actual control application that needs to be written on the Cortex M4.

btw we have been thinking that since the FreeRTOS gets compiled with the application code itself, from the development environment’s perspective it must perceive the whole project as a bare-metal project. So (please correct my understanding is wrong). there should be a way to use either the community edition of DS-5 IDE, or just Eclipse CDT, add the ARM GCC toolchain (which already works from the command line) and build our application in an IDE.

Dear @kapeed
There’s an article about using ARM DS-5 on the developer page. Does this conver your requirements?
Regards, Andy

Thanks Andy, which edition of DS-5 is used in this article?

Dear @kapeed
The first section of the article describes the setup we used, including the DS-5 version.
Regards, Andy

Sorry Andy I meant which Edition of DS-5 (Community, Professional or Ultimate) ?

Dear @kapeed
We had a full license available for the demo (the editions were split differently back then).
Regards, Andy

Hi Andy,

The example Getting error while debugging and calling Rpmsg_Read - Technical Support - Toradex Community that you shared. We are unable to reach the point where we get a handle for using the RPMsg library functions, and subsequently, load the Cortex M4 core.

Please see a separate query posted by Bipin (Unable to Load Firmware to Cortex M4 core on iMX 7 using Rpmsg library on WinCE smart device application - Technical Support - Toradex Community)

Can you please suggest in Bipin’s post what we could be missing

Dear @kapeed,

We have updated a query by Bipin (https://www.toradex.com/community/questions/23828/unable-to-load-firmware-to-cortex-m4-core-on-imx-7.html ). Please take a look and let us know if you face any issue on that.