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 + -
显示快捷键?