Last active
August 3, 2020 04:38
-
-
Save elfmimi/4cfc98e08f79cf888f033f14c858ee5d to your computer and use it in GitHub Desktop.
Housekeeping toolbox for OpenOCD targeting Nuvoton NUC126
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Housekeeping toolbox for OpenOCD targeting Nuvoton NUC126 | |
# by Ein Terakawa <[email protected]> | |
# | |
# based on TheLastMutt's mini51.cfg | |
# https://gist.github.com/TheLastMutt/d1c1948acaace7444c1c#file-mini51-cfg | |
# Usage example | |
# | |
# Read config regs. | |
# openocd -f NUC126.cfg -c ReadConfigRegs -c exit | |
# | |
# Read config regs with INTERFACE. (stlink is default) | |
# env INTERFACE=stlink openocd -f NUC126.cfg -c ReadConfigRegs -c exit | |
# | |
# Read config regs with specified tcl script path and binary. | |
# env OPENOCD_SCRIPTS=~/GitHub/OpenOCD/tcl ~/GitHub/OpenOCD/src/openocd.exe -f NUC126.cfg -c ReadConfigRegs -c exit | |
# | |
# Write config regs and Read back. | |
# openocd -f NUC126.cfg -c"WriteConfigRegs 0xF7FFFF7E 0x0001C000" -cReadConfigRegs" -cexit | |
# | |
# Write application to APROM and run. | |
# openocd -fNUC126.cfg -c"init; halt; program USBD_HID_Keyboard.elf; SysReset aprom run; exit" | |
# | |
# Read APROM. | |
# openocd -fNUC126.cfg -c"SysReset aprom halt; flash read_bank 0 aprom-filename.bin; reset run; exit" | |
# | |
# Read LDROM. | |
# openocd -fNUC126.cfg -c"SysReset ldrom halt; flash read_bank 1 ldrom-filename.bin; reset run; exit" | |
# | |
# Debug with gdb. (Run as gdb server.) | |
# openocd -fNUC126.cfg | |
# | |
# Erase all, write config regs, read back and write bootloader to LDROM. | |
# openocd -f NUC126.cfg -c "ChipErase; WriteConfigRegs 0xF7FFFF7E 0x0001C000; ReadConfigRegs; program ISP-HID.bin 0x100000; SysReset ldrom run; exit" | |
# | |
# Write embedded bootloader. (without using flash driver) | |
# openocd -f NUC126.cfg -c "WriteBootloader" | |
if [info exists ::env(OPENOCD_SCRIPTS)] { | |
puts [format "OPENOCD_SCRIPTS = %s" [env OPENOCD_SCRIPTS]] | |
} else { | |
if 0 { | |
set search_dir [format "%s/%s" [env HOME] GitHub/OpenOCD-code/tcl] | |
add_script_search_dir $search_dir | |
} | |
} | |
proc want_to_dispose_error_state_here {} { | |
# how can we dispose error state here? | |
catch {error "this is not an error"} | |
# OpenOCD 0.10.0 reports this line above as the cause of error | |
# when it fails to 'init' usualy because lack of proper connection. | |
} | |
proc load_script {args} { | |
if {0 == [llength $args]} { | |
error "No argument" | |
} | |
foreach arg $args { | |
if ![catch {set file [find $arg]}] { | |
break | |
} | |
} | |
if ![info exists file] { | |
if ![info exists ::env(OPENOCD_SCRIPTS)] { | |
echo "Please set environment variable OPENOCD_SCRIPTS and specify proper tcl path." | |
} | |
if {1 == [llength $args]} { | |
return -code error [format "Can't find %s" $args] | |
} else { | |
return -code error [format "Can't find any of %s" $args] | |
} | |
} | |
want_to_dispose_error_state_here | |
uplevel #0 [list source $file] | |
} | |
# to suppress deprecated message | |
catch {rename adapter_name original_adapter_name} | |
proc adapter_name {} { | |
if [catch {set name [adapter name]}] { | |
want_to_dispose_error_state_here | |
original_adapter_name | |
} else { | |
return $name | |
} | |
} | |
# to suppress deprecated message | |
catch {rename adapter_khz original_adapter_khz} | |
proc adapter_khz {khz} { | |
if [catch {set name [adapter speed $khz]}] { | |
want_to_dispose_error_state_here | |
original_adapter_khz $khz | |
} | |
} | |
set INTERFACE none | |
if [string equal [adapter_name] undefined] { | |
if [info exists ::env(INTERFACE)] { | |
set INTERFACE [env INTERFACE] | |
} else { | |
# default interface | |
set INTERFACE stlink | |
} | |
} | |
# when using Nuvoton Nu-Link | |
if {[lsearch -exact {nulink nu-link} [string tolower $INTERFACE]] >= 0} { | |
load_script interface/nulink.cfg | |
transport select hla_swd | |
} | |
# when using ST-Link V2 and clones | |
if {[lsearch -exact {stlink st-link stlinkv2 st-linkv2 stlink-v2 st-link-v2 stlink/v2 st-link/v2} [string tolower $INTERFACE]] >= 0} { | |
load_script interface/stlink.cfg interface/stlink-v2.cfg | |
transport select hla_swd | |
} | |
# when using CMSIS-DAP | |
if {[lsearch -exact {cmsis cmsis-dap} [string tolower $INTERFACE]] >= 0} { | |
load_script interface/cmsis-dap.cfg | |
transport select swd | |
# cmsis_dap_vid_pid 0x16C0 0x0486 0x0416 0xDC00 0x1209 0xDA42 | |
} | |
# when using SEGGER J-Link | |
if {[lsearch -exact {jlink j-link} [string tolower $INTERFACE]] >= 0} { | |
load_script interface/jlink.cfg | |
transport select swd | |
# jlink serial 50118839 | |
# jlink usb 0 | |
} | |
# when using FTDI MPSSE (FT232H and alike) | |
if {[lsearch -exact {ft232h ft232hl ae-ft232hl} [string tolower $INTERFACE]] >= 0} { | |
load_script interface/ftdi/ft232h-module-swd.cfg | |
} | |
if [string equal [adapter_name] undefined] { | |
error "No Interface!" | |
} | |
load_script target/numicro.cfg | |
# adjust clock freq. | |
if {[lsearch -exact {ftdi jlink} [adapter_name]] >= 0} { | |
adapter_khz 20000 | |
} else { | |
adapter_khz 10000 | |
} | |
#load_script mem_helper.tcl | |
proc mrw {reg} { | |
set value "" | |
mem2array value 32 $reg 1 | |
return $value(0) | |
} | |
add_usage_text mrw "address" | |
add_help_text mrw "Returns value of word in memory." | |
#proc mww {reg val} { | |
# return [numicro write_isp $reg $val] | |
#} | |
proc GetPartName {id} { | |
set parts([expr 0xC05204]) "NUC126LG4AE" | |
set parts([expr 0xC05205]) "NUC126LE4AE" | |
set parts([expr 0xC05212]) "NUC126SG4AE" | |
set parts([expr 0xC05213]) "NUC126SE4AE" | |
set parts([expr 0xC05231]) "NUC126VG4AE" | |
if [info exists parts($id)] { | |
return $parts($id) | |
} else { | |
return "" | |
} | |
} | |
proc GetFlashSize {id} { | |
set dict(NUC126) [dict create E [expr 0x20000] G [expr 0x40000]] | |
set part [GetPartName $id] | |
return [dict get $dict([string range $part 0 5]) [string index $part 7]] | |
} | |
# The following procedures to erase and unlock a locked MINI51 are taken from | |
# https://github.com/hackocopter/SWD-Hacking/blob/master/KEIL-Flashtools/Mini51flashtools.ini | |
# Ported from KEIL to OpenOCD tcl language and added some comments. | |
# The chip erase sequence got reverse engineered using a Nulink programmer, a logic analyzer | |
# and custom SWD log parser software. | |
# Info here: | |
# https://github.com/hackocopter/SWD-Hacking | |
# https://www.mikrocontroller.net/topic/309185 (German forum) | |
# This unlocks access to protected registers | |
# by writing to REGWRPROT register. | |
proc InitandUnlock {} { | |
# Halt target | |
mww 0xe000edf0 0x05f0003 | |
# ?? Something Debug access port / Breakpoint unit | |
mww 0xe0002008 0x000000 | |
mww 0xe000200C 0x000000 | |
mww 0xe0002010 0x000000 | |
mww 0xe0002014 0x000000 | |
# Unlock sequence for protected registers | |
mww 0x50000100 0x59 | |
mww 0x50000100 0x16 | |
mww 0x50000100 0x88 | |
} | |
# Read data from flash memory organization address, | |
# *not* system memory address. See datasheet section 6.7.4 | |
proc ReadViaISP {adr} { | |
# Enable ISP | |
mww 0x5000c000 0x39 | |
# ISP-Command = Flash Read | |
mww 0x5000c00c 0x00 | |
mww 0x5000c004 $adr | |
# Write ISP Trigger Control Register (ISPTRG) | |
# to start | |
mww 0x5000c010 1 | |
# Read ISPTRG until finished | |
while {[mrw 0x5000c010] != 0} { | |
echo "." | |
} | |
# Read ISP Data Register (ISPDAT) | |
set out [mrw 0x5000c008] | |
# Disable ISP | |
mww 0x5000c000 0x00 | |
return $out | |
} | |
# Write data to flash memory organization address | |
proc WriteViaISP {adr dat} { | |
mww 0x5000c000 0x39 | |
# ISP-Command = Flash Program | |
mww 0x5000c00c 0x21 | |
mww 0x5000c004 $adr | |
mww 0x5000c008 $dat | |
mww 0x5000c010 1 | |
# Read ISPTRG until finished | |
while {[mrw 0x5000c010] != 0} { | |
echo "." | |
} | |
if {[mrw 0x5000c000] & 0x40} { | |
error "ISP Error" | |
} | |
mww 0x5000c000 0x00 | |
} | |
proc PageErase {adr} { | |
mww 0x5000c000 0x39 | |
# ISP-Command = Flash page erase | |
mww 0x5000c00c 0x22 | |
mww 0x5000c004 $adr | |
mww 0x5000c010 1 | |
sleep 20 | |
# Read ISPTRG until finished | |
while {[mrw 0x5000c010] != 0} { | |
echo "." | |
sleep 10 | |
} | |
if {[mrw 0x5000c000] & 0x40} { | |
error "ISP Error" | |
} | |
mww 0x5000c000 0x00 | |
} | |
# Set boot configuration (like AVR fuse bits) | |
proc WriteConfigRegs {conf0 args} { | |
init | |
halt | |
set id [mrw 0x50000000] | |
set part [GetPartName $id] | |
if {$part != ""} { | |
puts [format "Device ID (PDID) :0x%08X (%s)" $id $part] | |
} else { | |
puts [format "Device ID (PDID) :0x%08X" $id] | |
} | |
WriteConfigRegsImpl $conf0 $args | |
puts "Configuration registers have been Written" | |
} | |
proc WriteConfigRegsImpl {conf0 args} { | |
InitandUnlock | |
# Boot from APROM, no IAP, Flash Unlocked, data flash enabled, no BOD | |
# All unused bits set to 1 | |
# Works for "DE" and "AN" parts | |
#set conf0 0xFFFFFFFE | |
# Data flash start address | |
#set conf1 0x3E00 | |
foreach arg $args { | |
if [info exists conf1] { | |
error "Too many arguments" | |
} | |
set conf1 $arg | |
} | |
if {![info exists conf1]} { | |
set conf1 [ReadViaISP 0x300004] | |
} | |
# If writing to the config registers fails on a "DE series" part | |
# (e.g. Mini54ZDE) uncomment this: | |
# Write one to undocumented flash control register | |
# to enable write access to flash | |
#mww 0x5000c01c 0x01 | |
PageErase 0x300000 | |
WriteViaISP 0x300000 $conf0 | |
WriteViaISP 0x300004 $conf1 | |
} | |
proc VerifyAllOne {adr len} { | |
if {($len == 0) || ($len & ~-512) != 0} { | |
return -code error [format "wrong value for len (%08X)" $len] | |
} | |
# Enable ISP | |
mww 0x5000c000 0x39 | |
# ISP-Command = Flash Read | |
mww 0x5000c004 $adr | |
mww 0x5000c008 $len | |
mww 0x5000c00c 0x28 | |
# Write ISP Trigger Control Register (ISPTRG) | |
# to start | |
mww 0x5000c010 1 | |
# Read ISPTRG until finished | |
while {[mrw 0x5000c010] != 0} { | |
#echo "." | |
} | |
# Read ISP Data Register (ISPDAT) | |
set allone [expr ([mrw 0x5000c040] & 0x80) != 0] | |
# Disable ISP | |
mww 0x5000c000 0x00 | |
return $allone | |
} | |
proc EraseConfig {} { | |
set conf0 0xFFFFFFFF | |
set conf1 0xFFFFFFFF | |
WriteConfigRegsImpl $conf0 $conf1 | |
puts "Configuration registers have been updated to Unprogrammed State" | |
} | |
proc ReadConfigRegs {} { | |
init | |
puts "Reading Configuration registers." | |
set id [mrw 0x50000000] | |
set part [GetPartName $id] | |
if {$part != ""} { | |
puts [format "Device ID (PDID) :0x%08X (%s)" $id $part] | |
} else { | |
puts [format "Device ID (PDID) :0x%08X" $id] | |
} | |
halt | |
InitandUnlock | |
# puts "Unlock done" | |
set conf0 [ReadViaISP 0x300000] | |
set conf1 [ReadViaISP 0x300004] | |
puts [format "Config0 (0x00300000):0x%X" $conf0] | |
puts [format "Config1 (0x00300004):0x%X" $conf1] | |
} | |
proc BlankCheck {} { | |
init | |
puts "Checking if flash memory is blank." | |
set id [mrw 0x50000000] | |
set part [GetPartName $id] | |
if {$part != ""} { | |
puts [format "Device ID (PDID) :0x%08X (%s)" $id $part] | |
} else { | |
puts [format "Device ID (PDID) :0x%08X" $id] | |
} | |
InitandUnlock | |
set conf0 [ReadViaISP 0x00300000] | |
if {$conf0 & 2} { | |
# puts "Flash is not locked." | |
} else { | |
puts "Flash is locked! Cannot check properly." | |
return | |
} | |
# NUC126 | |
if {[lsearch -exact {C05200} [format %X [expr $id & ~0xFF]]] >= 0} { | |
# flash probe 0 | |
# flash probe 1 | |
# set flash [flash list] | |
# set aprom [lindex $flash 0] | |
# set ldrom [lindex $flash 1] | |
set aprom [dict create base 0 size [GetFlashSize $id]] | |
set ldrom [dict create base 0x100000 size 0x1000] | |
puts -nonewline "APROM: " | |
if [VerifyAllOne $aprom(base) $aprom(size)] { | |
puts "Erased." | |
} else { | |
puts "Not Erased!" | |
} | |
puts -nonewline "LDROM: " | |
if [VerifyAllOne $ldrom(base) $ldrom(size)] { | |
puts "Erased." | |
} else { | |
puts "Not Erased!" | |
} | |
} else { | |
puts -nonewline "APROM: " | |
if {[ReadViaISP 0x00000004] == 0xffffffff} { | |
puts "Erased." | |
} else { | |
puts "Not Erased!" | |
} | |
puts -nonewline "LDROM: " | |
if {[ReadViaISP 0x00100004] == 0xffffffff} { | |
puts "Erased." | |
} else { | |
puts "Not Erased!" | |
} | |
} | |
puts -nonewline "CONFIG: " | |
if {[ReadViaISP 0x00300000] == 0xffffffff && [ReadViaISP 0x00300004] == 0xffffffff} { | |
puts "Erased." | |
} else { | |
puts "Not Erased!" | |
} | |
} | |
# Perform undocumented erase and unlock sequence | |
# if flash is locked (Config0 register bit1 cleared) | |
proc ChipErase {} { | |
init | |
halt | |
InitandUnlock | |
set conf0 [ReadViaISP 0x300000] | |
if {$conf0 & 2} { | |
puts "Flash is not locked." | |
} else { | |
puts "Flash is locked! Erasing anyway." | |
} | |
# Enable ISP | |
# mww 0x5000c000 0x39 | |
# Test mass erase only APROM | |
mww 0x5000c000 0x09 | |
# Write one to undocumented flash control register | |
mww 0x5000c01c 0x01 | |
if {[mrw 0x5000c000] & 0x40} { | |
error "ISP Error" | |
} | |
if {[mrw 0x5000c010] != 0} { | |
error "ISP Busy error" | |
} | |
# ISP-Command Mass-Erase | |
mww 0x5000c00c 0x26 | |
mww 0x5000c004 0 | |
puts "Performing chip erase." | |
mww 0x5000c010 1 | |
sleep 50 | |
while {[mrw 0x5000c010] != 0} { | |
echo "." | |
sleep 10 | |
} | |
if {[mrw 0x5000c000] & 0x40} { | |
error "ISP Error" | |
} | |
# Disable ISP | |
mww 0x5000c000 0x00 | |
BlankCheck | |
# Write zero to undocumented register | |
# mww 0x5000c01c 0 | |
} | |
#proc ChipReset {} { | |
# InitandUnlock | |
# mww 0x50000008 0x01 | |
#} | |
proc SysReset {args} { | |
init | |
foreach arg $args { | |
if [string equal [string tolower $arg] ldrom] { | |
set ldrom 1 | |
} elseif [string equal [string tolower $arg] aprom] { | |
set aprom 1 | |
} elseif [string equal [string tolower $arg] cpu] { | |
set cpurst 1 | |
} elseif [string equal [string tolower $arg] chip] { | |
set chiprst 1 | |
} elseif [string equal [string tolower $arg] por] { | |
set chiprst 1 | |
} elseif [string equal [string tolower $arg] run] { | |
set run 1 | |
} elseif [string equal [string tolower $arg] halt] { | |
set halt 1 | |
} else { | |
error [format "Unexpected argument '%o'" $arg] | |
} | |
} | |
if {[info exists aprom] && [info exists ldrom]} { | |
error "Too many arguments" | |
} | |
if {[info exists cpurst] && [info exists chiprst]} { | |
error "Too many arguments" | |
} | |
if {[info exists run] && [info exists halt]} { | |
error "Too many arguments" | |
} | |
InitandUnlock | |
if [info exists chiprst] { | |
# Set CHIPRST (IPRST0[0]) to 1. Result of CHIP Reset is same as Power On Reset. | |
mww 0x50000008 [expr [mrw 0x50000008] | 0x01] | |
} else { | |
if [info exists aprom] { | |
# Set BS (ISPCTL[1]) to 0 | |
mww 0x5000c000 [expr [mrw 0x5000c000] & ~0x02] | |
} | |
if [info exists ldrom] { | |
# Set BS (ISPCTL[1]) to 1 | |
mww 0x5000c000 [expr [mrw 0x5000c000] | 0x02] | |
} | |
if [info exists cpurst] { | |
# Set CPURST (IPRST0[1]) to 1. | |
mww 0x50000008 [expr [mrw 0x50000008] | 0x02] | |
} else { | |
# Set SYSRESETREQ (AIRCR[2]) to 1 along with VECTORKEY | |
# mww 0xe000ed0c 0x05fa0004 | |
if [info exists run] { | |
reset run | |
} elseif [info exists halt] { | |
reset halt | |
} else { | |
reset | |
} | |
} | |
} | |
} | |
# This function does not rely on device flash driver. | |
# means it only needs ARM Core's Debug Access Port to be functioning. | |
proc WriteBootloader {} { | |
# InitandUnlock | |
ChipErase | |
puts -nonewline "Writing Bootloader code to LDROM: " | |
WriteViaISP 0x100000 0x20005000 | |
WriteViaISP 0x100004 0x00000425 | |
WriteViaISP 0x100008 0x0000048b | |
WriteViaISP 0x10000C 0x00000481 | |
WriteViaISP 0x100010 0x00000000 | |
WriteViaISP 0x100014 0x00000000 | |
WriteViaISP 0x100018 0x00000000 | |
WriteViaISP 0x10001C 0x00000000 | |
WriteViaISP 0x100020 0x00000000 | |
WriteViaISP 0x100024 0x00000000 | |
WriteViaISP 0x100028 0x00000000 | |
WriteViaISP 0x10002C 0x0000048b | |
WriteViaISP 0x100030 0x00000000 | |
WriteViaISP 0x100034 0x00000000 | |
WriteViaISP 0x100038 0x0000048b | |
WriteViaISP 0x10003C 0x0000048b | |
WriteViaISP 0x100040 0xaf00b580 | |
WriteViaISP 0x100044 0xf000b0a0 | |
WriteViaISP 0x100048 0x48e7fa23 | |
WriteViaISP 0x10004C 0x22046801 | |
WriteViaISP 0x100050 0x6002430a | |
WriteViaISP 0x100054 0x06c968c1 | |
WriteViaISP 0x100058 0x6901d5fc | |
WriteViaISP 0x10005C 0x43312607 | |
WriteViaISP 0x100060 0x69816101 | |
WriteViaISP 0x100064 0x4391220f | |
WriteViaISP 0x100068 0x21016181 | |
WriteViaISP 0x10006C 0x0349910b | |
WriteViaISP 0x100070 0x430a6802 | |
WriteViaISP 0x100074 0x68c16002 | |
WriteViaISP 0x100078 0xd5fc0689 | |
WriteViaISP 0x10007C 0x040a990b | |
WriteViaISP 0x100080 0x92086a01 | |
WriteViaISP 0x100084 0x62014311 | |
WriteViaISP 0x100088 0x620149d8 | |
WriteViaISP 0x10008C 0x074968c1 | |
WriteViaISP 0x100090 0x6981d5fc | |
WriteViaISP 0x100094 0x43299d0b | |
WriteViaISP 0x100098 0x4391220e | |
WriteViaISP 0x10009C 0x69016181 | |
WriteViaISP 0x1000A0 0x430a2202 | |
WriteViaISP 0x1000A4 0x91032105 | |
WriteViaISP 0x1000A8 0x6102438a | |
WriteViaISP 0x1000AC 0x21094ad0 | |
WriteViaISP 0x1000B0 0x6b416011 | |
WriteViaISP 0x1000B4 0x40114acf | |
WriteViaISP 0x1000B8 0x69816341 | |
WriteViaISP 0x1000BC 0x439122f0 | |
WriteViaISP 0x1000C0 0x06e96181 | |
WriteViaISP 0x1000C4 0x430a6882 | |
WriteViaISP 0x1000C8 0x02a86082 | |
WriteViaISP 0x1000CC 0x3012900f | |
WriteViaISP 0x1000D0 0x600849c9 | |
WriteViaISP 0x1000D4 0x210048c9 | |
WriteViaISP 0x1000D8 0x4cc96001 | |
WriteViaISP 0x1000DC 0x910660e1 | |
WriteViaISP 0x1000E0 0xf0006061 | |
WriteViaISP 0x1000E4 0x68e0facd | |
WriteViaISP 0x1000E8 0x4308990f | |
WriteViaISP 0x1000EC 0x68e060e0 | |
WriteViaISP 0x1000F0 0x91042180 | |
WriteViaISP 0x1000F4 0x60e04308 | |
WriteViaISP 0x1000F8 0x68e10268 | |
WriteViaISP 0x1000FC 0x60e14301 | |
WriteViaISP 0x100100 0x211068e0 | |
WriteViaISP 0x100104 0x60e14301 | |
WriteViaISP 0x100108 0x680849be | |
WriteViaISP 0x10010C 0x60084328 | |
WriteViaISP 0x100110 0xf0004628 | |
WriteViaISP 0x100114 0x6025fafe | |
WriteViaISP 0x100118 0xf0002064 | |
WriteViaISP 0x10011C 0x4621fafa | |
WriteViaISP 0x100120 0x68104ab8 | |
WriteViaISP 0x100124 0x601043a8 | |
WriteViaISP 0x100128 0x68e0022a | |
WriteViaISP 0x10012C 0x43109205 | |
WriteViaISP 0x100130 0xa81060e0 | |
WriteViaISP 0x100134 0x32104602 | |
WriteViaISP 0x100138 0x30089201 | |
WriteViaISP 0x10013C 0x9b089002 | |
WriteViaISP 0x100140 0x68089607 | |
WriteViaISP 0x100144 0x07c0900e | |
WriteViaISP 0x100148 0x68c8d00a | |
WriteViaISP 0x10014C 0xd00507c0 | |
WriteViaISP 0x100150 0x60489806 | |
WriteViaISP 0x100154 0xfa94f000 | |
WriteViaISP 0x100158 0x9b0849a9 | |
WriteViaISP 0x10015C 0x6008980b | |
WriteViaISP 0x100160 0x900d6888 | |
WriteViaISP 0x100164 0x2d049d06 | |
WriteViaISP 0x100168 0xe0ded100 | |
WriteViaISP 0x10016C 0x461c4628 | |
WriteViaISP 0x100170 0x1c6d40ac | |
WriteViaISP 0x100174 0x42149a0e | |
WriteViaISP 0x100178 0x950fd0f5 | |
WriteViaISP 0x10017C 0x43422203 | |
WriteViaISP 0x100180 0x990d3208 | |
WriteViaISP 0x100184 0x403140d1 | |
WriteViaISP 0x100188 0xd00d2906 | |
WriteViaISP 0x10018C 0xd00b2902 | |
WriteViaISP 0x100190 0x499b2900 | |
WriteViaISP 0x100194 0xd13b9d0f | |
WriteViaISP 0x100198 0x78104a9f | |
WriteViaISP 0x10019C 0xd04f2800 | |
WriteViaISP 0x1001A0 0x20006048 | |
WriteViaISP 0x1001A4 0xe0327010 | |
WriteViaISP 0x1001A8 0x28030102 | |
WriteViaISP 0x1001AC 0x4898d12b | |
WriteViaISP 0x1001B0 0x5885920a | |
WriteViaISP 0x1001B4 0x900ca810 | |
WriteViaISP 0x1001B8 0x46312640 | |
WriteViaISP 0x1001BC 0xfaf8f000 | |
WriteViaISP 0x1001C0 0x990c2090 | |
WriteViaISP 0x1001C4 0x46329609 | |
WriteViaISP 0x1001C8 0xf9a6f000 | |
WriteViaISP 0x1001CC 0x7800980c | |
WriteViaISP 0x1001D0 0x46112200 | |
WriteViaISP 0x1001D4 0xd0044295 | |
WriteViaISP 0x1001D8 0x5c9bab10 | |
WriteViaISP 0x1001DC 0x1c5218c9 | |
WriteViaISP 0x1001E0 0x28a4e7f8 | |
WriteViaISP 0x1001E4 0xa810d116 | |
WriteViaISP 0x1001E8 0x98128001 | |
WriteViaISP 0x1001EC 0x90111c40 | |
WriteViaISP 0x1001F0 0x20509e07 | |
WriteViaISP 0x1001F4 0x9d09a910 | |
WriteViaISP 0x1001F8 0xf000462a | |
WriteViaISP 0x1001FC 0x4884f97f | |
WriteViaISP 0x100200 0x9b086205 | |
WriteViaISP 0x100204 0x20409a0a | |
WriteViaISP 0x100208 0x50884981 | |
WriteViaISP 0x10020C 0x9d0f497c | |
WriteViaISP 0x100210 0xe7a8600c | |
WriteViaISP 0x100214 0x8011aa10 | |
WriteViaISP 0x100218 0x1c499911 | |
WriteViaISP 0x10021C 0x28009111 | |
WriteViaISP 0x100220 0x28a0d017 | |
WriteViaISP 0x100224 0x28a2d02a | |
WriteViaISP 0x100228 0x28a6d048 | |
WriteViaISP 0x10022C 0x28b1d042 | |
WriteViaISP 0x100230 0xd0099e07 | |
WriteViaISP 0x100234 0xd10028ab | |
WriteViaISP 0x100238 0x28ace0ca | |
WriteViaISP 0x10023C 0xe0cbd1d9 | |
WriteViaISP 0x100240 0x4a732000 | |
WriteViaISP 0x100244 0xe7e26110 | |
WriteViaISP 0x100248 0x07009803 | |
WriteViaISP 0x10024C 0x90126800 | |
WriteViaISP 0x100250 0x4871e7cf | |
WriteViaISP 0x100254 0x2d386885 | |
WriteViaISP 0x100258 0x2538d300 | |
WriteViaISP 0x10025C 0x684008aa | |
WriteViaISP 0x100260 0xf0009902 | |
WriteViaISP 0x100264 0x496cf946 | |
WriteViaISP 0x100268 0x19406848 | |
WriteViaISP 0x10026C 0x68886048 | |
WriteViaISP 0x100270 0x9e071b40 | |
WriteViaISP 0x100274 0x2000d200 | |
WriteViaISP 0x100278 0xe7ba6088 | |
WriteViaISP 0x10027C 0x98132100 | |
WriteViaISP 0x100280 0x98071dc6 | |
WriteViaISP 0x100284 0x48644386 | |
WriteViaISP 0x100288 0x60866041 | |
WriteViaISP 0x10028C 0xd1374630 | |
WriteViaISP 0x100290 0xf922f000 | |
WriteViaISP 0x100294 0x91004602 | |
WriteViaISP 0x100298 0x485b460d | |
WriteViaISP 0x10029C 0x980b4005 | |
WriteViaISP 0x1002A0 0x920c4002 | |
WriteViaISP 0x1002A4 0xf0004859 | |
WriteViaISP 0x1002A8 0x2800f901 | |
WriteViaISP 0x1002AC 0x980bd00b | |
WriteViaISP 0x1002B0 0xe00a0440 | |
WriteViaISP 0x1002B4 0x2133a810 | |
WriteViaISP 0x1002B8 0xe7997201 | |
WriteViaISP 0x1002BC 0xf90cf000 | |
WriteViaISP 0x1002C0 0x90129113 | |
WriteViaISP 0x1002C4 0x4851e794 | |
WriteViaISP 0x1002C8 0x9a0c1d00 | |
WriteViaISP 0x1002CC 0x9b00432a | |
WriteViaISP 0x1002D0 0x46014298 | |
WriteViaISP 0x1002D4 0x4619d300 | |
WriteViaISP 0x1002D8 0xd1002a00 | |
WriteViaISP 0x1002DC 0x494e4608 | |
WriteViaISP 0x1002E0 0xe00d6849 | |
WriteViaISP 0x1002E4 0x60594b42 | |
WriteViaISP 0x1002E8 0x60da2222 | |
WriteViaISP 0x1002EC 0x611a9a0b | |
WriteViaISP 0x1002F0 0x8f6ff3bf | |
WriteViaISP 0x1002F4 0x0653681a | |
WriteViaISP 0x1002F8 0x4a43d467 | |
WriteViaISP 0x1002FC 0x1c491851 | |
WriteViaISP 0x100300 0xd3ef4281 | |
WriteViaISP 0x100304 0xd3002e30 | |
WriteViaISP 0x100308 0x08b22630 | |
WriteViaISP 0x10030C 0x68684d42 | |
WriteViaISP 0x100310 0xf0009901 | |
WriteViaISP 0x100314 0x4629f8ee | |
WriteViaISP 0x100318 0x19806868 | |
WriteViaISP 0x10031C 0x68a86068 | |
WriteViaISP 0x100320 0xd2001b80 | |
WriteViaISP 0x100324 0x60882000 | |
WriteViaISP 0x100328 0x483ae762 | |
WriteViaISP 0x10032C 0x40029a0e | |
WriteViaISP 0x100330 0xd1174282 | |
WriteViaISP 0x100334 0x90112000 | |
WriteViaISP 0x100338 0xad109010 | |
WriteViaISP 0x10033C 0x46292208 | |
WriteViaISP 0x100340 0xf8eaf000 | |
WriteViaISP 0x100344 0xf0004628 | |
WriteViaISP 0x100348 0x492df8f5 | |
WriteViaISP 0x10034C 0x4c309b08 | |
WriteViaISP 0x100350 0x9a046860 | |
WriteViaISP 0x100354 0x60604310 | |
WriteViaISP 0x100358 0x43106960 | |
WriteViaISP 0x10035C 0x482d6160 | |
WriteViaISP 0x100360 0x60081e80 | |
WriteViaISP 0x100364 0x68204c25 | |
WriteViaISP 0x100368 0xd10f2801 | |
WriteViaISP 0x10036C 0x60202000 | |
WriteViaISP 0x100370 0x492068c8 | |
WriteViaISP 0x100374 0x49224008 | |
WriteViaISP 0x100378 0x200160c8 | |
WriteViaISP 0x10037C 0xf9c9f000 | |
WriteViaISP 0x100380 0x9b08491f | |
WriteViaISP 0x100384 0x9a0568c8 | |
WriteViaISP 0x100388 0x60c84310 | |
WriteViaISP 0x10038C 0x28026820 | |
WriteViaISP 0x100390 0xe6d6d000 | |
WriteViaISP 0x100394 0x60202000 | |
WriteViaISP 0x100398 0x491668c8 | |
WriteViaISP 0x10039C 0x49184008 | |
WriteViaISP 0x1003A0 0x491860c8 | |
WriteViaISP 0x1003A4 0x9d0b6808 | |
WriteViaISP 0x1003A8 0x60084328 | |
WriteViaISP 0x1003AC 0x46209c05 | |
WriteViaISP 0x1003B0 0xf00030f4 | |
WriteViaISP 0x1003B4 0x4912f9ae | |
WriteViaISP 0x1003B8 0x4a129b08 | |
WriteViaISP 0x1003BC 0x43a86810 | |
WriteViaISP 0x1003C0 0x68c86010 | |
WriteViaISP 0x1003C4 0x60c84320 | |
WriteViaISP 0x1003C8 0x4809e6bb | |
WriteViaISP 0x1003CC 0xdefe6002 | |
WriteViaISP 0x1003D0 0x99094807 | |
WriteViaISP 0x1003D4 0xe0026001 | |
WriteViaISP 0x1003D8 0x49052042 | |
WriteViaISP 0x1003DC 0x480f6008 | |
WriteViaISP 0x1003E0 0x6001490f | |
WriteViaISP 0x1003E4 0x46c0defe | |
WriteViaISP 0x1003E8 0x50000200 | |
WriteViaISP 0x1003EC 0x0008000b | |
WriteViaISP 0x1003F0 0x5000c000 | |
WriteViaISP 0x1003F4 0xfffffeff | |
WriteViaISP 0x1003F8 0x50000090 | |
WriteViaISP 0x1003FC 0x20004c00 | |
WriteViaISP 0x100400 0x40060004 | |
WriteViaISP 0x100404 0x40060090 | |
WriteViaISP 0x100408 0x000007ff | |
WriteViaISP 0x10040C 0x0003fffc | |
WriteViaISP 0x100410 0x40060504 | |
WriteViaISP 0x100414 0x80000002 | |
WriteViaISP 0x100418 0x200000ac | |
WriteViaISP 0x10041C 0xe000ed0c | |
WriteViaISP 0x100420 0x05fa0004 | |
WriteViaISP 0x100424 0xaf00b580 | |
WriteViaISP 0x100428 0xf97cf000 | |
WriteViaISP 0x10042C 0x490d480c | |
WriteViaISP 0x100430 0xd2024288 | |
WriteViaISP 0x100434 0xc0042200 | |
WriteViaISP 0x100438 0x480be7fa | |
WriteViaISP 0x10043C 0x4a0c490b | |
WriteViaISP 0x100440 0xd2024290 | |
WriteViaISP 0x100444 0xc008c908 | |
WriteViaISP 0x100448 0x480ae7fa | |
WriteViaISP 0x10044C 0x4a0b490a | |
WriteViaISP 0x100450 0xd2024290 | |
WriteViaISP 0x100454 0xc008c908 | |
WriteViaISP 0x100458 0xf7ffe7fa | |
WriteViaISP 0x10045C 0xdefefdf1 | |
WriteViaISP 0x100460 0x200000ac | |
WriteViaISP 0x100464 0x200000b8 | |
WriteViaISP 0x100468 0x20000000 | |
WriteViaISP 0x10046C 0x00000874 | |
WriteViaISP 0x100470 0x200000ac | |
WriteViaISP 0x100474 0x200000ac | |
WriteViaISP 0x100478 0x200000ac | |
WriteViaISP 0x10047C 0x200000ac | |
WriteViaISP 0x100480 0xaf00b580 | |
WriteViaISP 0x100484 0xf9a8f000 | |
WriteViaISP 0x100488 0xe7febd80 | |
WriteViaISP 0x10048C 0xd4d44770 | |
WriteViaISP 0x100490 0x21594805 | |
WriteViaISP 0x100494 0x21166001 | |
WriteViaISP 0x100498 0x21886001 | |
WriteViaISP 0x10049C 0x68016001 | |
WriteViaISP 0x1004A0 0xd0f607c9 | |
WriteViaISP 0x1004A4 0x46c04770 | |
WriteViaISP 0x1004A8 0x50000100 | |
WriteViaISP 0x1004AC 0xaf02b5d0 | |
WriteViaISP 0x1004B0 0x60484908 | |
WriteViaISP 0x1004B4 0x60ca2200 | |
WriteViaISP 0x1004B8 0x2001608a | |
WriteViaISP 0x1004BC 0xf3bf6108 | |
WriteViaISP 0x1004C0 0x680b8f6f | |
WriteViaISP 0x1004C4 0xd402065c | |
WriteViaISP 0x1004C8 0x46106889 | |
WriteViaISP 0x1004CC 0x600bbdd0 | |
WriteViaISP 0x1004D0 0x46c0bdd0 | |
WriteViaISP 0x1004D4 0x5000c000 | |
WriteViaISP 0x1004D8 0xaf02b5b0 | |
WriteViaISP 0x1004DC 0x05042003 | |
WriteViaISP 0x1004E0 0xf7ff4620 | |
WriteViaISP 0x1004E4 0x460dffe3 | |
WriteViaISP 0x1004E8 0xf7ff1d20 | |
WriteViaISP 0x1004EC 0x4628ffdf | |
WriteViaISP 0x1004F0 0xb580bdb0 | |
WriteViaISP 0x1004F4 0xf000af00 | |
WriteViaISP 0x1004F8 0xbd80f969 | |
WriteViaISP 0x1004FC 0x18c04b05 | |
WriteViaISP 0x100500 0xd0052a00 | |
WriteViaISP 0x100504 0x7003780b | |
WriteViaISP 0x100508 0x1c491e52 | |
WriteViaISP 0x10050C 0xe7f71c40 | |
WriteViaISP 0x100510 0x46c04770 | |
WriteViaISP 0x100514 0x40060100 | |
WriteViaISP 0x100518 0x18c04b05 | |
WriteViaISP 0x10051C 0xd0052a00 | |
WriteViaISP 0x100520 0x700b7803 | |
WriteViaISP 0x100524 0x1c491e52 | |
WriteViaISP 0x100528 0xe7f71c40 | |
WriteViaISP 0x10052C 0x46c04770 | |
WriteViaISP 0x100530 0x40060100 | |
WriteViaISP 0x100534 0xaf06b5fe | |
WriteViaISP 0x100538 0x23067842 | |
WriteViaISP 0x10053C 0x78044053 | |
WriteViaISP 0x100540 0x94022180 | |
WriteViaISP 0x100544 0x43194061 | |
WriteViaISP 0x100548 0x414d424d | |
WriteViaISP 0x10054C 0x43197883 | |
WriteViaISP 0x100550 0x414e424e | |
WriteViaISP 0x100554 0x78c07984 | |
WriteViaISP 0x100558 0xd10b2900 | |
WriteViaISP 0x10055C 0xd1092801 | |
WriteViaISP 0x100560 0x2c402008 | |
WriteViaISP 0x100564 0xd0004601 | |
WriteViaISP 0x100568 0x428c2112 | |
WriteViaISP 0x10056C 0x460cd300 | |
WriteViaISP 0x100570 0xe00a4942 | |
WriteViaISP 0x100574 0x1e819201 | |
WriteViaISP 0x100578 0x414a424a | |
WriteViaISP 0x10057C 0xd00a4216 | |
WriteViaISP 0x100580 0xd3002c29 | |
WriteViaISP 0x100584 0x20082429 | |
WriteViaISP 0x100588 0x4622493b | |
WriteViaISP 0x10058C 0xffb6f7ff | |
WriteViaISP 0x100590 0x60044831 | |
WriteViaISP 0x100594 0x1f81bdfe | |
WriteViaISP 0x100598 0x414a424a | |
WriteViaISP 0x10059C 0xd0034216 | |
WriteViaISP 0x1005A0 0x2102482d | |
WriteViaISP 0x1005A4 0xbdfe6081 | |
WriteViaISP 0x1005A8 0x424a1ec1 | |
WriteViaISP 0x1005AC 0x4215414a | |
WriteViaISP 0x1005B0 0x2b03d00d | |
WriteViaISP 0x1005B4 0x492cd8f4 | |
WriteViaISP 0x1005B8 0x46c02404 | |
WriteViaISP 0x1005BC 0x791b447b | |
WriteViaISP 0x1005C0 0x449f005b | |
WriteViaISP 0x1005C4 0x2b28012d | |
WriteViaISP 0x1005C8 0x2410492a | |
WriteViaISP 0x1005CC 0x9a02e028 | |
WriteViaISP 0x1005D0 0x99012a80 | |
WriteViaISP 0x1005D4 0x2900d105 | |
WriteViaISP 0x1005D8 0x2008d103 | |
WriteViaISP 0x1005DC 0x24024921 | |
WriteViaISP 0x1005E0 0x2a81e7d3 | |
WriteViaISP 0x1005E4 0x2906d10d | |
WriteViaISP 0x1005E8 0x2822d10b | |
WriteViaISP 0x1005EC 0x2008d109 | |
WriteViaISP 0x1005F0 0x251b491b | |
WriteViaISP 0x1005F4 0xf7ff462a | |
WriteViaISP 0x1005F8 0x2c1bff81 | |
WriteViaISP 0x1005FC 0x462cd3c8 | |
WriteViaISP 0x100600 0x2a00e7c6 | |
WriteViaISP 0x100604 0x2905d10e | |
WriteViaISP 0x100608 0x4814d10c | |
WriteViaISP 0x10060C 0x48127003 | |
WriteViaISP 0x100610 0x60012100 | |
WriteViaISP 0x100614 0x4916bdfe | |
WriteViaISP 0x100618 0xe0012416 | |
WriteViaISP 0x10061C 0x24144913 | |
WriteViaISP 0x100620 0xe7b22008 | |
WriteViaISP 0x100624 0xd1072a00 | |
WriteViaISP 0x100628 0xd1052909 | |
WriteViaISP 0x10062C 0x2100480a | |
WriteViaISP 0x100630 0x21406001 | |
WriteViaISP 0x100634 0xbdfe6301 | |
WriteViaISP 0x100638 0xd1072a21 | |
WriteViaISP 0x10063C 0xd1052909 | |
WriteViaISP 0x100640 0xd1a72802 | |
WriteViaISP 0x100644 0x21084804 | |
WriteViaISP 0x100648 0xbdfe6101 | |
WriteViaISP 0x10064C 0xd1a12a21 | |
WriteViaISP 0x100650 0xd0dc290a | |
WriteViaISP 0x100654 0x46c0e79e | |
WriteViaISP 0x100658 0x40060504 | |
WriteViaISP 0x10065C 0x200000ac | |
WriteViaISP 0x100660 0x00000857 | |
WriteViaISP 0x100664 0x00000855 | |
WriteViaISP 0x100668 0x00000851 | |
WriteViaISP 0x10066C 0x00000817 | |
WriteViaISP 0x100670 0x0000082b | |
WriteViaISP 0x100674 0x00000841 | |
WriteViaISP 0x100678 0x000007ee | |
WriteViaISP 0x10067C 0x000007dc | |
WriteViaISP 0x100680 0x2100480b | |
WriteViaISP 0x100684 0x480b6001 | |
WriteViaISP 0x100688 0x60012108 | |
WriteViaISP 0x10068C 0x01492111 | |
WriteViaISP 0x100690 0x32a0460a | |
WriteViaISP 0x100694 0x22486082 | |
WriteViaISP 0x100698 0x61816102 | |
WriteViaISP 0x10069C 0x62012150 | |
WriteViaISP 0x1006A0 0x62812141 | |
WriteViaISP 0x1006A4 0x63012190 | |
WriteViaISP 0x1006A8 0x63812122 | |
WriteViaISP 0x1006AC 0x46c04770 | |
WriteViaISP 0x1006B0 0x40060018 | |
WriteViaISP 0x1006B4 0x40060500 | |
WriteViaISP 0x1006B8 0xaf02b5b0 | |
WriteViaISP 0x1006BC 0xd01c2800 | |
WriteViaISP 0x1006C0 0x2200490e | |
WriteViaISP 0x1006C4 0x608a604a | |
WriteViaISP 0x1006C8 0x600b2305 | |
WriteViaISP 0x1006CC 0x041b2301 | |
WriteViaISP 0x1006D0 0x1c654c0b | |
WriteViaISP 0x1006D4 0xd90742a8 | |
WriteViaISP 0x1006D8 0x680d604c | |
WriteViaISP 0x1006DC 0xd0fc421d | |
WriteViaISP 0x1006E0 0x062d25ff | |
WriteViaISP 0x1006E4 0xe7f41940 | |
WriteViaISP 0x1006E8 0xd9052801 | |
WriteViaISP 0x1006EC 0x60481e40 | |
WriteViaISP 0x1006F0 0x6808608a | |
WriteViaISP 0x1006F4 0xd0fc4218 | |
WriteViaISP 0x1006F8 0xbdb0600a | |
WriteViaISP 0x1006FC 0xe000e010 | |
WriteViaISP 0x100700 0x00ffffff | |
WriteViaISP 0x100704 0xaf00b580 | |
WriteViaISP 0x100708 0x43482148 | |
WriteViaISP 0x10070C 0xffd4f7ff | |
WriteViaISP 0x100710 0xb580bd80 | |
WriteViaISP 0x100714 0x217daf00 | |
WriteViaISP 0x100718 0x434800c9 | |
WriteViaISP 0x10071C 0xfff2f7ff | |
WriteViaISP 0x100720 0xd4d4bd80 | |
WriteViaISP 0x100724 0xaf02b5d0 | |
WriteViaISP 0x100728 0x6801480d | |
WriteViaISP 0x10072C 0x60022203 | |
WriteViaISP 0x100730 0x29034011 | |
WriteViaISP 0x100734 0xf7ffd10d | |
WriteViaISP 0x100738 0x4c0afeab | |
WriteViaISP 0x10073C 0x60202001 | |
WriteViaISP 0x100740 0xf7ff2004 | |
WriteViaISP 0x100744 0x1c48feb3 | |
WriteViaISP 0x100748 0xd8032801 | |
WriteViaISP 0x10074C 0x21004806 | |
WriteViaISP 0x100750 0xbdd06001 | |
WriteViaISP 0x100754 0x60202040 | |
WriteViaISP 0x100758 0x49054804 | |
WriteViaISP 0x10075C 0xdefe6001 | |
WriteViaISP 0x100760 0x50000004 | |
WriteViaISP 0x100764 0x5000c000 | |
WriteViaISP 0x100768 0x50000100 | |
WriteViaISP 0x10076C 0xe000ed0c | |
WriteViaISP 0x100770 0x05fa0004 | |
WriteViaISP 0x100774 0xaf00b580 | |
WriteViaISP 0x100778 0x4611460b | |
WriteViaISP 0x10077C 0xf000461a | |
WriteViaISP 0x100780 0xbd80f81d | |
WriteViaISP 0x100784 0xaf02b5d0 | |
WriteViaISP 0x100788 0xb2d24613 | |
WriteViaISP 0x10078C 0xd30c2904 | |
WriteViaISP 0x100790 0x18d3061b | |
WriteViaISP 0x100794 0x191b0414 | |
WriteViaISP 0x100798 0x191b0214 | |
WriteViaISP 0x10079C 0xc008460c | |
WriteViaISP 0x1007A0 0x2c031f24 | |
WriteViaISP 0x1007A4 0x2303d8fb | |
WriteViaISP 0x1007A8 0xf7ff4019 | |
WriteViaISP 0x1007AC 0xbdd0ffe3 | |
WriteViaISP 0x1007B0 0xaf00b580 | |
WriteViaISP 0x1007B4 0xf7ff2200 | |
WriteViaISP 0x1007B8 0xbd80ffe5 | |
WriteViaISP 0x1007BC 0xd0042a00 | |
WriteViaISP 0x1007C0 0x70194603 | |
WriteViaISP 0x1007C4 0x1e521c5b | |
WriteViaISP 0x1007C8 0x4770d1fb | |
WriteViaISP 0x1007CC 0x4801b403 | |
WriteViaISP 0x1007D0 0xbd019001 | |
WriteViaISP 0x1007D4 0x20000001 | |
WriteViaISP 0x1007D8 0xd4d4e7fe | |
WriteViaISP 0x1007DC 0x02000112 | |
WriteViaISP 0x1007E0 0x40000000 | |
WriteViaISP 0x1007E4 0xa3160416 | |
WriteViaISP 0x1007E8 0x02010100 | |
WriteViaISP 0x1007EC 0x02090103 | |
WriteViaISP 0x1007F0 0x01010029 | |
WriteViaISP 0x1007F4 0x09328000 | |
WriteViaISP 0x1007F8 0x02000004 | |
WriteViaISP 0x1007FC 0x00000003 | |
WriteViaISP 0x100800 0x01102109 | |
WriteViaISP 0x100804 0x1b220100 | |
WriteViaISP 0x100808 0x81050700 | |
WriteViaISP 0x10080C 0x01004003 | |
WriteViaISP 0x100810 0x03020507 | |
WriteViaISP 0x100814 0x14010040 | |
WriteViaISP 0x100818 0x4e004103 | |
WriteViaISP 0x10081C 0x53005900 | |
WriteViaISP 0x100820 0x52005400 | |
WriteViaISP 0x100824 0x4e004900 | |
WriteViaISP 0x100828 0x16004700 | |
WriteViaISP 0x10082C 0x55004e03 | |
WriteViaISP 0x100830 0x31004300 | |
WriteViaISP 0x100834 0x36003200 | |
WriteViaISP 0x100838 0x49002000 | |
WriteViaISP 0x10083C 0x50005300 | |
WriteViaISP 0x100840 0x4e031000 | |
WriteViaISP 0x100844 0x76007500 | |
WriteViaISP 0x100848 0x74006f00 | |
WriteViaISP 0x10084C 0x6e006f00 | |
WriteViaISP 0x100850 0x09030400 | |
WriteViaISP 0x100854 0x05000004 | |
WriteViaISP 0x100858 0xa1000901 | |
WriteViaISP 0x10085C 0x25001501 | |
WriteViaISP 0x100860 0x290019ff | |
WriteViaISP 0x100864 0x754095ff | |
WriteViaISP 0x100868 0x19028108 | |
WriteViaISP 0x10086C 0x91ff2900 | |
WriteViaISP 0x100870 0x0000c002 | |
WriteViaISP 0x100874 0xaf06b5fe | |
WriteViaISP 0x100878 0x46039202 | |
WriteViaISP 0x10087C 0x20274a26 | |
WriteViaISP 0x100880 0x200060d0 | |
WriteViaISP 0x100884 0x4d252401 | |
WriteViaISP 0x100888 0x93009401 | |
WriteViaISP 0x10088C 0x42909a02 | |
WriteViaISP 0x100890 0x07e2d235 | |
WriteViaISP 0x100894 0x6c2ed004 | |
WriteViaISP 0x100898 0xd1fc07f6 | |
WriteViaISP 0x10089C 0x60634c1e | |
WriteViaISP 0x1008A0 0xd408071e | |
WriteViaISP 0x1008A4 0x06b66c2e | |
WriteViaISP 0x1008A8 0xd1fb0fb6 | |
WriteViaISP 0x1008AC 0x598c0086 | |
WriteViaISP 0x1008B0 0xc610462e | |
WriteViaISP 0x1008B4 0x6c2ce008 | |
WriteViaISP 0x1008B8 0x0fa40624 | |
WriteViaISP 0x1008BC 0x0084d1fb | |
WriteViaISP 0x1008C0 0x60ac590c | |
WriteViaISP 0x1008C4 0x360c462e | |
WriteViaISP 0x1008C8 0x18640084 | |
WriteViaISP 0x1008CC 0x60346864 | |
WriteViaISP 0x1008D0 0xd0022a00 | |
WriteViaISP 0x1008D4 0x4c102201 | |
WriteViaISP 0x1008D8 0x6c2a6122 | |
WriteViaISP 0x1008DC 0xd10607d2 | |
WriteViaISP 0x1008E0 0x33086c6b | |
WriteViaISP 0x1008E4 0x1a189800 | |
WriteViaISP 0x1008E8 0x9e010880 | |
WriteViaISP 0x1008EC 0x3308e002 | |
WriteViaISP 0x1008F0 0x26001c80 | |
WriteViaISP 0x1008F4 0x4254b2da | |
WriteViaISP 0x1008F8 0x43344154 | |
WriteViaISP 0x1008FC 0x6c28e7c6 | |
WriteViaISP 0x100900 0xd1fc07c0 | |
WriteViaISP 0x100904 0x68104a04 | |
WriteViaISP 0x100908 0xd4010641 | |
WriteViaISP 0x10090C 0xbdfe2000 | |
WriteViaISP 0x100910 0x98016010 | |
WriteViaISP 0x100914 0x46c0bdfe | |
WriteViaISP 0x100918 0x5000c000 | |
WriteViaISP 0x10091C 0x5000c080 | |
puts "Done." | |
# CONFIG0[27] == 0 : PF4 and PF3 will be configured as GPIO pins on reset | |
set conf0 0xF7FFFF7E | |
# CONFIG0[27] == 1 : PF4 and PF3 will be configured as HXT crystal driving pins | |
# set conf0 0xFFFFFF7E | |
# start of Data Flash == end of APROM | |
set conf1 0x0001C000 | |
WriteConfigRegsImpl $conf0 $conf1 | |
puts "Default values have been written to Configuration registers." | |
puts [format "0x%08X 0x%08X" $conf0 $conf1] | |
puts "Rebooting Target" | |
SysReset ldrom run | |
puts "Exiting" | |
exit | |
} | |
if 0 { } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment