色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

標簽 > OR1200

OR1200

+關注 0人關注

or1200主要是GNU開發工具鏈的安裝,有了GNU工具鏈提供的工具,我們可以在Linux環境下將匯編、C代碼編譯成OR1200平臺的可執行代碼,這就是交叉編譯的過程。

文章: 0
瀏覽: 182445
帖子: 0

OR1200簡介

  OR1200主要是GNU開發工具鏈的安裝,有了GNU工具鏈提供的工具,我們可以在Linux環境下將匯編、C代碼編譯成OR1200平臺的可執行代碼,這就是交叉編譯的過程。有了OR1200的可執行代碼,就能夠在OR1200模擬器OR1KSim中運行該可執行代碼,觀察其是否如預期那樣執行。

  在介紹GNU開發工具鏈之前簡單說明交叉編譯的概念,在嵌入式開發中,開發平臺與運行平臺往往是不同的,這是因為運行平臺上一般都資源有限,不能夠安裝編譯開發環境,因此需要在其他性能更好的平臺上安裝編譯環境,比如我們常在x86的平臺上開發OR1200、ARM的應用程序,但是x86與OR1200、ARM是不同的處理器體系結構,也就是處理器的指令集不同,那么就需要x86上的編譯器編譯得到能夠在OR1200、ARM架構下執行的目標代碼,這就是交叉編譯。圖2.1顯示x86平臺與OR1200平臺上“寄存器相與”指令對應不同的二進制編碼。

