Using the M4 cores with WEC2013


Is it possible to use the M4 cores from either the VF61 or iMX7 modules while they are running WEC2013?
From some fast native code, i need to use UARTB to produced specific serial timing.
In the Library release note there is something about library integration with WEC2013 scheduled to Q4 2016, but it seems not to be released.

Is it possible without that library?
Can I run code from the M4 only or must there be a host OS on the module main core??

Is there any code sample on how to build and flash the code to the M4 core?
I have KEIL MDK development kit and ULINK2 jtag… Is that usable?


Hi Thomas,
as far as I know, heterogeneous multicore features of VF61 are supported by Keil DS-5 only (not MDK).
I’ve been doing some tests with DS-5 and ULINK Pro jtag.
I don’t know if Keil is going to integrate VF61 in MDK, but I don’t think so.

iMX7 is supported by MDK.


Thanks for the reply. It could also be the Colibri iMX7 instead of the VF61…(It is cheaper and faster:-))
I only need it to work with WEC2013. so I can send and receive data to/from the M4 core application…


Please download preliminary Rpmsg library release from here.
Please go through Rpmsg_Demo project and this article for evaluating Rpmsg library on Windows CE.

We will get back with answers to your other questions soon.

You cannot “flash” the M4 core, there is no flash in the M4 core. The M4 has access to all (volatile) memory, the SRAM inside the SoC and the on-module DDR3 memory…

The only flash on the module is the NAND flash. The M4 is not capable to directly execute from NAND. The way the M4 needs the boot loader or operating system running on the main core (A7) to load its firmware into SRAM or DDR3 memory. The A7 core then instruct the M4 to execute from there. I am working on the Linux side of things, we use U-Boot to load the binary into SRAM and then have a special command called bootaux to start the M4 core. As far as I am aware there is no such command yet for Colibri iMX7 in the WinCE bootloader, but I guess @luka can elaborate on that. The Keil MDK kit and a suitable debug adapter can be used to load the firmware directly into SRAM from the development environment. This is convenient during development, and also allows to debug. But for production use, you will need WinCE/bootloader support to load the firmware. Note that we tested ULINKpro D, I am not sure if ULINK2 is sufficient for Colibri iMX7. This is something you should direct at the ARM KEIL support.

HMP (Heterogeneous Multicore Processing) isn’t supported on Colibri iMX7 running WinCE at the moment (only with Linux). It also isn’t planned in Q1 2017. Depending on the requests we get it could be Q2 2017 or later. The only solution with WinCE is using the Colibri VF61 at the moment using the description from our developer website:

Thanks for the input,

No problem regarding the need for WinCE to load the binaries. That would be required anyway.
As I understand it, the VF61 is supported by DS-MDK, which only is available in the MDK-Professional edition. (I only has the MDK-Plus. But the iMX7 is supported by the MDK-Plus).
But I guess I also could use the Eclipse/gcc for building or upgrade my KEIL license…


Hi @vix,
we are working on adding support for VF61 within DS-MDK but we haven’t defined a timeline just yet. Please let me know if you have any other questions or you have feedback on DS-5/DS-MDK.


Hi Stefano,
good to hear that support for VF61 within DS-MDK is on the roadmap.
I think this will be a great improvement for all the developers on Toradex Colibri VF61 modules.

Maybe this community is not the right place where to discuss on DS-5/DS-MDK.
Could you suggest a different way to share feedbacks and ideas?

Hi @vix. Sure: please feel free to email me at [myname].cadario[at]arm[dot]com .


We also have WEC2013 and want to use the M4 core with FreeRTOS.
Is there an update for the WEC bootloader to start the M4 core?
If not do you have a timeline for that?


Please open new question next time and don’t use old posts to add comments.

You can read here about the support on VF module → FreeRTOS on the Cortex-M4 of a Colibri VF61 | Toradex Developer Center

There is no support on iMX7 yet