gdbinit
来自「RTEMS (Real-Time Executive for Multiproc」· 代码 · 共 221 行
TXT
221 行
## GDB Init script for the Coldfire 5206e processor.## The main purpose of this script is to perform minimum initialization of# processor so code can be loaded. Also, exception handling is performed.# # Copyright (C) OKTET Ltd., St.-Petersburg, Russia# Author: Victor V. Vengerov <vvv@oktet.ru>## This script partially based on gdb scripts written by # Eric Norum, <eric@skatter.usask.ca>### The license and distribution terms for this file may be# found in the file LICENSE in this distribution or at## http://www.rtems.com/license/LICENSE.## $Id: gdbinit,v 1.1.4.1 2003/09/04 18:44:30 joel Exp $#define addressesset $mbar = 0x10000001set $simr = $mbar - 1 + 0x003set $icr1 = $mbar - 1 + 0x014set $icr2 = $mbar - 1 + 0x015set $icr3 = $mbar - 1 + 0x016set $icr4 = $mbar - 1 + 0x017set $icr5 = $mbar - 1 + 0x018set $icr6 = $mbar - 1 + 0x019set $icr7 = $mbar - 1 + 0x01Aset $icr8 = $mbar - 1 + 0x01Bset $icr9 = $mbar - 1 + 0x01Cset $icr10 = $mbar - 1 + 0x01Dset $icr11 = $mbar - 1 + 0x01Eset $icr12 = $mbar - 1 + 0x01Fset $icr13 = $mbar - 1 + 0x020set $imr = $mbar - 1 + 0x036set $ipr = $mbar - 1 + 0x03Aset $rsr = $mbar - 1 + 0x040set $sypcr = $mbar - 1 + 0x041set $swivr = $mbar - 1 + 0x042set $swsr = $mbar - 1 + 0x043set $dcrr = $mbar - 1 + 0x046set $dctr = $mbar - 1 + 0x04Aset $dcar0 = $mbar - 1 + 0x04Cset $dcmr0 = $mbar - 1 + 0x050set $dccr0 = $mbar - 1 + 0x057set $dcar1 = $mbar - 1 + 0x058set $dcmr1 = $mbar - 1 + 0x05Cset $dccr1 = $mbar - 1 + 0x063set $csar0 = $mbar - 1 + 0x064set $csmr0 = $mbar - 1 + 0x068set $cscr0 = $mbar - 1 + 0x06Eset $csar1 = $mbar - 1 + 0x070set $csmr1 = $mbar - 1 + 0x074set $cscr1 = $mbar - 1 + 0x07Aset $csar2 = $mbar - 1 + 0x07Cset $csmr2 = $mbar - 1 + 0x080set $cscr2 = $mbar - 1 + 0x086set $csar3 = $mbar - 1 + 0x088set $csmr3 = $mbar - 1 + 0x08Cset $cscr3 = $mbar - 1 + 0x092set $csar4 = $mbar - 1 + 0x094set $csmr4 = $mbar - 1 + 0x098set $cscr4 = $mbar - 1 + 0x09Eset $csar5 = $mbar - 1 + 0x0A0set $csmr5 = $mbar - 1 + 0x0A4set $cscr5 = $mbar - 1 + 0x0AAset $csar6 = $mbar - 1 + 0x0ACset $csmr6 = $mbar - 1 + 0x0B0set $cscr6 = $mbar - 1 + 0x0B6set $csar7 = $mbar - 1 + 0x0B8set $csmr7 = $mbar - 1 + 0x0BCset $cscr7 = $mbar - 1 + 0x0C2set $dmcr = $mbar - 1 + 0x0C6set $par = $mbar - 1 + 0x0CAset $tmr1 = $mbar - 1 + 0x100set $trr1 = $mbar - 1 + 0x104set $tcr1 = $mbar - 1 + 0x108set $tcn1 = $mbar - 1 + 0x10Cset $ter1 = $mbar - 1 + 0x111set $tmr2 = $mbar - 1 + 0x120set $trr2 = $mbar - 1 + 0x124set $tcr2 = $mbar - 1 + 0x128set $tcn2 = $mbar - 1 + 0x12Cset $ter2 = $mbar - 1 + 0x131end## Setup CSAR0 for the FLASH ROM.#define setup-csset *((short*) $csar0) = 0xffe0set *((int*) $csmr0) = 0x000f0000set *((short*) $cscr0) = 0x1da3set *((short*) $csar1) = 0x5000set *((int*) $csmr1) = 0x00000000set *((short*) $cscr1) = 0x3d43set *((short*) $csar2) = 0x3000set *((int*) $csmr2) = 0x000f0000set *((short*) $cscr2) = 0x1903set *((short*) $csar3) = 0x4000set *((int*) $csmr3) = 0x000f0000set *((short*) $cscr3) = 0x0083end## Setup the DRAM controller.#define setup-dramset *((short*) $dcrr) = 24set *((short*) $dctr) = 0x0000set *((short*) $dcar0) = 0x0000set *((long*) $dcmr0) = 0x000e0000set *((char*) $dccr0) = 0x07set *((short*) $dcar1) = 0x0000set *((long*) $dcmr1) = 0x00000000set *((char*) $dccr1) = 0x00end## Wake up the board#define initboardaddressessetup-cs# setup-dramenddefine sssix/i $pcend## Display exception information#define exception-infoset $excpc = *(unsigned int *)($sp+4)set $excfmt = (*(unsigned int *)$sp >> 28) & 0x0fset $excfs = ((*(unsigned int *)$sp >> 24) & 0x0c) | \ ((*(unsigned int *)$sp >> 16) & 0x03)set $excvec = (*(unsigned int *)$sp >> 18) & 0xffset $excsr = *(unsigned int *)$sp & 0xffffprintf "EXCEPTION -- SR:0x%X PC:0x%X FRAME:0x%X VECTOR:%d\n", \ $excsr, $excpc, $sp, $excvecif $excvec == 2 printf "Access error exception"endif $excvec == 3 printf "Address error exception"endif $excvec == 4 printf "Illegal instruction exception"endif $excvec == 8 printf "Privelege violation exception"endif $excvec == 9 printf "Trace exception"endif $excvec == 10 printf "Unimplemented LINE-A opcode exception"endif $excvec == 11 printf "Unimplemented LINE-F opcode exception"endif $excvec == 12 printf "Debug interrupt"endif $excvec == 14 printf "Format error exception"endif $excfs == 0x04 printf " on instruction fetch"endif $excfs == 0x08 printf " on operand write"endif $excfs == 0x09 printf " on write to write-protected space"endif $excfs == 0x0c printf " on operand read"endprintf "\n"x/4i $excpcset $pc=$excpcset $sp=$sp+8endtarget bdm /dev/bdmcf0initboardloadset $pc=startset $sp=0x20001ffcb bsp_cleanupb _stopb _unexp_exceptioncommandssilentexception-infoendb _unexp_intb _reserved_intb _spurious_int
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?