MQX 4.1.1 doesn't run on VF61

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MQX 4.1.1 doesn't run on VF61

1,341 Views
julenarregi
Contributor I
Hi everyone,

I have been doing some tests to see if I can run a MQX 4.1.1 application on the M4 core and Toradex's Linux BSP v2.5 stable (kernel 4.1.15) on the A5 core on the Vybrid VF61 platform.

 1.- I've tried the "Ping-Pong example between Linux and eCos RTOS on Colibri VF61" from toradex developer website, loading the M4 firmware to the DRAM and I can see how mcc communication is running fine. (http://developer.toradex.com/knowledge-base/ping-pong-example-between-linux-and-ecos-rtos-on-colibri...)

 2.- I've also tried to run the Hello World example (it comes with MQX 4.1.1) described in this link (http://developer.toradex.com/knowledge-base/mqx-on-the-cortex-m4-of-a-colibri-vf61#Running_MQX). Using DS-5 IDE I've debugged the application but I only get to enable MQX OS. After that, it does not create the task that should write "Hello World" on the UART and it keeps running the idle task. This time I'm loading the application into the SRAM (0x3f000000).

 3.- Another trial has been done with the real custom application we developed. This application has been tested and works with a previous Linux BSP v2.3 beta 1 (kernel 3.0.15) and the same MQX 4.1.1 version. Similar to the previous trial, when debugging, I can get to enable MQX OS. But after that, the application gets stuck in a serial port initialization and if I pause the debugging session I can see it jumps to the same idle task as in the 2nd test I've done.

All the debug sessions have been done while VF61 is in uboot.
Any clue of what is happening that the MQX OS is not able to create any custom task and run normally?

Thanks in advance,

Julen

Labels (4)
0 Kudos
2 Replies

1,049 Views
dry
Senior Contributor I

Hey Julen,

Small note:  The latest (at least my sources) of MQX4  is version 4.2.0.2 (4.2, patch 2). 

Version 4.2 is also referred on that Toradex page you mentioned, MQX™ on the Cortex-M4 of a Colibri VF61 .

I have ran that hello world example on Toradex's Colibri while back, following their howto, and it worked fine.

One thing I want to note: make sure you reset your SoC properly before any code example change / re-upload. In my experience, it is not possible for MQX to initialize properly unless from a complete clean system out of reset. That's my observation and current state of my code, and I have asked multiple times about it various places, but never got to understand why.

(Besides that you cannot re-set/restart M4 on Vybrid of course.)

If you resolved your issue, please share what helped you.  I'm also working on the Toradex VF61x module.

(Note: I'm not from NXP, so I guess take everything I say as suspicious :smileyhappy: )

0 Kudos

1,049 Views
julenarregi
Contributor I

Hi there D. RY,

I solved the problem in the following way:

 

The sources I used were taken from Toradex and MCC support is present in it. The thing was that some initializations for some peripherals that were properly done with the previous kernel/u-boot, weren't done in this kernel/u-boot.

 

After changing u-boot sources in order to enable clocks and initialize those peripherals, code wasn't getting stuck anymore and the execution went through.

That's what I did to solve my issue.

Hope it helps for you or someone else, :smileywink:

0 Kudos