]> rtime.felk.cvut.cz Git - rtems-devel.git/blob - rtems-build/m68k-m5235bcc/gdb/m5235.gdb
Minimal build support for M5235BCC board
[rtems-devel.git] / rtems-build / m68k-m5235bcc / gdb / m5235.gdb
1 target bdm /dev/bdmcf0
2
3 set remotecache off
4
5 set $IPSBAR = 0x40000000
6
7 set $DCR    = $IPSBAR + 0x000040
8 set $DACR0  = $IPSBAR + 0x000048
9 set $DMR0   = $IPSBAR + 0x00004C
10
11 set $CSAR0  = $IPSBAR + 0x000080
12 set $CSMR0  = $IPSBAR + 0x000084
13 set $CSCR0  = $IPSBAR + 0x00008A
14
15 set $PAR_SDRAM = $IPSBAR + 0x100046
16 set $PAR_AD    = $IPSBAR + 0x100040
17
18 set $WCR    = $IPSBAR + 0x140000
19
20 define delay
21   set $delay = 0
22   while ($delay < 20000)
23     set $delay += 1
24   end  
25 end
26
27 define delay_memsync
28   set $delay = 0
29   while ($delay < 1000)
30     set $delay += 1
31   end  
32 end
33
34 define setup-cs
35   # 2MB FLASH on CS0 at 0x80000000
36   set *(unsigned short *)$CSAR0 = 0x0000ffe0
37   set *(unsigned long  *)$CSMR0 = 0x001F0001
38   set *(unsigned short *)$CSCR0 = 0x00001980
39 end
40
41 define setup-sdram
42   # Set PAR_SDRAM to allow SDRAM signals to be enable
43   set *(unsigned char *)$PAR_SDRAM = 0x3F
44   # Set PAR_AD to allow 32-bit SDRAM if the external boot device is 16-bit
45   set *(unsigned char *)$PAR_AD = 0xE1
46
47   # SDRAM
48   set *(unsigned short *)$DCR   = 0x0446
49   set *(unsigned long *)$DACR0  = 0x00001300
50   set *(unsigned long *)$DMR0   = 0x00FC0001
51
52   # Set IP in DACR and init precharge.
53   set *(unsigned long *)$DACR0 |= 0x00000008
54   set *(0x00000000)             = 0xAA55AA55
55   delay
56
57   # Set RE in DACR
58   set *(unsigned long *)$DACR0 |= 0x00008000
59   # Issue IMRS
60   set *(unsigned long *)$DACR0 |= 0x00000040
61   set *(0x00000400)             = 0xAA55AA55
62   delay
63 end
64
65 define setup-other
66   # Turn Off WCR
67   set *(unsigned char *)$WCR = 0x00
68 end
69
70 define setup-board
71   bdm-reset
72
73   # Set VBR to the vector table.
74   #set $vbr = 0x00000000
75   # Set internal SRAM to start at 0x20000000
76   #set $rambar = 0x20000001
77
78   setup-other
79   setup-cs
80   setup-sdram
81 end
82
83 define debug-sramtest
84   set $srambase = 0x20000000
85   set $sramsize = 0x00010000
86   set $j = 0
87   printf "Testing SRAM : 0x%08X - 0x%08X\n", $srambase, ($srambase + $sramsize)
88   set $i = $srambase
89   while $i < ($srambase + $sramsize)
90     set *(unsigned long *)($i) = 0xAA55AA55
91     delay_memsync
92     if 0xAA55AA55 != *(unsigned long *)$i
93       printf "  0x%08X = FAIL\n", $i
94     else
95       printf "  0x%08X = OK", $i
96       if $j % 4 == 3
97         printf "\n"
98       end
99       set $j = $j + 1
100     end
101     set $i = $i + 0x400
102   end
103 end
104
105 define debug-ramtest
106   set $sdrambase = 0x00000000
107   set $sdramsize = 0x01000000
108   set $j = 0
109   printf "Testing SDRAM : 0x%08X - 0x%08X\n", $sdrambase, ($sdrambase + $sdramsize)
110   set $i = $sdrambase 
111   while $i < ($sdrambase + $sdramsize)
112     set *(unsigned long *)($i) = 0xAA55AA55
113     delay_memsync
114     if 0xAA55AA55 != *(unsigned long *)$i
115       printf "  0x%08X = FAIL\n", $i
116     else
117       printf "  0x%08X = OK", $i
118       if $j % 4 == 3
119         printf "\n"
120       end
121       set $j = $j + 1
122     end
123     set $i = $i + 0x10000
124   end
125   printf "\n"
126 end
127
128 define execute
129   set $pc = *(long *)0x00000004
130   tbreak main
131   tk gdbtk_update
132 end
133
134 define debug-printexception
135   printf "vector: %d", *(unsigned short *)$sp >> 2 &0x1F
136   printf "old pc: 0x%08x", *(unsigned long *)($sp + 4)
137   printf "old sr: 0x%02x", *(unsigned short *)($sp + 2)
138 end
139
140 define six
141   si
142   x /10i $pc
143 end
144
145 setup-board