OR1200百科

  or1200開發環境的安裝

  主要是GNU開發工具鏈的安裝,有了GNU工具鏈提供的工具,我們可以在Linux環境下將匯編、C代碼編譯成OR1200平臺的可執行代碼,這就是交叉編譯的過程。有了OR1200的可執行代碼,就能夠在OR1200模擬器OR1KSim中運行該可執行代碼,觀察其是否如預期那樣執行。

  在介紹GNU開發工具鏈之前簡單說明交叉編譯的概念,在嵌入式開發中,開發平臺與運行平臺往往是不同的,這是因為運行平臺上一般都資源有限,不能夠安裝編譯開發環境,因此需要在其他性能更好的平臺上安裝編譯環境,比如我們常在x86的平臺上開發OR1200、ARM的應用程序,但是x86與OR1200、ARM是不同的處理器體系結構,也就是處理器的指令集不同,那么就需要x86上的編譯器編譯得到能夠在OR1200、ARM架構下執行的目標代碼,這就是交叉編譯。圖2.1顯示x86平臺與OR1200平臺上“寄存器相與”指令對應不同的二進制編碼。

  

  圖2.1 x86平臺與OR1200處理器“寄存器相與”指令的二進制編碼是不一樣的

  因此我們在x86上開發程序的時候就需要針對不同的目標平臺使用不同的編譯工具,從而得到可以在目標平臺上執行的二進制代碼。在這方面GNU工具鏈是一個很好的選擇。GNU工具鏈 (GNU Toolchain) 是一組用于開發應用程序和操作系統的編程工具的集合,這些工具構成了一個完整的系統,最重要的是其支持多種目標平臺,其中就包括本書要介紹的OR1200。

  GNU工具鏈包括GCC、Glibc、GDB、GNU Binutils。

  1、GCC

  GCC(GNU Compiler Collection)主要的工具包括cpp、g++、gcc、gcov、gprof等。其中cpp是C預處理器,主要用于在編譯C、C++或Objective-C源代碼之前對它們進行預處理,由編譯器自動調用。g++和gcc可以認為分別是C++和C編譯器。

  2、Glibc

  Glibc(GNU libc)是GNU的C標準庫,Glibc是移植GNU工具鏈時一個不可或缺的部分。Glibc主要由兩部分組成,一部分是頭文件,另一部分是庫的二進制文件,包括動態和靜態兩個版本。有了Glibc就可以使用C語言開發程序。

  3、GDB

  GDB(GNU symbolic debugger)是一個功能很強大的調試工具,可以讓用戶調試一個程序,包括讓程序在希望的地方停下,此時,用戶可以查看變量,寄存器,內存及堆棧,而且可以修改變量及內存值。

  4、GNU Binutils

  GNU Binutils(Binary Utilities) 是一組二進制工具集,用來編譯、測試和分析軟件。其中主要的兩個工具是as和ld。as是GNU匯編器,通常也稱為GAS(GNU Assembler),ld是GNU鏈接器,as對GCC的輸出文件進行匯編產生目標文件,然后由ld鏈接目標文件、重定位數據,從而產生可執行文件。此外,GNUBinutils還包括其它一些工具,如下:

  (1)addr2line:用于將程序中的地址對應到文件名和相應的行號。給定一個地址和一個可執行文件,addr2line使用可執行文件中的調試信息來確定該地址所對應的文件和行號。

  (2)ar:用于建立、修改和提取檔案文件 (archives)。檔案文件經常被用作庫文件,保存程序常用的函數過程。

  (3)c++filt:C++和Java中都有重載函數的特性,編譯器要區分重載函數,就需要對函數標識符進行編碼轉換成一個匯編級別的標簽 (label),這個過程稱為名字改編 (name mangling) 或名字修飾 (name decoration)。而c++filt所執行的就是這個過程的逆過程。

  (4)dlltool:用于創建Windows動態鏈接庫。

  (5)ld:是鏈接器,編譯程序最后是調用ld,把目標文件和歸檔文件鏈接在一起,重定位數據并鏈接符號引用。

  (6)gold:是一種比ld更快,但只針對ELF文件格式的鏈接器。

  (7)nm:用于列出二進制文件 (包括庫文件和可執行文件) 中的符號,這些符號可以是函數、全局變量、靜態變量等等。

  (8)objcopy:用于將一種格式的目標文件復制成另外一種格式。

  (9)objdump:用于列出關于二進制文件的各種信息。

  (10)ranlib:用于為檔案文件生成索引信息,這樣可以提高檔案文件的訪問速度。

  (11)readelf:類似于objdump,但是它只能處理ELF格式的文件,并且沒有使用GNU BFD庫。

  (12)size:用于列出目標文件或者檔案文件各段的大小。

  (13)strings:用于列出目標文件中的可打印字符串。

  (14)strip:用于移除目標文件中的符號,以減少程序文件的大小,這對于嵌入式系統比較有用。

  GNU工具鏈可謂博大精深,功能全面,諸位讀者不要驚慌,本書不是一本介紹GNU工具鏈的書,只是使用到了其中一點工具(實際只有as、ld,因為測試代碼都是用匯編寫的),所以不懂GNU工具鏈沒有關系,筆者會在使用到其中工具的時候做一個簡單介紹,這就足夠了。

  針對目標平臺OR1200的GNU工具鏈,有三種安裝方法:

  方法一:下載源文件,在Linux環境下自行編譯

  方法二:下載編譯好的針對OR1200處理器的GNU工具鏈,可在Linux環境下安裝使用

  方法三:下載一個Ubuntu的虛擬機文件,里面安裝好了針對OR1200處理器的GNU工具鏈

  方法一筆者試過,容易出問題,而且比較耗時,當然對GNU工具鏈有著強烈興趣的朋友可以嘗試。方法二筆者沒用過。方法三簡單直接,速度快,不易出錯,而且基本都是Windows下的操作,適合新手,所以建議使用方法三,本書也只介紹方法三。

  在瀏覽器中輸入地址:ftp://openrisc.opencores.org/virtualbox-image/,FTP的用戶名和密碼都是openrisc,登錄后會出現如圖2.2所示界面。

  

  圖2.2 Ubuntu虛擬機鏡像下載

  下載最新的那個文件就可以了,筆者使用的是2011-12-15版。下載完成后解壓該文件,大約4GB左右。此時還需要下載VisualBox以打開該文件。VisualBox是一款開源的虛擬機軟件,本書使用的是4.1.22版。下載完成后安裝VisualBox,安裝完成后打開VisualBox,界面如圖2.3所示。

  

  圖2.3 VisualBox主界面

  點擊“新建”出現“新建虛擬機”向導,點擊“下一步”,出現如下界面:

  

  圖2.4 新建虛擬機設置一

  此處操作系統選擇Linux,版本選擇Ubuntu,點擊下一步,設置內存大小,如圖2.5所示。

  

  圖2.5 新建虛擬機設置二

  內存大小依據個人情況設置,本人設置的是512M,已經夠用了,畢竟我們需要編譯的程序都是十分簡單的,點擊下一步,選擇“使用現有的虛擬硬盤”,然后選擇解壓后的虛擬機文件。

  

  圖2.6 新建虛擬機設置三

  點擊“下一步”,VisualBox會將用戶剛才的設置都列出來,確認無誤后,點擊“創建”,這樣虛擬機就創建好了。啟動虛擬機,顯示如圖2.7所示。

  

  圖2.7 Ubuntu虛擬機桌面

  雙擊左邊的“終端”圖標,就可以打開終端,在終端中輸入or32-elf-,然后按兩次Tab鍵,會列出虛擬機中已安裝的針對OR1200平臺的所有編譯工具,如圖2.8所示。

  

  圖2.8 Ubuntu中已安裝的編譯工具

  可見之前介紹過的GNU工具鏈中的GCC、as、ld、gdb等都包括在內。這樣GNU工具鏈就安裝完成了。Ubuntu虛擬機提供的功能遠不止GNU工具鏈,還包括OR1K模擬器、用于硬件調試的OR_DEBUG_PROXY、OpenRISC平臺參考SoC設計ORPSoCv2,其中在本書的研究過程中需要使用到OR1K模擬器——OR1KSim,2.2.5節會介紹其使用方法。

  最后,因為宿主機是Windows平臺,而且在后面仿真時使用的ModelSim也是Windows平臺的,為了方便文件的傳遞,這里需要設置虛擬機與宿主機的文件共享。打開VisualBox中虛擬機的設置界面,選擇“共享文件夾”,如圖2.9所示。

  

  圖2.9 虛擬機與宿主機共享文件夾設置步驟一

  點擊界面右邊的添加文件夾按鈕,出現如圖2.10所示界面:

  

  圖2.10 虛擬機與宿主機共享文件夾設置步驟二

  在其中選擇共享文件夾的路徑,設置名稱,參考如上設置,然后啟動虛擬機,打開終端,輸入命令:

  [plain] view plain copysudo mount –t vboxsf UbuntuShareFolder /mnt/sharefolder

  該命令的作用是將共享文件夾掛載在/mnt/sharefolder目錄下,sudo表示以Root用戶身份執行該命令,終端會提示輸入密碼,Ubuntu虛擬機默認Root用戶的密碼是openrisc。這樣就實現了虛擬機與宿主機的文件共享,對虛擬機而言共享文件放在/mnt/sharefolder路徑下,對宿主機而言共享文件放在圖2.10所示的E盤UbuntuShareFolder文件夾下。

