zte's code,first commit

Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/ap/build/scripts/trace32/zx297520v3/linux_297520v3_fpga.cmm b/ap/build/scripts/trace32/zx297520v3/linux_297520v3_fpga.cmm
new file mode 100755
index 0000000..de93204
--- /dev/null
+++ b/ap/build/scripts/trace32/zx297520v3/linux_297520v3_fpga.cmm
@@ -0,0 +1,173 @@
+;--------------------------------------------------------------------------

+;

+;	Linux Demo for TRACE32 multitask debugger

+;

+;	This batchfile demonstrates the use of 

+;	the Multitask-Debugger for Linux 

+;

+;   The example is generated for the evb297520v2fpga board using an ICD. 

+;   It will NOT run on any other board, but may be used as a template for 

+;   others.

+;   Linux is downloaded to the board via ICD.

+;

+;   modified by ZTE-TSP at 2015.08.07

+;

+;   NOTICE:

+;            this script can only be used on NO jtag chain mode

+;--------------------------------------------------------------------------

+

+;do ./7520V2_DDR_1Gb_312.cmm

+

+GLOBAL &VMLINUX_PATH 

+GLOBAL &INITRD_PATH 

+GLOBAL &SOURCE_PATH

+GLOBAL &DDR_BASE

+GLOBAL &INITRD_LOAD_ADDR

+GLOBAL &IMAGE_LOAD_ADDR

+

+&VMLINUX_PATH= ".\vmlinux"

+&IMAGE_PATH="..\..\linux_plat\base\linux\kernels\linux-3.4.5\zImage"

+&INITRD_PATH= ".\cpio_ramdisk.gz"

+&SOURCE_PATH="F:\7520V3\linux-3.4.5"

+&DDR_BASE=0x22300000

+&INITRD_LOAD_ADDR=&DDR_BASE+0xA00000

+&IMAGE_LOAD_ADDR=&DDR_BASE+0x8000

+

+area.reset

+print "resetting..."

+TASK.RESet

+sYmbol.RESet

+MMU.RESet

+

+;do ./boot.cmm 

+

+; setup of ICD

+ 

+ print "initializing..." 

+sys.cpu CortexA53

+SYStem.Option MMUSPACES ON     ; enable space ids to virtual addresses

+SYStem.JtagClock 3.0MHz    ; use adaptive clocking for most speed

+sys.option enreset Off

+sys.option resbreak off

+

+Sys.Config.COREBASE 0x80410000  ; Cortex-A53

+Sys.Config.CTIBASE 0x80420000

+Sys.Config.debugaccessport 0

+Sys.Mode PREPARE

+Wait 0.1s

+

+sys.up

+;data.set 0x01306100 %long 0xffffffff  ;DDR config

+

+SETUP.IMASKASM ON          ; lock interrupts while single steppingle stepping

+ ;l2 divison -- no need

+; data.set 0x00803004 %LE %LONG 0x33111;

+ 

+//A9 select 624M, bit0-2, 0=26, 1=624, 2=480, 3=312, 4=156

+;data.set 0x01306040 %long 0x00000001

+

+; Target Setup: initialize LPDDR controller and peripherals(e.g. UART1)

+print "initialize board ..."

+

+; use the debugger to initialize it

+; do basic setup on board; 

+; we don't need this step on zx297510 platform, because jtag_debug code or T32 script has run before this step. 

+; jtag_debug code or T32 script running on cortex-m0 initiates system clock, DDR, gpio multiplex, and so on.... 

+

+do .\console_fpga.cmm     ; setup serial console

+	

+; Load the Linux kernel

+

+; If you are using a flashed kernel, or if you're 

+; loading your kernel via TFTP, use the boot monitor

+; to do so.

+

+; Use the next lines only to load the kernel into

+; RAM using the debugger.

+

+; vmlinux starts physically at RAM start (=0x28000000) + 0x8000 

+; (see arch/arm/kernel/head-armv.S)

+print "loading Linux image..."

+;Data.LOAD.Binary  &IMAGE_PATH  &IMAGE_LOAD_ADDR      ; loading zImage here, it will uncompress itself

+;data.load.elf &VMLINUX_PATH (&DDR_BASE+0x8000) /gnu /nosymbol

+Register.RESet

+

+ Data.LOAD.Elf &VMLINUX_PATH 0x22308000-0xc0008000 /gnu /nosymbol

+

+; Set PC on start address of image

+Register.Set PC (&DDR_BASE+0x8000)

+

+

+; Set machine type in R1; see arch/arm/tools/mach-types   7520 = 0x1d63

+Register.Set R1 0x1d63

+

+; Set parameter tags for linux boot

+do .\atag-list.cmm

+Register.Set R2 (&DDR_BASE+0x0100)

+

+; Loading RAM disk

+print "loading ram disk"

+

+; Load ram file system image into ram disk

+;Data.LOAD.Binary &INITRD_PATH  &INITRD_LOAD_ADDR

+Data.LOAD.Binary &INITRD_PATH  &INITRD_LOAD_ADDR  /noclear /nosymbol

+

+; Load the Linux kernel symbols into the debugger

+print "loading Linux kernel symbols..."

+Data.LOAD.Elf &VMLINUX_PATH /gnu /nocode /strippart "linux-3.4.5" /SourcePATH  ..\linux-3.4.5

+;Data.LOAD.Elf &VMLINUX_PATH /gnu /nocode  /SourcePATH  ..\linux-3.4.5

+

+; Open a Code Window -- we like to see something

+Data.List

+    

+ 

+; Run over MMU & Interrupt initialization

+

+ ;Go __init_end /Onchip

+ ;print "initializing target and debugger MMU..."

+ ;wait !run()

+ 

+ ; 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 0xc0000000--0xc0ffffff &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\mach-zx297520v3 

+  sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\arch\arm

+  sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\init

+  sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\kernel

+  sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\drivers\tty

+  sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\drivers\clk

+  sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\drivers\gpio

+  sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\drivers\dma

+;  sYmbol.SourcePATH.SetRecurseDir &SOURCE_PATH\drivers

+

+

+ ; 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

+

+; switch on symbol autoloader

+sYmbol.AutoLoad.CHECKLINUX "do "+os.ppd()+"/autoload "

+  ; 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

+

+ SYStem.Option MMUSPACES OFF

+

+

+ 

+enddo

+