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.
|
- #Hilscher netX 500 CPU
-
- if { [info exists CHIPNAME] } {
- set _CHIPNAME $CHIPNAME
- } else {
- set _CHIPNAME netx500
- }
-
- if { [info exists ENDIAN] } {
- set _ENDIAN $ENDIAN
- } else {
- set _ENDIAN little
- }
-
- if { [info exists CPUTAPID] } {
- set _CPUTAPID $CPUTAPID
- } else {
- set _CPUTAPID 0x07926021
- }
-
- # jtag scan chain
- jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-
- # that TAP is associated with a target
- set _TARGETNAME $_CHIPNAME.cpu
- target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME
-
- proc mread32 {addr} {
- set value(0) 0
- mem2array value 32 $addr 1
- return $value(0)
- }
-
- # This function must be called on netX100/500 right after halt
- # If it is called later the needed register cannot be written anymore
- proc sdram_fix { } {
-
- set accesskey [mread32 0x00100070]
- mww 0x00100070 [expr $accesskey]
- mww 0x0010002c 0x00000001
-
- if {[expr [mread32 0x0010002c] & 0x07] == 0x07} {
- puts "SDRAM Fix was not executed. Probably your CPU halted too late and the register is already locked!"
- } else {
- puts "SDRAM Fix succeeded!"
- }
- }
|