5282run.gdb
来自「opentcp_mcf5282原代码」· GDB 代码 · 共 452 行
GDB
452 行
#
# from http://mailman.uclinux.org/pipermail/uclinux-dev/2003-September/021123.html
# written by Phil Wilshire <philwil@earthlink.net>
# http://www.sysdcs.com
#
target bdm /dev/bdmcf0
if 0
x 0x00000000
x
x
end
define addresses
set $myipsbar = 0x40000001
set $myrambar = $myipsbar -1 + 0x008
# Pll
set $myclocksyncr = $myipsbar -1 + 0x120000
set $myclocksynsr = $myipsbar -1 + 0x120002
# Uart
set $mygpio_puapar = $myipsbar -1 + 0x10005C
# CS0-6
set $myuart0_umr = $myipsbar -1 + 0x200
set $myuart0_ucsr = $myipsbar -1 + 0x204
set $myuart0_ucr = $myipsbar -1 + 0x208
set $myuart0_utb = $myipsbar -1 + 0x20c
set $myuart0_urb = $myipsbar -1 + 0x20c
set $myuart0_uimr = $myipsbar -1 + 0x214
set $myuart0_ubg1 = $myipsbar -1 + 0x218
set $myuart0_ubg2 = $myipsbar -1 + 0x21c
set $mycs0_csar = $myipsbar -1 + 0x80
set $mycs0_csmr = $myipsbar -1 + 0x84
set $mycs0_cscr = $myipsbar -1 + 0x8A
set $mycs1_csar = $myipsbar -1 + 0x8C
set $mycs1_csmr = $myipsbar -1 + 0x90
set $mycs1_cscr = $myipsbar -1 + 0x96
set $mycs2_csar = $myipsbar -1 + 0x98
set $mycs2_csmr = $myipsbar -1 + 0x9C
set $mycs2_cscr = $myipsbar -1 + 0xA2
set $mycs3_csar = $myipsbar -1 + 0xA4
set $mycs3_csmr = $myipsbar -1 + 0xA8
set $mycs3_cscr = $myipsbar -1 + 0xAE
set $mycs4_csar = $myipsbar -1 + 0xB0
set $mycs4_csmr = $myipsbar -1 + 0xB4
set $mycs4_cscr = $myipsbar -1 + 0xBA
set $mycs5_csar = $myipsbar -1 + 0xBC
set $mycs5_csmr = $myipsbar -1 + 0xC0
set $mycs5_cscr = $myipsbar -1 + 0xC6
set $mycs6_csar = $myipsbar -1 + 0xC8
set $mycs6_csmr = $myipsbar -1 + 0xCC
set $mycs6_cscr = $myipsbar -1 + 0xD2
#sdram
set $mysdramc_dcr = $myipsbar -1 + 0x40
set $mysdramc_dacr0 = $myipsbar -1 + 0x48
set $mysdramc_dmr0 = $myipsbar -1 + 0x4C
set $mysdramc_dacr1 = $myipsbar -1 + 0x50
set $mysdramc_dmr1 = $myipsbar -1 + 0x54
# GPIO
set $mypbcdpar = $myipsbar -1 + 0x100050
set $mypjpar = $myipsbar -1 + 0x100054
set $mypuapar = $myipsbar -1 + 0x10005C
#CAN
set $mycanmcr = $myipsbar -1 + 0x1C0000
set $mycanctrl0 = $myipsbar -1 + 0x1C0006
set $mycanctrl1 = $myipsbar -1 + 0x1C0007
set $mycanpresdiv = $myipsbar -1 + 0x1C0008
set $mycanctrl2 = $myipsbar -1 + 0x1C0009
set $mycanmb0ctrl = $myipsbar -1 + 0x1C0080
set $mycanmb0idh = $myipsbar -1 + 0x1C0082
set $mycanmb0idl = $myipsbar -1 + 0x1C0084
set $mycanmb1ctrl = $myipsbar -1 + 0x1C0090
set $mycanmb1idh = $myipsbar -1 + 0x1C0092
set $mycanmb1idl = $myipsbar -1 + 0x1C0094
set $mycanmb2ctrl = $myipsbar -1 + 0x1C00A0
set $mycanmb2idh = $myipsbar -1 + 0x1C00A2
set $mycanmb2idl = $myipsbar -1 + 0x1C00A4
set $mycanmb3ctrl = $myipsbar -1 + 0x1C00B0
set $mycanmb3idh = $myipsbar -1 + 0x1C00B2
set $mycanmb3idl = $myipsbar -1 + 0x1C00B4
set $mycanmb4ctrl = $myipsbar -1 + 0x1C00C0
set $mycanmb4idh = $myipsbar -1 + 0x1C00C2
set $mycanmb4idl = $myipsbar -1 + 0x1C00C4
set $mycanmb5ctrl = $myipsbar -1 + 0x1C00D0
set $mycanmb5idh = $myipsbar -1 + 0x1C00D2
set $mycanmb5idl = $myipsbar -1 + 0x1C00D4
set $mycanmb6ctrl = $myipsbar -1 + 0x1C00E0
set $mycanmb6idh = $myipsbar -1 + 0x1C00E2
set $mycanmb6idl = $myipsbar -1 + 0x1C00E4
set $mycanmb7ctrl = $myipsbar -1 + 0x1C00F0
set $mycanmb7idh = $myipsbar -1 + 0x1C00F2
set $mycanmb7idl = $myipsbar -1 + 0x1C00F4
set $mycanmb8ctrl = $myipsbar -1 + 0x1C0100
set $mycanmb8idh = $myipsbar -1 + 0x1C0102
set $mycanmb8idl = $myipsbar -1 + 0x1C0104
set $mycanmb9ctrl = $myipsbar -1 + 0x1C0110
set $mycanmb9idh = $myipsbar -1 + 0x1C0112
set $mycanmb9idl = $myipsbar -1 + 0x1C0114
set $mycanmb10ctrl = $myipsbar -1 + 0x1C0120
set $mycanmb10idh = $myipsbar -1 + 0x1C0122
set $mycanmb10idl = $myipsbar -1 + 0x1C0124
set $mycanmb11ctrl = $myipsbar -1 + 0x1C0130
set $mycanmb11idh = $myipsbar -1 + 0x1C0132
set $mycanmb11idl = $myipsbar -1 + 0x1C0134
set $mycanmb12ctrl = $myipsbar -1 + 0x1C0140
set $mycanmb12idh = $myipsbar -1 + 0x1C0142
set $mycanmb12idl = $myipsbar -1 + 0x1C0144
set $mycanmb13ctrl = $myipsbar -1 + 0x1C0150
set $mycanmb13idh = $myipsbar -1 + 0x1C0152
set $mycanmb13idl = $myipsbar -1 + 0x1C0154
set $mycanmb14ctrl = $myipsbar -1 + 0x1C0160
set $mycanmb14idh = $myipsbar -1 + 0x1C0162
set $mycanmb14idl = $myipsbar -1 + 0x1C0164
set $mycanmb15ctrl = $myipsbar -1 + 0x1C0170
set $mycanmb15idh = $myipsbar -1 + 0x1C0172
set $mycanmb15idl = $myipsbar -1 + 0x1C0174
set $mycanrxgmask = $myipsbar -1 + 0x1C0010
# arrow system latch
set $arrow_latch = 0x3200f000
# setup for SDRAM access
#( ((!FPGA_SDRAM_NOT_5382_ACCESS) 0x1000
# & (! SDRAM_BUS_DIR_IN)) 0x0800
# | RUN_MODE_BASE_MASK );
# end addresses
end
define setup_can
# FRZ 0x4000 HALT 0x1000 SELFWAKE 0x40
set *(unsigned short *)$mycanmcr = 0x5040
#RXMODE =0x04
set *(unsigned char *)$mycanctrl0 = 0x04
#LOM 0x08
set *(unsigned char *)$mycanctrl1 = 0x08
set *(unsigned char *)$mycanpresdiv = 0x83
set *(unsigned short *)$mycanmb0ctrl = 0x0088
set *(unsigned short *)$mycanmb1ctrl = 0x0000
set *(unsigned short *)$mycanmb2ctrl = 0x0088
set *(unsigned short *)$mycanmb3ctrl = 0x0088
set *(unsigned short *)$mycanmb4ctrl = 0x0088
set *(unsigned short *)$mycanmb5ctrl = 0x0088
set *(unsigned short *)$mycanmb6ctrl = 0x0088
set *(unsigned short *)$mycanmb7ctrl = 0x0088
set *(unsigned short *)$mycanmb8ctrl = 0x0088
set *(unsigned short *)$mycanmb9ctrl = 0x0000
set *(unsigned short *)$mycanmb10ctrl = 0x0000
set *(unsigned short *)$mycanmb11ctrl = 0x0000
set *(unsigned short *)$mycanmb12ctrl = 0x0000
set *(unsigned short *)$mycanmb13ctrl = 0x0000
set *(unsigned short *)$mycanmb14ctrl = 0x0000
set *(unsigned short *)$mycanmb15ctrl = 0x0000
# FRZ 0x4000 HALT 0x1000 SELFWAKE 0x40
set *(unsigned long *)$mycanrxgmask = 0xFFE00000
# FRZ 0x4000 HALT SELFWAKE 0x40
set *(unsigned short *)$mycanmcr = 0x4040
end
define setup_gpio
set *(unsigned char *)$mypbcdpar=0xC0
set *(unsigned char *)$mypuapar=0x0F
set *(unsigned char *)$mypjpar=0xFF
end
define setup_iram
####### set up internal sram ####################
set *$myrambar = 0x20000200
if 0
set *0x20000000=0x12345678
set *0x20000000=0x55aa55aa
set *0x20000004=0xaa55aa55
x 0x20000000
x 0x20000004
end
# end setup_iram
end
####### set up pll ####################
define setup_pll
#set $myclocksyncr = $myipsbar -1 + 0x120000
#set $myclocksynsr = $myipsbar -1 + 0x120002
set *(unsigned short *)$myclocksyncr = (((2)&0x0007)<<12)
while ((*$myclocksynsr & 0x08000000) == 0 )
set $foo = 0
end
# end setup_pll
end
######### set up uart 0 ###########################
define setup_uart0
#set $mygpio_puapar = $myipsbar -1 + 0x10005C
#set $myuart0_umr = $myipsbar -1 + 0x200
#set $myuart0_ucsr = $myipsbar -1 + 0x204
#set $myuart0_ucr = $myipsbar -1 + 0x208
#set $myuart0_utb = $myipsbar -1 + 0x20c
#set $myuart0_urb = $myipsbar -1 + 0x20c
#set $myuart0_uimr = $myipsbar -1 + 0x214
#set $myuart0_ubg1 = $myipsbar -1 + 0x218
#set $myuart0_ubg2 = $myipsbar -1 + 0x21c
set *(unsigned char *)$mygpio_puapar=0x0f
#reset tx
set *(unsigned char *)$myuart0_ucr=0x30
#reset rx
set *(unsigned char *)$myuart0_ucr=0x20
#reset mr
set *(unsigned char *)$myuart0_ucr=0x10
# no parity 8 bits per char
set *(unsigned char *)$myuart0_umr=0x13
# no echo or loopback 1 stop
set *(unsigned char *)$myuart0_umr=0x07
# rx tx baud by timer
set *(unsigned char *)$myuart0_ucsr=0xdd
# mask all interrupts
set *(unsigned char *)$myuart0_uimr=0x0
set $uast_brg = (64000000/(19200 * 32))
# set up baud rates
set *(unsigned char *)$myuart0_ubg1=($uast_brg & 0xFF00) >> 8
set *(unsigned char *)$myuart0_ubg2=($uast_brg & 0x00FF)
# enable tx rx
set *(unsigned char *)$myuart0_ucr=0x5
#end uart0
end
define send_chars
# send chars
set *(unsigned char *)$myuart0_utb=0x41
set *(unsigned char *)$myuart0_utb=0x42
set *(unsigned char *)$myuart0_utb=0x43
set *(unsigned char *)$myuart0_utb=0x44
#end send_chars
end
define setup_cs
######### set up CS (just fsram and flash)###########################
#set $mycs0_csar = $myipsbar -1 + 0x80
#set $mycs0_csmr = $myipsbar -1 + 0x84
#set $mycs0_cscr = $myipsbar -1 + 0x8A
#set $mycs1_csar = $myipsbar -1 + 0x8C
#set $mycs1_csmr = $myipsbar -1 + 0x90
#set $mycs1_cscr = $myipsbar -1 + 0x96
#set $mycs2_csar = $myipsbar -1 + 0x98
#set $mycs2_csmr = $myipsbar -1 + 0x9C
#set $mycs2_cscr = $myipsbar -1 + 0xA2
#set $mycs3_csar = $myipsbar -1 + 0xA4
#set $mycs3_csmr = $myipsbar -1 + 0xA8
#set $mycs3_cscr = $myipsbar -1 + 0xAE
#set $mycs4_csar = $myipsbar -1 + 0xB0
#set $mycs4_csmr = $myipsbar -1 + 0xB4
#set $mycs4_cscr = $myipsbar -1 + 0xBA
#set $mycs5_csar = $myipsbar -1 + 0xBC
#set $mycs5_csmr = $myipsbar -1 + 0xC0
#set $mycs5_cscr = $myipsbar -1 + 0xC6
#set $mycs6_csar = $myipsbar -1 + 0xC8
#set $mycs6_csmr = $myipsbar -1 + 0xCC
#set $mycs6_cscr = $myipsbar -1 + 0xD2
# ide from 3200_0000 6 ws
set *(unsigned short *)$mycs2_csar=0x3200
set *(unsigned short *)$mycs2_cscr=0x1980
set *(unsigned long *) $mycs2_csmr=0x00070001
# 512K 32 bit fsram starting at 0x3000_0000 1 WS ??
set *(unsigned short *)$mycs1_csar=0x3000
set *(unsigned short *)$mycs1_cscr=0x0100
set *(unsigned long *) $mycs1_csmr=0x00070001
if 0
# flash
set *(unsigned short *)$mycs0_csar=0xFFE0
set *(unsigned short *)$mycs0_cscr=0x1980
set *(unsigned long *) $mycs0_csmr=0x001f0001
end
#end setup_cs
end
####################################################
define setup_sdram
######### set up SDRAM ###########################
#set $mysdramc_dcr = $myipsbar -1 + 0x40
#set $mysdramc_dacr0 = $myipsbar -1 + 0x48
#set $mysdramc_dmr0 = $myipsbar -1 + 0x4C
#set $mysdramc_dacr1 = $myipsbar -1 + 0x50
#set $mysdramc_dmr1 = $myipsbar -1 + 0x54
#
# some delay
#
set $foo = 0
# in c use 20000
while ($foo < 20000)
set $foo += 1
end
if 1
# if ( !($mysdramc_dacr0 & 0x00008000))
#
# init dram cr get it into the high short
set * $mysdramc_dcr = \
(0x0200 | (((15 * 64)>>4)& 0x01ff)) << 16
# init dacr0
#
set * $mysdramc_dacr0 = \
(0x00000000 & 0xfffc0000) | (((2)&0x03)<<12) |(((3)&0x07)<<8) | 0x0
#
# init dmr0
set * $mysdramc_dmr0 = \
0 | (0x00FC0000) | (0x00000001)
#
# set ip ( bit 3 ) in dacr
set * $mysdramc_dacr0 |= (0x00000008)
#
# init precharge
set *(0x00000000) = 0xA5A59696
#
# wait
while ($foo < 20000)
set $foo += 1
end
#
# set RE in dacr
set * $mysdramc_dacr0 |= \
(0x00008000)
#
# issue IMRS
set * $mysdramc_dacr0 |= \
(0x00000040)
#
# wait for 8 auto refresh
while ($foo < 20000)
set $foo += 1
end
#
# set mode
set *(0x00000000 + 0x400 ) = 0xA5A59696
# end if 1
end
#end setup_sdram
end
addresses
#setup_gpio
setup_iram
#setup_pll
#setup_uart0
#send_chars
setup_cs
#setup_sdram
#setup_can
bdm_setdelay 100
bdm_no_wait
#bdm-no-load
bdm_reset
continue
bdm_stop
#bdm_wait
#load
run
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?