diff options
-rw-r--r-- | src/target/board/imx31pdk.cfg | 202 | ||||
-rw-r--r-- | testing/examples/ledtest-imx27ads/Makefile | 84 | ||||
-rw-r--r-- | testing/examples/ledtest-imx27ads/crt0.S | 94 | ||||
-rw-r--r-- | testing/examples/ledtest-imx27ads/gdbinit-imx27ads | 72 | ||||
-rw-r--r-- | testing/examples/ledtest-imx27ads/ldscript | 36 | ||||
-rw-r--r-- | testing/examples/ledtest-imx27ads/test.c | 120 | ||||
-rw-r--r-- | testing/examples/ledtest-imx31pdk/test.c | 2 |
7 files changed, 305 insertions, 305 deletions
diff --git a/src/target/board/imx31pdk.cfg b/src/target/board/imx31pdk.cfg index c6c423ce..67233567 100644 --- a/src/target/board/imx31pdk.cfg +++ b/src/target/board/imx31pdk.cfg @@ -1,101 +1,101 @@ -# The IMX31PDK eval board has a single IMX31 chip
-source [find target/imx31.cfg]
-$_TARGETNAME configure -event gdb-attach { reset init }
-$_TARGETNAME configure -event reset-init { imx31pdk_init }
-
-proc imx31pdk_init { } {
- # This setup puts RAM at 0x80000000
-
- # reset the board correctly
- reset run
- reset halt
-
- # ========================================
- # Init CCM
- # ========================================
- mww 0x53FC0000 0x040
- mww 0x53F80000 0x074B0B7D
-
- sleep 100
-
- # ========================================
- # 399MHz - 26MHz input, PD=1,MFI=7, MFN=27, MFD=40
- # ========================================
- mww 0x53F80004 0xFF871D50
- mww 0x53F80010 0x00271C1B
-
- # ========================================
- # Configure CPLD on CS5
- # ========================================
- mww 0xb8002050 0x0000DCF6
- mww 0xb8002054 0x444A4541
- mww 0xb8002058 0x44443302
-
- # ========================================
- # SDCLK
- # ========================================
- mww 0x43FAC26C 0
-
- # ========================================
- # CAS
- # ========================================
- mww 0x43FAC270 0
-
- # ========================================
- # RAS
- # ========================================
- mww 0x43FAC274 0
-
- # ========================================
- # CS2 (CSD0)
- # ========================================
- mww 0x43FAC27C 0x1000
-
- # ========================================
- # DQM3
- # ========================================
- mww 0x43FAC284 0
-
- # ========================================
- # DQM2, DQM1, DQM0, SD31-SD0, A25-A0, MA10 (0x288..0x2DC)
- # ========================================
- mww 0x43FAC288 0
- mww 0x43FAC28C 0
- mww 0x43FAC290 0
- mww 0x43FAC294 0
- mww 0x43FAC298 0
- mww 0x43FAC29C 0
- mww 0x43FAC2A0 0
- mww 0x43FAC2A4 0
- mww 0x43FAC2A8 0
- mww 0x43FAC2AC 0
- mww 0x43FAC2B0 0
- mww 0x43FAC2B4 0
- mww 0x43FAC2B8 0
- mww 0x43FAC2BC 0
- mww 0x43FAC2C0 0
- mww 0x43FAC2C4 0
- mww 0x43FAC2C8 0
- mww 0x43FAC2CC 0
- mww 0x43FAC2D0 0
- mww 0x43FAC2D4 0
- mww 0x43FAC2D8 0
- mww 0x43FAC2DC 0
-
- # ========================================
- # Initialization script for 32 bit DDR on MX31 PDK
- # ========================================
- mww 0xB8001010 0x00000004
- mww 0xB8001004 0x006ac73a
- mww 0xB8001000 0x92100000
- mww 0x80000f00 0x12344321
- mww 0xB8001000 0xa2100000
- mww 0x80000000 0x12344321
- mww 0x80000000 0x12344321
- mww 0xB8001000 0xb2100000
- mwb 0x80000033 0xda
- mwb 0x81000000 0xff
- mww 0xB8001000 0x82226080
- mww 0x80000000 0xDEADBEEF
- mww 0xB8001010 0x0000000c
-}
+# The IMX31PDK eval board has a single IMX31 chip +source [find target/imx31.cfg] +$_TARGETNAME configure -event gdb-attach { reset init } +$_TARGETNAME configure -event reset-init { imx31pdk_init } + +proc imx31pdk_init { } { + # This setup puts RAM at 0x80000000 + + # reset the board correctly + reset run + reset halt + + # ======================================== + # Init CCM + # ======================================== + mww 0x53FC0000 0x040 + mww 0x53F80000 0x074B0B7D + + sleep 100 + + # ======================================== + # 399MHz - 26MHz input, PD=1,MFI=7, MFN=27, MFD=40 + # ======================================== + mww 0x53F80004 0xFF871D50 + mww 0x53F80010 0x00271C1B + + # ======================================== + # Configure CPLD on CS5 + # ======================================== + mww 0xb8002050 0x0000DCF6 + mww 0xb8002054 0x444A4541 + mww 0xb8002058 0x44443302 + + # ======================================== + # SDCLK + # ======================================== + mww 0x43FAC26C 0 + + # ======================================== + # CAS + # ======================================== + mww 0x43FAC270 0 + + # ======================================== + # RAS + # ======================================== + mww 0x43FAC274 0 + + # ======================================== + # CS2 (CSD0) + # ======================================== + mww 0x43FAC27C 0x1000 + + # ======================================== + # DQM3 + # ======================================== + mww 0x43FAC284 0 + + # ======================================== + # DQM2, DQM1, DQM0, SD31-SD0, A25-A0, MA10 (0x288..0x2DC) + # ======================================== + mww 0x43FAC288 0 + mww 0x43FAC28C 0 + mww 0x43FAC290 0 + mww 0x43FAC294 0 + mww 0x43FAC298 0 + mww 0x43FAC29C 0 + mww 0x43FAC2A0 0 + mww 0x43FAC2A4 0 + mww 0x43FAC2A8 0 + mww 0x43FAC2AC 0 + mww 0x43FAC2B0 0 + mww 0x43FAC2B4 0 + mww 0x43FAC2B8 0 + mww 0x43FAC2BC 0 + mww 0x43FAC2C0 0 + mww 0x43FAC2C4 0 + mww 0x43FAC2C8 0 + mww 0x43FAC2CC 0 + mww 0x43FAC2D0 0 + mww 0x43FAC2D4 0 + mww 0x43FAC2D8 0 + mww 0x43FAC2DC 0 + + # ======================================== + # Initialization script for 32 bit DDR on MX31 PDK + # ======================================== + mww 0xB8001010 0x00000004 + mww 0xB8001004 0x006ac73a + mww 0xB8001000 0x92100000 + mww 0x80000f00 0x12344321 + mww 0xB8001000 0xa2100000 + mww 0x80000000 0x12344321 + mww 0x80000000 0x12344321 + mww 0xB8001000 0xb2100000 + mwb 0x80000033 0xda + mwb 0x81000000 0xff + mww 0xB8001000 0x82226080 + mww 0x80000000 0xDEADBEEF + mww 0xB8001010 0x0000000c +} diff --git a/testing/examples/ledtest-imx27ads/Makefile b/testing/examples/ledtest-imx27ads/Makefile index 42516492..4009c41b 100644 --- a/testing/examples/ledtest-imx27ads/Makefile +++ b/testing/examples/ledtest-imx27ads/Makefile @@ -1,42 +1,42 @@ -# This will make the test program for a Freescale iMX27 ADS Board with a
-# FreeScale iMX27 CPU
-
-PROC=arm
-TYPE=926ejs-linux
-LDSCRIPT=ldscript
-
-PATH:=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/bin/:$(PATH)
-CC=$(PROC)-$(TYPE)-gcc
-AS=$(PROC)-$(TYPE)-as
-AR=$(PROC)-$(TYPE)-ar
-LD=$(PROC)-$(TYPE)-ld
-NM=$(PROC)-$(TYPE)-nm
-OBJDUMP=$(PROC)-$(TYPE)-objdump
-CFLAGS= -g -c -mcpu=arm920t
-
-all: test.elf
-
-# Make a little endian image:
-# In Eclipse, add the line :
-# source gdbinit
-# to : Run -> Debug... (menu) -> Commands (tab): Commands (listbox)
-# To start gdb from a window use : arm-elf-gdb --command=gdbinit
-test.elf: test.c Makefile ldscript crt0.S
- $(CC) $(CFLAGS) -o crt0.o crt0.S
- $(CC) $(CFLAGS) -o test.o test.c
- $(LD) -g -v -T$(LDSCRIPT) -o test.elf crt0.o test.o
- $(NM) test.elf
-
-
-dump:
- $(OBJDUMP) --all-headers test.elf
-
-dump_test:
- $(OBJDUMP) --disassemble test.elf
-
-dump_full:
- $(OBJDUMP) --full-contents test.elf
-
-clean:
- -/bin/rm -f *.o *~ test.elf
-
+# This will make the test program for a Freescale iMX27 ADS Board with a +# FreeScale iMX27 CPU + +PROC=arm +TYPE=926ejs-linux +LDSCRIPT=ldscript + +PATH:=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/bin/:$(PATH) +CC=$(PROC)-$(TYPE)-gcc +AS=$(PROC)-$(TYPE)-as +AR=$(PROC)-$(TYPE)-ar +LD=$(PROC)-$(TYPE)-ld +NM=$(PROC)-$(TYPE)-nm +OBJDUMP=$(PROC)-$(TYPE)-objdump +CFLAGS= -g -c -mcpu=arm920t + +all: test.elf + +# Make a little endian image: +# In Eclipse, add the line : +# source gdbinit +# to : Run -> Debug... (menu) -> Commands (tab): Commands (listbox) +# To start gdb from a window use : arm-elf-gdb --command=gdbinit +test.elf: test.c Makefile ldscript crt0.S + $(CC) $(CFLAGS) -o crt0.o crt0.S + $(CC) $(CFLAGS) -o test.o test.c + $(LD) -g -v -T$(LDSCRIPT) -o test.elf crt0.o test.o + $(NM) test.elf + + +dump: + $(OBJDUMP) --all-headers test.elf + +dump_test: + $(OBJDUMP) --disassemble test.elf + +dump_full: + $(OBJDUMP) --full-contents test.elf + +clean: + -/bin/rm -f *.o *~ test.elf + diff --git a/testing/examples/ledtest-imx27ads/crt0.S b/testing/examples/ledtest-imx27ads/crt0.S index 6c15be21..d7498814 100644 --- a/testing/examples/ledtest-imx27ads/crt0.S +++ b/testing/examples/ledtest-imx27ads/crt0.S @@ -1,47 +1,47 @@ -/* Sample initialization file */
-
- .extern main
- .extern exit
-
-/* .text is used instead of .section .text so it works with arm-aout too. */
- .text
- .code 32
- .align 0
-
- .global _mainCRTStartup
- .global _start
- .global start
-start:
-_start:
-_mainCRTStartup:
-
-/* Start by setting up a stack */
- /* Set up the stack pointer to end of bss */
- ldr r3, .LC2
- mov sp, r3
-
- sub sl, sp, #512 /* Still assumes 512 bytes below sl */
-
- mov a2, #0 /* Second arg: fill value */
- mov fp, a2 /* Null frame pointer */
- mov r7, a2 /* Null frame pointer for Thumb */
-
- ldr a1, .LC1 /* First arg: start of memory block */
- ldr a3, .LC2 /* Second arg: end of memory block */
- sub a3, a3, a1 /* Third arg: length of block */
-
- mov r0, #0 /* no arguments */
- mov r1, #0 /* no argv either */
-
- bl main
- bl exit /* Should not return */
-
- /* For Thumb, constants must be after the code since only
- positive offsets are supported for PC relative addresses. */
-
- .align 0
-.LC1:
- .word __bss_start__
-.LC2:
- .word __bss_end__
-
+/* Sample initialization file */ + + .extern main + .extern exit + +/* .text is used instead of .section .text so it works with arm-aout too. */ + .text + .code 32 + .align 0 + + .global _mainCRTStartup + .global _start + .global start +start: +_start: +_mainCRTStartup: + +/* Start by setting up a stack */ + /* Set up the stack pointer to end of bss */ + ldr r3, .LC2 + mov sp, r3 + + sub sl, sp, #512 /* Still assumes 512 bytes below sl */ + + mov a2, #0 /* Second arg: fill value */ + mov fp, a2 /* Null frame pointer */ + mov r7, a2 /* Null frame pointer for Thumb */ + + ldr a1, .LC1 /* First arg: start of memory block */ + ldr a3, .LC2 /* Second arg: end of memory block */ + sub a3, a3, a1 /* Third arg: length of block */ + + mov r0, #0 /* no arguments */ + mov r1, #0 /* no argv either */ + + bl main + bl exit /* Should not return */ + + /* For Thumb, constants must be after the code since only + positive offsets are supported for PC relative addresses. */ + + .align 0 +.LC1: + .word __bss_start__ +.LC2: + .word __bss_end__ + diff --git a/testing/examples/ledtest-imx27ads/gdbinit-imx27ads b/testing/examples/ledtest-imx27ads/gdbinit-imx27ads index 44758cf1..4764bc73 100644 --- a/testing/examples/ledtest-imx27ads/gdbinit-imx27ads +++ b/testing/examples/ledtest-imx27ads/gdbinit-imx27ads @@ -1,36 +1,36 @@ -echo Script to load ledtest on iMX27ADS.\n
-
-# Note: you need to startup openocd with "-f board/imx27ads.cfg"
-# in order to it initialize RAM memory.
-
-# SETUP GDB :
-#
-# Common gdb setup for ARM CPUs
-set complaints 1
-set output-radix 10
-set input-radix 10
-set prompt (arm-gdb)
-set endian little
-dir .
-
-# CONNECT TO TARGET :
-target remote 127.0.0.1:3333
-
-# LOAD IMAGE :
-#
-
-# Load the program executable called "u-boot"
-load test.elf
-
-# Load the symbols for the program.
-symbol-file test.elf
-
-# RUN TO MAIN :
-#
-# Set a breakpoint at main().
-#b reset
-b main
-
-# Run to the breakpoint.
-c
-
+echo Script to load ledtest on iMX27ADS.\n + +# Note: you need to startup openocd with "-f board/imx27ads.cfg" +# in order to it initialize RAM memory. + +# SETUP GDB : +# +# Common gdb setup for ARM CPUs +set complaints 1 +set output-radix 10 +set input-radix 10 +set prompt (arm-gdb) +set endian little +dir . + +# CONNECT TO TARGET : +target remote 127.0.0.1:3333 + +# LOAD IMAGE : +# + +# Load the program executable called "u-boot" +load test.elf + +# Load the symbols for the program. +symbol-file test.elf + +# RUN TO MAIN : +# +# Set a breakpoint at main(). +#b reset +b main + +# Run to the breakpoint. +c + diff --git a/testing/examples/ledtest-imx27ads/ldscript b/testing/examples/ledtest-imx27ads/ldscript index 39cf7684..a8f0a088 100644 --- a/testing/examples/ledtest-imx27ads/ldscript +++ b/testing/examples/ledtest-imx27ads/ldscript @@ -1,18 +1,18 @@ -SECTIONS
-{
- . = 0xA0000000;
- .text : { *(.text) }
- .data ALIGN(0x10): { *(.data) }
- .bss ALIGN(0x10): {
- __bss_start__ = ABSOLUTE(.);
- *(.bss)
- . += 0x100;
- }
- __bss_end__ = .;
-PROVIDE (__stack = .);
- _end = .;
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
-}
+SECTIONS +{ + . = 0xA0000000; + .text : { *(.text) } + .data ALIGN(0x10): { *(.data) } + .bss ALIGN(0x10): { + __bss_start__ = ABSOLUTE(.); + *(.bss) + . += 0x100; + } + __bss_end__ = .; +PROVIDE (__stack = .); + _end = .; + .debug_info 0 : { *(.debug_info) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } +} diff --git a/testing/examples/ledtest-imx27ads/test.c b/testing/examples/ledtest-imx27ads/test.c index 945778df..abb3bd15 100644 --- a/testing/examples/ledtest-imx27ads/test.c +++ b/testing/examples/ledtest-imx27ads/test.c @@ -1,60 +1,60 @@ -/***************************************************************************
- * Copyright (C) 2009 by Alan Carvalho de Assis *
- * acassis@gmail.com *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
- ***************************************************************************/
-
-void delay()
-{
- int i;
- for (i = 0; i < 500000; i++);
-}
-
-/* MAIN ARM FUNTION */
-int main (void)
-{
- int i;
- volatile unsigned char *ledoff = ((volatile unsigned char *)0xD4000008);
- volatile unsigned char *ledon = ((volatile unsigned char *)0xD400000C);
-
- for (i = 0; i < 10000; i++)
- {
- *ledon = 0x30;
- delay();
- *ledoff = 0x30;
- delay();
- } /* FOR */
-
-} /* MAIN */
-
-__gccmain()
-{
-} /* GCCMAIN */
-
-
-void exit(int exit_code)
-{
- while(1);
-} /* EXIT */
-
-
-atexit()
-{
- while(1);
-} /* ATEXIT */
-
-
+/*************************************************************************** + * Copyright (C) 2009 by Alan Carvalho de Assis * + * acassis@gmail.com * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +void delay() +{ + int i; + for (i = 0; i < 500000; i++); +} + +/* MAIN ARM FUNTION */ +int main (void) +{ + int i; + volatile unsigned char *ledoff = ((volatile unsigned char *)0xD4000008); + volatile unsigned char *ledon = ((volatile unsigned char *)0xD400000C); + + for (i = 0; i < 10000; i++) + { + *ledon = 0x30; + delay(); + *ledoff = 0x30; + delay(); + } /* FOR */ + +} /* MAIN */ + +__gccmain() +{ +} /* GCCMAIN */ + + +void exit(int exit_code) +{ + while(1); +} /* EXIT */ + + +atexit() +{ + while(1); +} /* ATEXIT */ + + diff --git a/testing/examples/ledtest-imx31pdk/test.c b/testing/examples/ledtest-imx31pdk/test.c index 992447b8..446bc909 100644 --- a/testing/examples/ledtest-imx31pdk/test.c +++ b/testing/examples/ledtest-imx31pdk/test.c @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Alan Carvalho de Assis * + * Copyright (C) 2009 by Alan Carvalho de Assis * * acassis@gmail.com * * * * This program is free software; you can redistribute it and/or modify * |