- add missing svn props from 1323 commit
git-svn-id: svn://svn.berlios.de/openocd/trunk@1324 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
2e0f28149d
commit
cb3f970b6c
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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__
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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) }
|
||||
}
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
||||
|
|
|
@ -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 *
|
||||
|
|
Loading…
Reference in New Issue