Bare metal application on i.MX6UL and debug tooling

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

Bare metal application on i.MX6UL and debug tooling

Contributor I


I'm working on a bare metal application on the i.MX6UL using the MCIMX6UL-EVK as starter kit, DSTREAM as debugger and ARM DS-5 development studio as IDE.

It is important for me to be able to step through the startup code as in the near future the project will transition to another board, with other external RAM, flash and so on...

However, when performing a default reset, the connection with the debugger is lost.

This is of course not what I want. I would like to be able to jump into the startup code (having CPU registers in their default values) and step through.

DSTREAM and DS-5 development studio support writing of a reset script. But in order to prevent the loss of the debugger connection, I would need to know which steps are to be performed to achieve the above behavior.

If anyone can help me out in this aspect, just a description of the steps, that would be greatly appreciated.


Labels (1)
0 Kudos
1 Reply

Senior Contributor III

Hi Michael

With IMX6 there is no debug communication possible when

RESET is asserted. So you will have to configure your

debugger to toggle the reset and then access the debug

port to halt the cores. There will be some code running

before that can happen.

As you mention you are working with baremetal, we usually

use a loop as the first thing that the core executes for us. You can

then halt while it is in that loop, dump registers, single step etc.

Hope this helps. Let me know if we can be of further help.


Sinan Akman

0 Kudos