Hi Lionel,
On 08/04/14 21:16, Lionel Ains wrote:
> It seems you got a working procedure for running a U-Boot RAM image sent via
> JTAG. I could find your script in the oocd sources (under
> http://sourceforge.net/p/openocd/code/ci/v0.8.0-rc1/tree/tcl/target/armada370.cfg).
> But can you please also provide the other scripts and procedure to upload
> U-Boot to RAM and start it using openocd?
Sure, but it is not pretty :-(
This method relies on using the u-boot code as supplied by Marvell (I am
currently using the 2009.08-a370-2012_Q4.0 release from them). There is
no mainline u-boot support for the Armada 370 family yet.
Here is the core of what I use:
proc cpu_start_state {} {
# ARM state, supervisor mode, irq and fiq disable
reg cpsr 0x000000d3
# MMU off, cache off
arm mcr 15 0 1 0 0 0x78
}
source [find tools/openocd/platforms/armada/armada370.tcl]
proc meminit {} {
cpu_start_state
load_image
u-boot-2009.08-a370-2012_Q4.0/tools/bin_hdr_armada_370/bin_hdr.elf
reg pc 0x40004030
resume
}
proc loaduboot {} {
# HACK, get mmu enabled again, to allow running load_image
halt
reg cpsr 0x200001f3
arm mcr 15 0 1 0 0 0x00c5307d
reg pc 0xffff77fe
step
cpu_start_state
# HACK - end
load_image u-boot-2009.08-a370-2012_Q4.0/u-boot
reg pc 0x600000
#resume
}
To load and run u-boot I will start up openocd and then run the following
commands:
halt
meminit
loaduboot
I doesn't really feel totally right to me. The mmu on and off states
are a pain to deal with (thus the HACK section above which relies on
running the CPU BOOTrom code again). But none the less this manages
to load and run u-boot for me.
Note also that I have had to work around the issue I raised in
https://www.mail-archive.com/[email protected]/msg04454.html
I just locally hacked src/target/cortex_a.c to ignore this, until
I can figure out a more correct fix.
Regards
Greg
------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel