;/*it is used for attaching while zx297510evb running*/ | |
;do ./boot_attach_CortexA9.cmm | |
GLOBAL &VMLINUX_PATH | |
GLOBAL &SOURCE_PATH | |
GLOBAL &DDR_BASE | |
&SOURCE_PATH="..\..\linux_plat\base\linux\kernels\linux-3.4.5" | |
&VMLINUX_PATH="..\..\linux_plat\base\linux\kernels\linux-3.4.5\vmlinux" | |
&DDR_BASE=0x20440000 | |
area.reset | |
sYmbol.RESet | |
MMU.RESet | |
; setup of ICD | |
print "initializing..." | |
SYStem.CPU CortexA53 ; ;ZX297520v3 CortexA53 core | |
SYStem.Option MMUSPACES ON ; enable space ids to virtual addresses | |
SYStem.JtagClock 3.0MHz ; use adaptive clocking for most speed | |
system.option resbreak off | |
system.option enreset off | |
Sys.Config.COREBASE 0x80410000 ; | |
Sys.Config.CTIBASE 0x80420000 | |
Sys.Config.debugaccessport 0 | |
Sys.Mode PREPARE | |
wait 0.1s | |
sys.mode attach | |
SETUP.IMASKASM ON ; lock interrupts while single stepping | |
; Load the Linux kernel symbols into the debugger | |
print "loading Linux kernel symbols..." | |
;Data.LOAD.Elf &VMLINUX_PATH /gnu /nocode /SourcePATH ..\..\..\..\ | |
Data.LOAD.Elf &VMLINUX_PATH /gnu /nocode /strippart "linux-3.4.5" /SourcePATH ..\linux-3.4.5 | |
; Map the virtual kernel symbols to physical addresses | |
; to give the debugger access to it before CPU MMU is | |
; initialized | |
MMU.FORMAT LINUX swapper_pg_dir 0xc0040000--0xc30fffff &DDR_BASE | |
TRANSlation.COMMON 0xbf000000--0xffffffff ; common area for kernel and processes | |
TRANSlation.TableWalk ON ;debugger uses table walk to decode virtual address | |
TRANSlation.ON ;switch on debugger address translation | |
; set source path | |
print "set source path ..." | |
sYmbol.SourcePATH.RESet | |
sYmbol.SourcePATH.SetBaseDir &SOURCE_PATH | |
sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\arch\arm | |
sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\arch\arm\mach-zx297520v3 | |
sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\init | |
sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\kernel | |
;sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\drivers\base | |
;sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\drivers\tty | |
;sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\drivers\gpio | |
;sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\drivers\i2c | |
;sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\drivers\usb | |
;sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\drivers\mmc | |
;sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\mm | |
sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\drivers | |
; Initialize Linux Awareness | |
; Note that the Linux awareness needs the kernel symbols to work | |
print "initializing multitask support..." | |
TASK.CONFIG .\linux ; loads Linux awareness (linux.t32) | |
MENU.ReProgram .\linux ; loads Linux menu (linux.men) | |
HELP.FILTER.Add rtoslinux ; add linux awareness manual to help filter | |
MENU.ReProgram .\sys\board ; add board tools | |
; Group kernel area to be displayed with red bar | |
GROUP.Create "kernel" 0xc0000000--0xffffffff /RED | |
GROUP.Create "module" 0xbf000000--0xbfffffff /blue | |
; Ok, we're done, let's start Linux | |
break | |
enddo | |