Re: Help with building gdb with BDM support for the Coldfire
"Mark Giacobbe" <[email protected]> Wed, 21 May 2008 08:16:54 -0400
| Newsgroups | gmane.comp.hardware.motorola.microcontrollers.coldfire |
|---|---|
| Message-ID | <[email protected]> |
Well I got your tarball and it seemed to work, but I still couldn't get the memory stuff to work correctly. So going back and re-re-re-reading the README files, I realized that my gdb script was still of the old version, and I wasn't obvious to me that I had to change my script. I attached the new gdb script below for everyone's reference. # # gdb script for the MCF5307 # define addresses echo \nSetup internal registers\n set $mbar = 0x10000001 # Needed for the new bdm gdbserver monitor bdm-ctl-set 0xc0f 0x10000001 set $rsr = $mbar - 1 + 0x000 set $sypcr = $mbar - 1 + 0x001 set $swivr = $mbar - 1 + 0x002 set $swsr = $mbar - 1 + 0x003 set $simr = $mbar - 1 + 0x003 set $par = $mbar - 1 + 0x004 set $irqpar= $mbar - 1 + 0x006 set $pllcr = $mbar - 1 + 0x008 set $mpark = $mbar - 1 + 0x00c set $ipr = $mbar - 1 + 0x040 set $imr = $mbar - 1 + 0x044 set $icr0 = $mbar - 1 + 0x04c set $icr1 = $mbar - 1 + 0x04d set $icr2 = $mbar - 1 + 0x04e set $icr3 = $mbar - 1 + 0x04f set $icr4 = $mbar - 1 + 0x050 set $icr5 = $mbar - 1 + 0x051 set $icr6 = $mbar - 1 + 0x052 set $icr7 = $mbar - 1 + 0x053 set $icr8 = $mbar - 1 + 0x054 set $icr9 = $mbar - 1 + 0x055 set $icr10 = $mbar - 1 + 0x056 set $icr11 = $mbar - 1 + 0x057 set $csar0 = $mbar - 1 + 0x080 set $csmr0 = $mbar - 1 + 0x084 set $cscr0 = $mbar - 1 + 0x08a set $csar1 = $mbar - 1 + 0x08c set $csmr1 = $mbar - 1 + 0x090 set $cscr1 = $mbar - 1 + 0x096 set $csar2 = $mbar - 1 + 0x098 set $csmr2 = $mbar - 1 + 0x09c set $cscr2 = $mbar - 1 + 0x0a2 set $csar3 = $mbar - 1 + 0x0a4 set $csmr3 = $mbar - 1 + 0x0a8 set $cscr3 = $mbar - 1 + 0x0ae set $csar4 = $mbar - 1 + 0x0b0 set $csmr4 = $mbar - 1 + 0x0b4 set $cscr4 = $mbar - 1 + 0x0ba set $csar5 = $mbar - 1 + 0x0bc set $csmr5 = $mbar - 1 + 0x0c0 set $cscr5 = $mbar - 1 + 0x0c4 set $csar6 = $mbar - 1 + 0x0c6 set $csmr6 = $mbar - 1 + 0x0d0 set $cscr6 = $mbar - 1 + 0x0d2 set $csar7 = $mbar - 1 + 0x0d4 set $csmr7 = $mbar - 1 + 0x0d8 set $cscr7 = $mbar - 1 + 0x0de set $dcr = $mbar - 1 + 0x100 set $dacr0 = $mbar - 1 + 0x108 set $dmr0 = $mbar - 1 + 0x10c set $dacr1 = $mbar - 1 + 0x110 set $dmr1 = $mbar - 1 + 0x114 set $tmr1 = $mbar - 1 + 0x140 set $trr1 = $mbar - 1 + 0x144 set $tcr1 = $mbar - 1 + 0x148 set $tcn1 = $mbar - 1 + 0x14C set $ter1 = $mbar - 1 + 0x151 set $tmr2 = $mbar - 1 + 0x180 set $trr2 = $mbar - 1 + 0x184 set $tcr2 = $mbar - 1 + 0x188 set $tcn2 = $mbar - 1 + 0x18C set $ter2 = $mbar - 1 + 0x191 set $paddr = $mbar - 1 + 0x244 set $padat = $mbar - 1 + 0x248 end # # Setup RAMBAR for the internal SRAM. # define setup-sram echo \nSetup internal SRAM\n set $rambar = 0x20000001 # Needed for the new bdm gdbserver monitor bdm-ctl-set 0xc04 0x20000001 end # # Setup Parallel I/O ports... # define setup-pp echo \nSetup GPIO\n set *((unsigned short *) $par) = 0x0100 set *((unsigned short *) $paddr) = 0xb0ec set *((unsigned short *) $padat) = 0x76fd end # # Setup chip selects... # define setup-cs echo \nSetup Chip Selects\n # CS1 set *((unsigned short *) $csar1) = 0xA080 set *((unsigned long *) $csmr1) = 0x00010047 set *((unsigned short *) $cscr1) = 0x1540 # CS2 set *((unsigned short *) $csar2) = 0xA004 set *((unsigned long *) $csmr2) = 0x00000047 set *((unsigned short *) $cscr2) = 0x2940 # CS3 set *((unsigned short *) $csar3) = 0x0070 set *((unsigned long *) $csmr3) = 0x00070047 set *((unsigned short *) $cscr3) = 0x0970 # CS4 set *((unsigned short *) $csar4) = 0xA090 set *((unsigned long *) $csmr4) = 0x00010047 set *((unsigned short *) $cscr4) = 0x1DA0 # CS5 set *((unsigned short *) $csar5) = 0xA000 set *((unsigned long *) $csmr5) = 0x00010047 set *((unsigned short *) $cscr5) = 0x0D80 # CS6 set *((unsigned short *) $csar6) = 0xA070 set *((unsigned long *) $csmr6) = 0x00010047 set *((unsigned short *) $cscr6) = 0x0940 # CS7 set *((unsigned short *) $csar7) = 0xA0C0 set *((unsigned long *) $csmr7) = 0x00030047 set *((unsigned short *) $cscr7) = 0x0980 # CS0 set *((unsigned short *) $csar0) = 0x0000 set *((unsigned long *) $csmr0) = 0x001f0047 set *((unsigned short *) $cscr0) = 0x0500 end # # Set up SDRAM # define setup-sdram echo \nSetup SDRAM\n # Power up sequence set *((unsigned short *) $dcr) = 0x8002 set *((unsigned long *) $dacr0) = 0xB0001404 set *((unsigned long *) $dmr0) = 0x01FC0001 # Pre-charge sequence set *((unsigned long *) $dacr0) = 0xB000140C set *((unsigned long *) 0xB0000000) = 0xBEADDEED # Refresh Sequence echo \n SDRAM refresh\n # Mode register init sequence set *((unsigned long *) $dacr0) = 0xB0009444 set *((unsigned long *) 0xB0000400) = 0xB0009444 set *((unsigned long *) $dacr0) = 0xB0009404 end # # Some useful tools # define set8 set *((unsigned char*) $arg0) = $arg1 end document set8 Set 8bit memory: set8 ADDRESS VALUE end define set16 set *((unsigned short*) $arg0) = $arg1 end document set16 Set 16bit memory: set16 ADDRESS VALUE end define set32 set *((unsigned long*) $arg0) = $arg1 end document set32 Set 32bit memory: set32 ADDRESS VALUE end define d8 x /$arg1b $arg0 end document d8 Dump 8bit memory: d8 ADDRESS LENGTH end define d16 x /$arg1h $arg0 end document d16 Dump 16bit memory: d16 ADDRESS LENGTH end define d32 x /$arg1w $arg0 end document d32 Dump 32bit memory: d32 ADDRESS LENGTH end # # Init the target... # target remote | m68k-bdm-gdbserver pipe /dev/bdmcf0 echo\nResetting uP\n monitor bdm-reset addresses setup-sram setup-cs setup-pp setup-sdram set print pretty set print asm-demangle display/i $pc select-frame 0 So is there any other "gotcha" that I have to look out for in my script? I will continue testing, but things are looking a lot better then they were. I am also documenting all of this. When I am finished, I will post it here, and if you want to Chris, you can include it in the distro for the bdm. Chris - feel free to include the above script in the distro for the bdm. Thanks for all of your help! Mark On Tue, May 20, 2008 at 2:40 AM, Chris Johns <[email protected]> wrote: > X-SpamDetect-Info: ------------- Start ASpam results --------------- > X-SpamDetect-Info: This message may be spam. This message BODY has been > altered to show you the spam information X-SpamDetect: *****: 5.664000 URL > contains username and (optional) password=1.3, From3consonants=0.3, URL > contains username=2.9, Uses non-standard port number for HTTP=1.3, > X-Verify-SMTP present=0.6, Aspam=-0.8 > X-SpamDetect-Info: ------------- End ASpam results ----------------- > > Mark Giacobbe wrote: > >> Hi Chris - >> >> Did you find anything that I missed? >> >> > I do not think so. I have not test the 5307 code. > > And is there a trick to using cvs for sourceforge? I tried several >> times, and keep getting: >> >> [pcmadm@localhost ~]$ cvs -d:pserver:[email protected]:/cvsroot/bdm >> login >> Logging in to :pserver:[email protected]:2401/cvsroot/bdm< >> http://pserver:[email protected]:2401/cvsroot/bdm> >> CVS password: >> cvs [login aborted]: connect to [bdm.cvs.sourceforge.net < >> http://bdm.cvs.sourceforge.net>]:2401 failed: Connection timed out >> [pcmadm@localhost ~]$ >> >> I hit "ENTER" for the password. >> >> > Do you have a firewall blocking this port ? > > I have uploaded a tarball of my CVS work area here: > > http://www.rtems.org/ftp/pub/rtems/people/chrisj/bdm/ > > Can you try this code and let me know how it goes ? > > > Regards > Chris > --- > [email protected] Send a post to the list. > [email protected] Join the list. > [email protected] Join the list in digest mode. > [email protected] Leave the list. > >