基于SOC芯片的GNU調試器的擴展
發(fā)布時間:2020-04-15 12:51
【摘要】: 隨著我國嵌入式系統(tǒng)產業(yè)的不斷發(fā)展,針對特定DSP芯片的應用開發(fā)在軟件行業(yè)中越來越受到重視,F(xiàn)在嵌入式系統(tǒng)相關產業(yè)中,SOC(System on Chip)芯片扮演了一個非常重要的角色,SOC芯片以它的高性能,低成本,低功耗而著稱,現(xiàn)今SOC芯片已經廣泛應用于移動電話,數(shù)碼相機,數(shù)字電視等相關數(shù)碼產品中。大唐電信憑借著使用ZSP400核的SOC芯片COMIP取得了市場上的成功,現(xiàn)在大唐電信更以ZSP540核來加強其SOC芯片的DSP處理能力,使之能在3G無線領域有更廣泛的用途。 為了配合公司更加快速地推廣COMIP芯片,占有市場,我們需要盡快為新芯片配套可擴展的開發(fā)調試工具鏈。利用這套開發(fā)調試工具鏈,開發(fā)人員可以快速在新SOC芯片上開發(fā)相關的嵌入式應用。目前相關商業(yè)產品非常昂貴而且不利于擴展。因此,如何在新芯片的全新指令集上開發(fā)一套可擴展的,方便使用的嵌入式系統(tǒng)開發(fā)工具鏈,是我們需要解決的一個問題。 本論文正是針對上述問題,通過對GNU相關調試器代碼的深入剖析、優(yōu)化,并針對自主研發(fā)的SOC芯片進行調優(yōu),配合相關的工具鏈開發(fā)出一套功能強大,方便嵌入式系統(tǒng)使用的調試器。本文的重點就是如何把GDB工具鏈移植到我們新的SOC芯片上來,從而可以快速輔助公司進行新SOC芯片的推廣。本文以大唐電信最新研發(fā)的SOC芯片COMIP為例,主要針對GNU系列工具并不支持的ZSP400/ZSP540全新的指令集進行移植和擴展,將GDB相關工具鏈的移植的各個部分進行了詳細的論述。文中首先介紹了整個行業(yè)背景以及軟件需求,分析了調試器的相關概念以及軟件調試的一般原理,接著深入探討了擴展以及移植GDB所做的一些工作,在這一部分中先介紹了GDB的代碼架構,重點分析了移植相關的GDB的目標機架構的實現(xiàn)原理,其次討論了移植GNU重要的相關庫(BFD,OPCODES等)的步驟以及重點,并著重分析了利用這些相關庫如何實現(xiàn)GDB需要的一些處理器相關重要功能,然后實現(xiàn)了整個擴展移植過程中的難點—基于全新處理器的指令集的指令級模擬器。接著論文分析了將GDB代碼本身擴展到新ZSP處理器上的若干關鍵點,最終實現(xiàn)一個基于新芯片的可擴展的嵌入式系統(tǒng)調試器,最后對整個代碼擴展移植工作進行了相關的總結。
【圖文】:
第二章 GNU 調試器工作原理2.1相關基本概念2.1.1可執(zhí)行文件由于 GNU 的 BFD 庫支持不同的二進制格式,包括 ELF/COFF 等,本論文以 ELF文件為基礎進行論述,ELF,即 executable and linkable format,相關格式定義可以在文件/usr/include/elf.h 中找到。ELF 文件格式的構成需要從 linking view(鏈接視圖) 和 execution view (執(zhí)行視圖) 理解,分為多個 section (節(jié)) 以及多個 segment (段) 。如圖 2-1 所示:
7圖 2-2 readelf 分析出的信息如圖 2-2 所示,這個帶調試信息格式的二進制文件(ELF 文件)包括了多少個節(jié)(21 個),以及帶調試信息的節(jié)有多少個(7 個),,這里還可以直觀地看出每個節(jié)所在的地址,偏移以及大小等相關屬性。這里.debug_abbrev,.debug_info,.debug.line,debug_frame,debug_loc,debug_pubnames,.debug_arranges 就是調試信息用的 section,GDB 會使用其中相關 section 來完成相關調試信息的整理,比如源代碼以及二進制文件的對應關
【學位授予單位】:電子科技大學
【學位級別】:碩士
【學位授予年份】:2008
【分類號】:TP368.11
本文編號:2628572
【圖文】:
第二章 GNU 調試器工作原理2.1相關基本概念2.1.1可執(zhí)行文件由于 GNU 的 BFD 庫支持不同的二進制格式,包括 ELF/COFF 等,本論文以 ELF文件為基礎進行論述,ELF,即 executable and linkable format,相關格式定義可以在文件/usr/include/elf.h 中找到。ELF 文件格式的構成需要從 linking view(鏈接視圖) 和 execution view (執(zhí)行視圖) 理解,分為多個 section (節(jié)) 以及多個 segment (段) 。如圖 2-1 所示:
7圖 2-2 readelf 分析出的信息如圖 2-2 所示,這個帶調試信息格式的二進制文件(ELF 文件)包括了多少個節(jié)(21 個),以及帶調試信息的節(jié)有多少個(7 個),,這里還可以直觀地看出每個節(jié)所在的地址,偏移以及大小等相關屬性。這里.debug_abbrev,.debug_info,.debug.line,debug_frame,debug_loc,debug_pubnames,.debug_arranges 就是調試信息用的 section,GDB 會使用其中相關 section 來完成相關調試信息的整理,比如源代碼以及二進制文件的對應關
【學位授予單位】:電子科技大學
【學位級別】:碩士
【學位授予年份】:2008
【分類號】:TP368.11
【參考文獻】
相關期刊論文 前10條
1 高鵬,陳詠恩;AMBA總線及其應用[J];半導體技術;2002年09期
2 李乙成,周祖成,陳尚松;SoC片上總線技術的研究[J];半導體技術;2003年02期
3 張權偉;張敬安;張迎新;;在嵌入式系統(tǒng)開發(fā)中仿真軟件的特殊應用[J];北京工商大學學報(自然科學版);2007年04期
4 李明;兩種嵌入式軟件仿真環(huán)境的分析與比較[J];電子產品世界;2003年13期
5 李劍 ,趙鵬程 ,湯建彬;32位ARM嵌入式處理器的調試技術[J];電子技術應用;2003年03期
6 宋凱;嚴麗平;甘嵐;;ARM Linux在SkyEye上的移植[J];華東交通大學學報;2006年02期
7 鄭浩,徐國治;ARM Linux中斷處理實時性能分析[J];計算機工程與應用;2005年19期
8 鐘漢如,王創(chuàng)生;嵌入式Linux的中斷處理與實時調度的實現(xiàn)機制[J];計算機工程;2002年10期
9 屠征,謝康林;嵌入式實時操作系統(tǒng)中對時鐘中斷服務程序的改進[J];計算機工程;2003年06期
10 熊光澤,汪燕勤,羅蕾;32位微處理器嵌入式實時軟件開發(fā)與調試技術[J];計算機應用;1995年04期
本文編號:2628572
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2628572.html
最近更新
教材專著