| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- echo Setting up the environment for debugging gdb.\n
- set complaints 1
- set output-radix 16
- set input-radix 16
- set endian big
- dir .
- set prompt (netsilicon-gdb)
- # Set target for ROM at addr 0
- set rdiromatzero 1
- ######################
- ## attach-to-target ##
- ######################
- define attach-to-target
- #
- # This targets a "Raven" debugger via "netsiliconLibRemote"
- # at the named address.
- #
- target remote localhost:2331
- monitor speed 30
- #
- # Notify netsiliconLibRemote that it should be big endian
- #
- monitor endian big
- #
- # Initialize the debugger
- #
- monitor reset
- monitor halt
- end
- ###############
- ## addresses ##
- ###############
- define addresses
- set $portd_data = 0xffa00040
- set $portd_out = 0xffa00044
- set $scr = 0xffb00000
- set $pllcr = 0xffb00008
- set $porta = 0xffb00020
- set $portb = 0xffb00024
- set $portc = 0xffb00028
- set $ier = 0xffb00030
- set $mmcr = 0xffc00000
- set $csar0 = 0xffc00010
- set $csor0 = 0xffc00014
- set $csorb0 = 0xffc00018
- set $csar1 = 0xffc00020
- set $csor1 = 0xffc00024
- set $csorb1 = 0xffc00028
- set $csar2 = 0xffc00030
- set $csor2 = 0xffc00034
- set $csorb2 = 0xffc00038
- set $csar3 = 0xffc00040
- set $csor3 = 0xffc00044
- set $csorb3 = 0xffc00048
- set $csar4 = 0xffc00050
- set $csor4 = 0xffc00054
- set $csorb4 = 0xffc00058
- end
- ##############
- ## setup-cs ##
- ##############
- define setup-cs
- monitor long 0xffb00000 = 0x4004a000
- monitor long 0xffc00000 = 0x0dc00000
- monitor long 0xffb00030 = 0x00000000
- monitor long 0xffc00014 = 0xf3000574
- monitor long 0xffc00018 = 0x00000005
- monitor long 0xffc00010 = 0x02000000
- monitor long 0xffc00024 = 0xf3000170
- monitor long 0xffc00028 = 0x00000001
- monitor long 0xffc00020 = 0x0000022d
- #
- # Initialize CS4 to enable mapping for external serial device
- #
- monitor long 0xffc00054 = 0xfff00574
- monitor long 0xffc00058 = 0x00000005
- monitor long 0xffc00050 = 0x10000001
- #
- # Initialize PORTA as all GPIO inputs, and PORTC
- # so that any pin which must not have a "sensible"
- # value prior to OS initialization is a GPIO input.
- #
- # This gives the EOS the best chance of initializing
- # the pins to the appropriate values at the beginning
- # of time.
- #
- # For SP, the one software controlled LED is
- # set to output, and is lit (the power LED).
- #
- monitor long 0xffb00020 = 0x00000000
- monitor long 0xffb00028 = 0x00400000
- # Disable CS2-4
- monitor long 0xffc00034 = 0
- monitor long 0xffc00038 = 0
- monitor long 0xffc00030 = 0
- monitor long 0xffc00044 = 0
- monitor long 0xffc00048 = 0
- monitor long 0xffc00040 = 0
- monitor long 0x0 = 0
- # Set the processor mode
- monitor reg cpsr = 0xd3
- end
- ##################
- ## enable-flash ##
- ##################
- define enable-flash
- monitor long 0xffc00010 = 0x02000001
- end
- ###################
- ## disable-flash ##
- ###################
- define disable-flash
- monitor long 0xffc00010 = 0x02000000
- end
- #################
- ## reset-sdram ##
- #################
- define reset-sdram
- monitor long $csar1 = 0
- monitor long $csor1 = 0xF3000170
- monitor long $csar1 = 0x22d
- end
- ########
- ## sb ##
- ########
- #
- # Useful breakpoints to catch "catastrophic" failure
- #
- define sb
- # Breakpoints on the exception vectors
- b *0x0
- b *0x4
- b *0x8
- b *0xc
- b *0x10
- b *0x14
- # b*0x1c
- # b*0x20
- # Breakpoints on error handling functions
- b netosBreakpoint
- b netosFatalError
- b NARamSetupAbortHandler
- b crash
- b customizeErrorHandler
- b customizeExceptionHandler
- end
- ###############
- ###############
- addresses
- attach-to-target
- setup-cs
- # Setup GDB for faster downloads
- set remote memory-write-packet-size 1024
- set remote memory-write-packet-size fixed
- monitor speed auto
- # Load the executable and symbols (all in image.elf)
- load image.elf
|