<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Gdb/Armulator 源代碼分析

    時間:2024-05-09 00:10:45 理工畢業論文 我要投稿
    • 相關推薦

    Gdb/Armulator 源代碼分析

    作者Email: Anti_chen2000@sohu.com

    摘要

    Gdb/Armulator 是Gdb自帶的arm7模擬器,是調試arm程序的一個好工具.而了解它的原碼結構對擴展它的IO功能有重要意義.本文介紹了從Armulator的啟動到其內部運作和IO擴展的大部分原代碼功能.

    說明

    源代碼用的是gdb-5.0.tar gdb-5.0-uclinux-armulator-20021127.patch

    A.和GDB間的通迅

    Armulator一般和Gdb通訊有兩種方式,其一是在Gdb內部直接調用模擬器的相關函數,另一方法則是用pipe或socket傳遞RDP協議來連接Gdb和Amulator.而第一種方法是現在Gdb/Armulator所真正使用的(第二種是早期使用的方法),下面就分析了函數直接調用法.

    函數直接調用

    這個方法是由Steve (sac@cygnus.com) 修改原RDP方法而來的,Steve本人的描述如下:
    /******************************************************
    This directory contains the standard release of the ARMulator from
    Advanced RISC Machines, and was ftp'd from.

    ftp.cl.cam.ac.uk:/arm/gnu

    It likes to use TCP/IP between the simulator and the host, which is
    nice, but is a pain to use under anything non-unix.

    I've added created a new Makefile.in (the original in Makefile.orig)
    to build a version of the simulator without the TCP/IP stuff, and a
    wrapper.c to link directly into gdb and the run command.

    It should be possible (barring major changes in the layout of
    the armulator) to upgrade the simulator by copying all the files
    out of a release into this directory and renaming the Makefile.

    (Except that I changed armos.c to work more simply with our
    simulator rigs)
    ********************************************************/
    /gdb/target.c,/gdb/remote_sim.c以及在/sim/arm/wrapper.c是在Armulator和Gdb的通信中起著至關重要做用的幾個文件.所有的Gdb調試命令最后都是通過在target.h里定義的target_ops結構中的函數指針調用在/sim/arm/wrapper.c中型如sim_xxx的函數完成的.以前這些sim_xxx函數是位于/sim/common中的,是建立RDP通訊的關鍵,代碼修改后此目錄中的文件不再有用,被wrapper.c取而代之了.

    以下是RDP 通訊和直接函數調用的圖示:

    要清楚Armulator的執行過程就要從它的啟動說起,當你在Gdb中鍵入target sim 去激活Amulator后Gdb首先進行命令行解釋,并將current_target指針指向sim變量,即將Armulator的調試函數集賦予Gdb,隨后的函數調用堆棧如下:

    --àgdbsim_open (…) in remote-sim.c.
    --àsim_open(…) in /sim/arm/wrapper.c/*這里Amulator對調用參數進行分析處理*/
    --à*current_target-

    【Gdb/Armulator 源代碼分析】相關文章:

    免費vc++網上尋呼QICQ源代碼(附帶論文)(一)11-22

    delphi源代碼+可執行文件+考試系統(一)03-07

    delphi+access網絡考試系統[開題報告+論文+源代碼+答辯ppt+03-07

    分析哲學與哲學分析03-07

    分析魏晉文人的生命的價值分析03-18

    “案例分析”應重在分析-關于搞好“案例分析”的若干想法12-03

    分析魏晉文人的生命的價值分析論文11-16

    論聚類分析在市場分析中的應用03-19

    談聚類分析在市場分析中的應用03-18

    主站蜘蛛池模板: 午夜精品一区二区三区免费视频| 91麻豆精品视频| 成人久久精品一区二区三区| 国产欧美日韩精品专区| 高清在线亚洲精品国产二区| 亚洲一区二区三区在线观看精品中文 | 人妻少妇精品中文字幕AV| 国产精品你懂的在线播放| 国产成人精品福利网站在线| 久久国产精品成人影院| 亚洲高清专区日韩精品| 亚洲中文字幕无码久久精品1| 无翼乌无遮挡全彩老师挤奶爱爱帝国综合社区精品 | 日韩精品真人荷官无码| 久久久久久国产精品无码下载| 91热成人精品国产免费| 精品一区二区三区免费| 999久久久免费精品国产| 精品无码国产一区二区三区51安 | 国产成人精品综合在线观看| 久久精品国产亚洲沈樵| 国产精品成人va在线观看| 精品永久久福利一区二区| 四虎国产精品永久在线| 野狼第一精品社区| 亚洲Av永久无码精品三区在线| 中文字幕一区二区三区日韩精品| 日韩视频中文字幕精品偷拍| 欧美日韩精品久久久免费观看| 精品无码国产自产拍在线观看蜜| 国产精品午夜一级毛片密呀 | 国产国产精品人在线视| 国产精品国产三级国产专播| 99久久这里只有精品| 国产精品久久影院| 国产精品分类视频分类一区| 精品久久香蕉国产线看观看亚洲 | 免费看污污的网站欧美国产精品不卡在线观看 | 无码精品人妻一区二区三区漫画 | 久久亚洲精精品中文字幕| 国产午夜精品免费一区二区三区|