You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.1 KiB
78 lines
2.1 KiB
###################################### |
|
# Target: NXP lpc3152 |
|
###################################### |
|
|
|
if { [info exists CHIPNAME] } { |
|
set _CHIPNAME $CHIPNAME |
|
} else { |
|
set _CHIPNAME lpc3152 |
|
} |
|
|
|
if { [info exists ENDIAN] } { |
|
set _ENDIAN $ENDIAN |
|
} else { |
|
set _ENDIAN little |
|
} |
|
|
|
# ARM926EJS core |
|
if { [info exists CPUTAPID ] } { |
|
set _CPUTAPID $CPUTAPID |
|
} else { |
|
set _CPUTAPID 0x07926f0f |
|
} |
|
|
|
# Scan Tap |
|
# Wired to seperate STDO pin on the lpc3152, externally muxed to TDO on ea3152 module |
|
# JTAGSEL pin must be 0 to activate, which reassigns arm tdo to a pass through. |
|
if { [info exists SJCTAPID ] } { |
|
set _SJCTAPID $SJCTAPID |
|
} else { |
|
set _SJCTAPID 0x1392e02b |
|
} |
|
|
|
#jtag newtap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUTAPID |
|
jtag newtap $_CHIPNAME sjc -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_SJCTAPID |
|
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID |
|
|
|
################################################################## |
|
# various symbol definitions, to avoid hard-wiring addresses |
|
################################################################## |
|
|
|
global lpc315x |
|
set lpc315x [ dict create ] |
|
|
|
# Physical addresses for controllers and memory |
|
dict set lpc315x sram0 0x11028000 |
|
dict set lpc315x sram1 0x11040000 |
|
dict set lpc315x uart 0x15001000 |
|
dict set lpc315x cgu 0x13004000 |
|
dict set lpc315x ioconfig 0x13003000 |
|
dict set lpc315x sysconfig 0x13002800 |
|
dict set lpc315x wdt 0x13002400 |
|
|
|
################################################################## |
|
# Target configuration |
|
################################################################## |
|
|
|
jtag_nsrst_delay 1000 |
|
jtag_ntrst_delay 0 |
|
|
|
set _TARGETNAME $_CHIPNAME.cpu |
|
target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME |
|
|
|
$_TARGETNAME invoke-event halted |
|
|
|
$_TARGETNAME configure -work-area-phys [dict get $lpc315x sram0] -work-area-size 0x30000 -work-area-backup 0 |
|
|
|
$_TARGETNAME configure -event reset-init { |
|
echo "\nRunning reset init script for LPC3152\n" |
|
halt |
|
wait_halt |
|
reg cpsr 0xa00000d3 ;#Supervisor mode |
|
reg pc 0x11029000 |
|
poll |
|
sleep 500 |
|
} |
|
|
|
arm7_9 fast_memory_access enable |
|
arm7_9 dcc_downloads enable
|
|
|