查看詳情

相關標簽

相關話題

換一批
  • IOT
    IOT
    +關注
    IoT是Internet of Things的縮寫,字面翻譯是“物體組成的因特網”,準確的翻譯應該為“物聯網”。物聯網(Internet of Things)又稱傳感網,簡要講就是互聯網從人向物的延伸。
  • 海思
    海思
    +關注
  • STM32F103C8T6
    STM32F103C8T6
    +關注
    STM32F103C8T6是一款集成電路,芯體尺寸為32位,程序存儲器容量是64KB,需要電壓2V~3.6V,工作溫度為-40°C ~ 85°C。
  • 數字隔離
    數字隔離
    +關注
    數字隔離技術常用于工業網絡環境的現場總線、軍用電子系統和航空航天電子設備中,尤其是一些應用環境比較惡劣的場合。數字隔離電路主要用于數字信號和開關量信號的傳輸。另一個重要原因是保護器件(或人)免受高電壓的危害。本文詳細介紹了數字隔離器工作原理及特點,選型及應用,各類數字隔離器件性能比較等內容。
  • 硬件工程師
    硬件工程師
    +關注
    硬件工程師Hardware Engineer職位 要求熟悉計算機市場行情;制定計算機組裝計劃;能夠選購組裝需要的硬件設備,并能合理配置、安裝計算機和外圍設備;安裝和配置計算機軟件系統;保養硬件和外圍設備;清晰描述出現的計算機軟硬件故障。
  • wifi模塊
    wifi模塊
    +關注
    Wi-Fi模塊又名串口Wi-Fi模塊,屬于物聯網傳輸層,功能是將串口或TTL電平轉為符合Wi-Fi無線網絡通信標準的嵌入式模塊,內置無線網絡協議IEEE802.11b.g.n協議棧以及TCP/IP協議棧。傳統的硬件設備嵌入Wi-Fi模塊可以直接利用Wi-Fi聯入互聯網,是實現無線智能家居、M2M等物聯網應用的重要組成部分。
  • 74ls74
    74ls74
    +關注
    74LS74是雙D觸發器。功能多,可作雙穩態、寄存器、移位寄存器、振蕩器、單穩態、分頻計數器等功能。本章詳細介紹了74ls112的功能及原理,74ls74引腳圖及功能表,74ls112的應用等內容。
  • MPU6050
    MPU6050
    +關注
    MPU-6000(6050)為全球首例整合性6軸運動處理組件,相較于多組件方案,免除了組合陀螺儀與加速器時間軸之差的問題,減少了大量的封裝空間。
  • Protues
    Protues
    +關注
    Proteus軟件是英國Lab Center Electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風標電子技術有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。
  • UHD
    UHD
    +關注
    UHD是”超高清“的意思UHD的應用在電視機技術上最為普遍,目前已有不少廠商推出了UHD超高清電視。
  • STC12C5A60S2
    STC12C5A60S2
    +關注
    在眾多的51系列單片機中,要算國內STC 公司的1T增強系列更具有競爭力,因他不但和8051指令、管腳完全兼容,而且其片內的具有大容量程序存儲器且是FLASH工藝的,如STC12C5A60S2單片機內部就自帶高達60K FLASHROM,這種工藝的存儲器用戶可以用電的方式瞬間擦除、改寫。
  • 循跡小車
    循跡小車
    +關注
    做單片機的工程師相比都堆循跡小車有所認識,它是自動引導機器人系統的基本應用,那么今天小編就給大家介紹下自動自動循跡小車的原理,智能循跡小車的應用,智能循跡小車程序,循跡小車用途等知識吧!
  • 光立方
    光立方
    +關注
    光立方是由四千多棵光藝高科技“發光樹”組成的,在2009年10月1日天安門廣場舉行的國慶聯歡晚會上面世。這是新中國成立六十周年國慶晚會最具創意的三大法寶之首。
  • K60
    K60
    +關注
  • LM2596
    LM2596
    +關注
    LM2596是降壓型電源管理單片集成電路的開關電壓調節器,能夠輸出3A的驅動電流,同時具有很好的線性和負載調節特性。固定輸出版本有3.3V、5V、12V,可調版本可以輸出小于37V的各種電壓。
  • 光模塊
    光模塊
    +關注
    光模塊(optical module)由光電子器件、功能電路和光接口等組成,光電子器件包括發射和接收兩部分。簡單的說,光模塊的作用就是光電轉換,發送端把電信號轉換成光信號,通過光纖傳送后,接收端再把光信號轉換成電信號。
  • STM32單片機
    STM32單片機
    +關注
    STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M3內核
  • 步進驅動器
    步進驅動器
    +關注
    步進驅動器是一種將電脈沖轉化為角位移的執行機構。當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(稱為“步距角”),它的旋轉是以固定的角度一步一步運行的。可以通過控制脈沖個數來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速和定位的目的。
  • Nexperia
    Nexperia
    +關注
    Nexperia是大批量生產基本半導體的領先專家,這些半導體是世界上每個電子設計都需要的組件。該公司廣泛的產品組合包括二極管、雙極晶體管、ESD 保護器件、MOSFET、GaN FET 以及模擬和邏輯IC。
  • CD4046
    CD4046
    +關注
    cD4046是通用的CMOS鎖相環集成電路,其特點是電源電壓范圍寬(為3V-18V),輸入阻抗高(約100MΩ),動態功耗小,在中心頻率f0為10kHz下功耗僅為600μW,屬微功耗器件。本章主要介紹內容有,CD4046的功能 cd4046鎖相環電路,CD4046無線發射,cd4046運用,cd4046鎖相環電路圖。
  • COMSOL
    COMSOL
    +關注
    COMSOL集團是全球多物理場建模解決方案的提倡者與領導者。憑借創新的團隊、協作的文化、前沿的技術、出色的產品,這家高科技工程軟件公司正飛速發展,并有望成為行業領袖。其旗艦產品COMSOL Multiphysics 使工程師和科學家們可以通過模擬,賦予設計理念以生命。
  • 加速度傳感器
    加速度傳感器
    +關注
    加速度傳感器是一種能夠測量加速度的傳感器。通常由質量塊、阻尼器、彈性元件、敏感元件和適調電路等部分組成。
  • 聯網技術
    聯網技術
    +關注
  • 服務機器人
    服務機器人
    +關注
    服務機器人是機器人家族中的一個年輕成員,到目前為止尚沒有一個嚴格的定義。不同國家對服務機器人的認識不同。
  • 四軸飛行器
    四軸飛行器
    +關注
    四軸飛行器,又稱四旋翼飛行器、四旋翼直升機,簡稱四軸、四旋翼。這四軸飛行器(Quadrotor)是一種多旋翼飛行器。四軸飛行器的四個螺旋槳都是電機直連的簡單機構,十字形的布局允許飛行器通過改變電機轉速獲得旋轉機身的力,從而調整自身姿態。具體的技術細節在“基本運動原理”中講述。
  • 基站測試
    基站測試
    +關注
    802.11ac與11基站測試(base station tests) 在基站設備安裝完畢后,對基站設備電氣性能所進行的測量。n的區別,802.11n無線網卡驅動,802.11n怎么安裝。
  • TMS320F28335
    TMS320F28335
    +關注
    TMS320F28335是一款TI高性能TMS320C28x系列32位浮點DSP處理器
  • 靜電防護
    靜電防護
    +關注
    為防止靜電積累所引起的人身電擊、火災和爆炸、電子器件失效和損壞,以及對生產的不良影響而采取的防范措施。其防范原則主要是抑制靜電的產生,加速靜電泄漏,進行靜電中和等。
  • SDK
    SDK
    +關注
      SDK一般指軟件開發工具包,軟件開發工具包一般都是一些軟件工程師為特定的軟件包、軟件框架、硬件平臺、操作系統等建立應用軟件時的開發工具的集合。軟件開發工具廣義上指輔助開發某一類軟件的相關文檔、范例和工具的集合。
  • OBD
    OBD
    +關注
    OBD是英文On-Board Diagnostic的縮寫,中文翻譯為“車載診斷系統”。這個系統隨時監控發動機的運行狀況和尾氣后處理系統的工作狀態,一旦發現有可能引起排放超標的情況,會馬上發出警示。

