Re: WinCE boot from RAM with Lauterbach trace32
- From: "Luca Calligaris" <l.calligaris.nospam@xxxxxxxxxxxxxxxxxx>
- Date: Thu, 22 Jan 2009 10:27:21 +0100
Hi: I have used Lauterbach Trace32 on a PXA270 + Windows CE 6.0.
I used this configuration (.cmm) file (obviously the virtual addresses are
specific to my image):
***************************************************************
System.Down ; reset debugger settings
TASK.RESet
Break.Delete
MAP.RESet
sYmbol.RESet
MMU.RESet
GROUP.RESet
SYStem.Down
SYStem.CPU PXA270 ; select our
target CPU
SYStem.Option Wait``Reset ON ; Wait at least 1
sec after the deassertion of nRESET and nRESET before the first JTAG
activity
SYStem.Option Dyn``Vector ON ; WinCE reprograms
vector table
Tr``Onchip.Set DABORT OFF ; used by wince for
page miss!
Tr``Onchip.Set PABORT OFF ; used by wince for
page miss!
Tr``Onchip.Set UNDEF OFF ; used to detect not
present FPU
SYStem.Option MMU ON ; enable space ids
to virtual addresses
SYStem.Up ;
Reset the CPU and break at 0x0
SETUP.IMASKASM ON ; block interrupts
on assembler steps
SETUP.IMASKHLL OFF ; allow interrupts
on HLL steps
MAP.BOnchip 0--0x7FFFFFF ; tell T32 that we
have 128MB of flash
Data.LOAD.EXE nk.exe /nocode /reloc .text at 0x80101000 ; load OAL
debug symbols at correct virtual addresses
Go 0x3059F8 ; run until OALStartUp has copied the image in RAM
(cfr. %_WINCEROOT%\PLATFORM\WL1100\src\oal\oallib\startup.s, cfr. nk.map)
Wait !run() ; wait until we break at previous address
;break just after MMU init (cfr.
%_WINCEROOT%\PRIVATE\WINCEOS\COREOS\NK\LDR\ARM\armstart.s, cfr. nk.map)
Break.Set 0xA0105CA0
go
Wait !run() ;
wait until we break at previous address
Step.Single ;
from this point we use virtual addresses
MMU.COMMON 0x8000000--0xffffffff ; turn on MMU translation
MMU:ON
Go
; wait a couple of seconds, until OS boots
&count=5.
while &count!=0
(
wait 1.s
print &count
&count=&count-1
)
Break
SYStem.Option Dyn``Vector OFF ; no longer needed, run faster if
OFF
Go
***************************************************************
HTH
--
Luca Calligaris (MVP-Windows Embedded)
l.calligaris.nospam@xxxxxxxxxxxxxxxxxx
www.eurotech.it
"Prabhat" <Prabhat@xxxxxxxxxxxxxxxxxxxxxxxxx> ha scritto nel messaggio
news:3248D8BF-6FB4-4A9A-8DCB-7A04014030B6@xxxxxxxxxxxxxxxx
Hello All
The problem to boot eboot and WinCE6.0 from RAM using Lauterbach Trace32
has
been solved by disabling watchdog timer at primary boot loader (xldr).
The boot ROM of CPU is enabling watchdog timer to perform cpu bootpin scan
and perform the boot operation as per boot pin configuration like boot
form
USB,Eth,NAND flash, and SD card. So the disable watchdog will be the first
task need to perform by xldr (primery boot loader) before performing any
other operation.
But as we are loading primary boot loader (xldr) at internal CPU SRAM
thought trace32 we need to manually enable watchdog timer functional and
interface clock to allow access watchdog registers.
Hope this will help in booting eboot and WinCE6.0 from RAM using trace32
or
any other Jtag.
Thanks,
Prabhat Shrivastav
"Prabhat" wrote:
Thanks for your reply.
No my OS resides at 0x80001000 (RAM). Actually my boot sequence is like
i
am using CPU rom code which shall be responsible to load xldr(primary
boot
loader) to CPU internal sram from NAND and executes. The xldr shall
initialize the peripheral clocks and DDRAM and copy the eboot(secondary
bootloader) to RAM from NAND and executes. And eboot shall be responsible
to
load and executs the CE image to RAM from NAND flash. With the above
sequence
every thing is working fine without any problem.
But i dont want anything to load from NAND flash or from any non volatile
memory, So using Lauterbach trace32 i have loaded xldr at internal SRAM ,
eboot and WinCE at RAM. as i mention in my previous mail.
Here at eboot the 0x00000000 might be showing since i have removed NAND
copy
and other NAND related code from eboot to make it work independent to
NAND
flash.
Is we can run WinCE from RAM without eboot or bootloader, if possible
please
let me know how to do that.
please suggest.
Thanks,
Prabhat Shrivastav
"Bruce Eitman [eMVP]" wrote:
Is your OS at address 0x00000000? If it is, is it actually set up to
be at
that address in config.bib?
--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com
My BLOG http://geekswithblogs.net/bruceeitman
EuroTech Inc.
www.EuroTech.com
"Prabhat" <Prabhat@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:F7DAAAC6-0EC0-4C43-B3D0-A936FDC3134C@xxxxxxxxxxxxxxxx
Hello All,
I tried to run WinCE OS image from RAM using Lauterbach trace32 with
following steps
1) Initialized the target board RAM using trace32 script
2) Loaded eboot.nbo into RAM (Since CE have eboot which shall load
the CE
image from non volatile memory so I have modified the eboot OEM code
such
that it
should not try to create partition or tries to copy from non volatile
memory)
and i am successfully able to bring the boot-loader up from RAM.
3) run eboot and got the proper prints on serial console;
print appears at the end of console is "Launch Windows CE image by
jumping
to 0x00000000" .
4) Loaded nk.bin (kitl was disable) and run; but it's stuck and
generate
cpu
exception. Not even got any OC debug prints on serial console.
I am unable to find the cause of this. My point here is- i tried to
run OS
image without bootloader also, but it was not worked and so tried
with
bootloader with the assumption that CE excepting some boot argument
at
boot
time.
But as I mention above bootloader code is for Nand flash so i
modified the
portion of OEM boot code to not to look for Nand flash for copying OS
image
and creating partition.
Can anyone please suggest or give some direction to solve this
problem?
Thanks in advance
Prabhat Shrivastav
India
.
- References:
- WinCE boot from RAM with Lauterbach trace32
- From: Prabhat
- Re: WinCE boot from RAM with Lauterbach trace32
- From: Bruce Eitman [eMVP]
- Re: WinCE boot from RAM with Lauterbach trace32
- From: Prabhat
- Re: WinCE boot from RAM with Lauterbach trace32
- From: Prabhat
- WinCE boot from RAM with Lauterbach trace32
- Prev by Date: Re: WinCE boot from RAM with Lauterbach trace32
- Next by Date: RE: Detecting math errors
- Previous by thread: Re: WinCE boot from RAM with Lauterbach trace32
- Next by thread: VS2005 Compilation Problem for CE 5.0
- Index(es):
Relevant Pages
|