Back to home page

LXR

 
 

    


Warning, /bsps/m68k/mcf5206elite/start/gdbinit is written in an unsupported language. File is not indexed.

0001 #
0002 # GDB Init script for the Coldfire 5206e processor.
0003 #
0004 # The main purpose of this script is to perform minimum initialization of
0005 # processor so code can be loaded. Also, exception handling is performed.
0006 # 
0007 
0008 # Copyright (C) OKTET Ltd., St.-Petersburg, Russia
0009 # Author: Victor V. Vengerov <vvv@oktet.ru>
0010 #
0011 # This script partially based on gdb scripts written by 
0012 # Eric Norum, <eric@norum.ca>
0013 #
0014 # The license and distribution terms for this file may be
0015 # found in the file LICENSE in this distribution or at
0016 # http://www.rtems.org/license/LICENSE.
0017 #
0018 
0019 define addresses
0020 
0021 set $mbar  = 0x10000001
0022 set $simr  = $mbar - 1 + 0x003
0023 set $icr1  = $mbar - 1 + 0x014
0024 set $icr2  = $mbar - 1 + 0x015
0025 set $icr3  = $mbar - 1 + 0x016
0026 set $icr4  = $mbar - 1 + 0x017
0027 set $icr5  = $mbar - 1 + 0x018
0028 set $icr6  = $mbar - 1 + 0x019
0029 set $icr7  = $mbar - 1 + 0x01A
0030 set $icr8  = $mbar - 1 + 0x01B
0031 set $icr9  = $mbar - 1 + 0x01C
0032 set $icr10 = $mbar - 1 + 0x01D
0033 set $icr11 = $mbar - 1 + 0x01E
0034 set $icr12 = $mbar - 1 + 0x01F
0035 set $icr13 = $mbar - 1 + 0x020
0036 set $imr   = $mbar - 1 + 0x036
0037 set $ipr   = $mbar - 1 + 0x03A
0038 set $rsr   = $mbar - 1 + 0x040
0039 set $sypcr = $mbar - 1 + 0x041
0040 set $swivr = $mbar - 1 + 0x042
0041 set $swsr  = $mbar - 1 + 0x043
0042 set $dcrr  = $mbar - 1 + 0x046
0043 set $dctr  = $mbar - 1 + 0x04A
0044 set $dcar0 = $mbar - 1 + 0x04C
0045 set $dcmr0 = $mbar - 1 + 0x050
0046 set $dccr0 = $mbar - 1 + 0x057
0047 set $dcar1 = $mbar - 1 + 0x058
0048 set $dcmr1 = $mbar - 1 + 0x05C
0049 set $dccr1 = $mbar - 1 + 0x063
0050 set $csar0 = $mbar - 1 + 0x064
0051 set $csmr0 = $mbar - 1 + 0x068
0052 set $cscr0 = $mbar - 1 + 0x06E
0053 set $csar1 = $mbar - 1 + 0x070
0054 set $csmr1 = $mbar - 1 + 0x074
0055 set $cscr1 = $mbar - 1 + 0x07A
0056 set $csar2 = $mbar - 1 + 0x07C
0057 set $csmr2 = $mbar - 1 + 0x080
0058 set $cscr2 = $mbar - 1 + 0x086
0059 set $csar3 = $mbar - 1 + 0x088
0060 set $csmr3 = $mbar - 1 + 0x08C
0061 set $cscr3 = $mbar - 1 + 0x092
0062 set $csar4 = $mbar - 1 + 0x094
0063 set $csmr4 = $mbar - 1 + 0x098
0064 set $cscr4 = $mbar - 1 + 0x09E
0065 set $csar5 = $mbar - 1 + 0x0A0
0066 set $csmr5 = $mbar - 1 + 0x0A4
0067 set $cscr5 = $mbar - 1 + 0x0AA
0068 set $csar6 = $mbar - 1 + 0x0AC
0069 set $csmr6 = $mbar - 1 + 0x0B0
0070 set $cscr6 = $mbar - 1 + 0x0B6
0071 set $csar7 = $mbar - 1 + 0x0B8
0072 set $csmr7 = $mbar - 1 + 0x0BC
0073 set $cscr7 = $mbar - 1 + 0x0C2
0074 set $dmcr  = $mbar - 1 + 0x0C6
0075 set $par   = $mbar - 1 + 0x0CA
0076 set $tmr1  = $mbar - 1 + 0x100
0077 set $trr1  = $mbar - 1 + 0x104
0078 set $tcr1  = $mbar - 1 + 0x108
0079 set $tcn1  = $mbar - 1 + 0x10C
0080 set $ter1  = $mbar - 1 + 0x111
0081 set $tmr2  = $mbar - 1 + 0x120
0082 set $trr2  = $mbar - 1 + 0x124
0083 set $tcr2  = $mbar - 1 + 0x128
0084 set $tcn2  = $mbar - 1 + 0x12C
0085 set $ter2  = $mbar - 1 + 0x131
0086 
0087 end
0088 
0089 #
0090 #  Setup CSAR0 for the FLASH ROM.
0091 #
0092 
0093 define setup-cs
0094 
0095 set *((short*) $csar0) = 0xffe0
0096 set *((int*)   $csmr0) = 0x000f0000
0097 set *((short*) $cscr0) = 0x1da3
0098 set *((short*) $csar1) = 0x5000
0099 set *((int*)   $csmr1) = 0x00000000
0100 set *((short*) $cscr1) = 0x3d43
0101 set *((short*) $csar2) = 0x3000
0102 set *((int*)   $csmr2) = 0x000f0000
0103 set *((short*) $cscr2) = 0x1903
0104 set *((short*) $csar3) = 0x4000
0105 set *((int*)   $csmr3) = 0x000f0000
0106 set *((short*) $cscr3) = 0x0083
0107 
0108 end
0109 
0110 #
0111 # Setup the DRAM controller.
0112 #
0113 
0114 define setup-dram
0115 
0116 set *((short*) $dcrr)  = 24
0117 set *((short*) $dctr)  = 0x0000
0118 set *((short*) $dcar0) = 0x0000
0119 set *((long*)  $dcmr0) = 0x000e0000
0120 set *((char*)  $dccr0) = 0x07
0121 set *((short*) $dcar1) = 0x0000
0122 set *((long*)  $dcmr1) = 0x00000000
0123 set *((char*)  $dccr1) = 0x00
0124 
0125 end
0126 
0127 
0128 #
0129 # Wake up the board
0130 #
0131 
0132 define initboard
0133 
0134 addresses
0135 setup-cs
0136 # setup-dram
0137 
0138 end
0139 
0140 define ss
0141 si
0142 x/i $pc
0143 end
0144 
0145 #
0146 # Display exception information
0147 #
0148 define exception-info
0149 set $excpc = *(unsigned int *)($sp+4)
0150 set $excfmt = (*(unsigned int *)$sp >> 28) & 0x0f
0151 set $excfs = ((*(unsigned int *)$sp >> 24) & 0x0c) | \
0152              ((*(unsigned int *)$sp >> 16) & 0x03)
0153 set $excvec = (*(unsigned int *)$sp >> 18) & 0xff
0154 set $excsr = *(unsigned int *)$sp & 0xffff
0155 
0156 printf "EXCEPTION -- SR:0x%X  PC:0x%X  FRAME:0x%X VECTOR:%d\n", \
0157         $excsr, $excpc, $sp, $excvec
0158 if $excvec == 2
0159     printf "Access error exception"
0160 end
0161 if $excvec == 3
0162     printf "Address error exception"
0163 end
0164 if $excvec == 4
0165     printf "Illegal instruction exception"
0166 end
0167 if $excvec == 8
0168     printf "Privelege violation exception"
0169 end
0170 if $excvec == 9
0171     printf "Trace exception"
0172 end
0173 if $excvec == 10
0174     printf "Unimplemented LINE-A opcode exception"
0175 end
0176 if $excvec == 11
0177     printf "Unimplemented LINE-F opcode exception"
0178 end
0179 if $excvec == 12
0180     printf "Debug interrupt"
0181 end
0182 if $excvec == 14
0183     printf "Format error exception"
0184 end
0185 if $excfs == 0x04
0186     printf " on instruction fetch"
0187 end
0188 if $excfs == 0x08
0189     printf " on operand write"
0190 end
0191 if $excfs == 0x09
0192     printf " on write to write-protected space"
0193 end
0194 if $excfs == 0x0c
0195     printf " on operand read"
0196 end
0197 printf "\n"
0198 x/4i $excpc
0199 set $pc=$excpc
0200 set $sp=$sp+8
0201 end
0202 
0203 target bdm /dev/bdmcf0
0204 initboard
0205 load
0206 set $pc=start
0207 set $sp=0x20001ffc
0208 b bsp_cleanup
0209 b _stop
0210 b _unexp_exception
0211 commands
0212 silent
0213 exception-info
0214 end
0215 b _unexp_int
0216 b _reserved_int
0217 b _spurious_int