關注此標簽的用戶(0人)

編輯推薦廠商產品技術軟件/工具OS/語言教程專題

主站蜘蛛池模板: 俄罗斯美幼| 一区二区三区高清视频| 伊人狠狠丁香婷婷综合尤物| 哒哒哒影院在线观看免费高清| 久久久久免费视频| 亚洲国产AV一区二区三区四区 | 国产电影一区二区三区| 欧美性极品黑人hd| 91蜜桃视频| 久久精品亚洲牛牛影视| 亚洲国产精品特色大片观看| 国产成人一区二区三区在线观看| 欧美派对xxxhdparty| 538prom国产在线视频一区| 久草在线新是免费视频| 亚洲精品免费观看| 国产三级在线免费| 卫生间被教官做好爽HH视频| 成人女人A级毛片免费软件| 欧美精品色婷婷五月综合| 91av成年影院在线播放| 老板揉搓秘书丰满大乳| 又硬又粗又大一区二区三区视频| 吉吉影音先锋av资源网| 亚洲成人99| 国产日韩成人内射视频| 无限资源日本2019版免费| 高中生被C到爽哭视频免费| 日本色呦呦| 阿娇和冠希13分钟在线观看| 欧美高清vivoesosexo10| 99热最新在线| 暖暖在线观看播放视频 | 国产精品成人免费视频99| 人人超碰97caoporen国产| rio 快播| 欧美男女爱爱| seba51久久精品| 青青青草国产| 岛国精品在线观看| 少妇无套内谢久久久久|