[ECOS] Debugging RAM Redboot using JTAG/ICE

Gary Thomas gary@mlbassoc.com
Tue Nov 21 22:44:00 GMT 2006


Harish Talanki wrote:
> Hello All,
>   I am new to Redboot & eCos development and trying to get started on these areas.
> we have a IXP2350 based Road runner eval board which already has Redboot running out of Flash.
> I tried 3 different ways to try run the RAM version of Redboot . I used same redboot.elf
> in all following cases.
>  
> 1. I built  RAM version of redboot, and load redboot.elf file through my JTAG ICE into
>     memory at 0x200000. I verify that the image is loaded properly, after setting up all
>     memory controller registers. Now when I try to "Run", it throws up the data exception.
>  
> 2. The board already had Redboot burned onto the Flash. I ran the redboot out of the Flash,
>     and used "load" command to load the same redboot.elf file into memory and run it
>     using "go" command. Everything works fine.
>  
> 3. I first run the Flash version of the redboot in control of ICE box and when the target comes
>     to redboot prompt, I make a "halt" from my ICE just to make sure my ICE has control of the
>     processor. Then I load the Redboot.elf using "load" command of Redboot. Now I issue "halt"
>     from my JTAG ICE debugger, and load AGAIN the same file using ICE box, so it will overwrite
>     the redboot.elf in memory which was already loaded using "load" command.
>     Now I issue "Run" at 0x200040 [Entry point] from ICE, everything works magically.
>  
> My questions are 
>     1. why am I not able to run RAM version, redboot.elf completely in control of my ICE tools?
>     2. RAM version of Redboot built by the tool chain works only for loading by another Redboot,
>         not able to run/debug the same image using JTAG/ICE tools. why?
>     3. How can I build a version of Redboot that I can debug completely in control of JTAG/ICE.

Normally, eCos applications assume that the [ROM or ROMRAM] RedBoot has done some setup
of the hardware before they are launched.  In the case of ARM targets, this includes setting
up the basic MMU tables.  This is most likely why launching a RAM RedBoot from your JTAG
environment does not work.

Look at the startup code for your platform and see if it can be enabled for RAM applications.

>     4. Redboot "load" command is doing special setup on target, apart from just loading the image into memory
>         what is it? which is missing when I load the image directly into memory using JTAG tools.
>  
> Our goal is to bringup redboot on our custom board based on IXP2350.
>  
> Being new to this development environment, my avenues are almost closed. 
> Any suggestions will be of great help. Highly appreciate your help.
>  
> Regards,
> 
> 


-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list