《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種開源微處理器OR1200的嵌入式SoC設計
一種開源微處理器OR1200的嵌入式SoC設計
焦漢明,陳新華,沈國新,方翰華
摘要: 介紹了一種基于32位開放源代碼的OpenRISC1200處理器嵌入式SoC的設計方案。系統以OR1200為核心,開發基于Wishone總線的IP核,并集成到OR1200系統中,構成了系統的硬件平臺。軟件部分構建了基于OR1200系統的交叉編譯環境,開發了系統的啟動程序Bootloader,移植了μC/OS-II操作系統。
Abstract:
Key words :

  摘 要: 介紹了一種基于32位開放源代碼的OpenRISC1200處理器嵌入式SoC的設計方案。系統以OR1200為核心,開發基于Wishone總線的IP核,并集成到OR1200系統中,構成了系統的硬件平臺。軟件部分構建了基于OR1200系統的交叉編譯環境,開發了系統的啟動程序Bootloader,移植了μC/OS-II操作系統。
    關鍵詞: OR1200微處理器;嵌入式系統;Bootloader;μC/OS-II

  高性能的處理器核是SoC設計中最為關鍵和核心的部分。絕大多數SoC的處理器都采用了R ISC體系結構。RISC 處理器具有指令效率高、電路面積小和功率消耗低等特點, 滿足了SoC高性能、低成本和低功耗的設計要求。目前在SoC設計中廣泛使用的32位RISC處理器(如ARM公司的ARM處理器、IBM的Power PC處理器、MIPS公司的MIPS處理器等)均屬于商業內核, 使用者必須支付相對昂貴的授權費。

  近年來開放源代碼運動迅速發展,開放性源碼的概念已經從軟件領域(如Linux,GCC等)擴展到了硬件領域,出現了專門發布免費的IP核源代碼的組織——OpenCores。OR1200以其完全開放的源代碼和編譯器吸引了設計者。其結構簡單、通用性和可移植性強,具備完整的開發平臺,非常適合嵌入式SoC設計[1]。關于OR1200的研究也受到學術界和工業界越來越多的關注。
1 32位開放源代碼處理器核OpenRISC1200
  OpenRISC1000系列處理器是開放IP核源代碼組織OpenCores公布的32/64位處理器軟核。OpenRISC1200采用了自主設計的OpenRISC1000體系結構和自定義的ORBIS32 指令集。它是一種32位、標量、哈佛結構、5 級整數流水線的RISC,支持Cache、MMU和基本的DSP 功能。OR1200具有較好的可配置性, 使用者可以根據自己的需要定制自定義的指令,確定是否使用MMU,配置Cache 的大小(1 KB~64 KB之間)。OR1200同時還提供了1個用于降低功耗的電源管理單元和1個支持片內調試的調試單元[2]。
  OR1200有完善的軟件開發環境和操作系統的支持。使用者可以通過包括GCC、Binutils和GDB等在內的GNU tool chains進行基于OR1200內核的編譯和調試。同時,OR1200擁有專門的仿真器Or1ksim,可以進行指令集一級的仿真,并支持Linux,μClinux,μC/OS-Ⅱ等任何一種現代操作系統。
    OR1200典型應用情況[3]:使用0.18 ?滋m和6層金屬工藝時,主頻運行達到300 MHz,可以提供300Dhrystone、2.1MIPS和300 Hz的32 bit×32 bit的DSP乘加操作的能力。OR1200默認配置有100萬個晶體管。
2 系統的總體方案
  本文構建以OR1200微處理器為核心,包含軟硬件平臺的嵌入式SoC系統。硬件系統以開源32位RISC核+Wishbone總線為主干,進行增量迭代開發,將仿真驗證過的模塊逐個加入到OR1200嵌入式系統中,然后在FPGA上進行驗證。軟件部分進行交叉編譯環境的建立、操作系統的移植、應用程序開發并利用驅動程序、函數庫,經交叉編譯工具最后生成可執行程序下載到內存中。最后在Altera的DE2-70開發板上驗證系統能否穩定運行。系統開發流程如圖1所示:

 


  主函數中3個任務函數非常簡單,優先級從高到底分別為1、2、3,系統提供的函數OSTimeDly()分別為10、20、30,OsTimeDly()是將1個任務掛起,延時若干個時鐘節拍,CPU可以去執行其它任務。
  圖4給出的是通過串口工具輸出μC/OS-II多任務調度的信息,3個任務根據優先級和延遲時間正確執行并打印出執行信息,測試證明OR1200嵌入式SoC系統能夠穩定的運行μC/OS-II。

3 硬件平臺的構建
  OR1200Q嵌入式SoC系統組件包括:OR1200、Wishbone互聯模塊、Memory Controller、Flash、SDRAM、UART、GPIO、DM9000A接口模塊以及DM9000A控制器。圖2所示系統的硬件架構。

  系統外接50 MHz的時鐘,經過PLL分頻,系統工作在25 MHz頻率。由于OR1200的可配置性,配置了硬件乘法功能,選擇8 KB的IC(指令緩存)、8 KB的DC(數據緩存),選擇NO_DMMU,NO_IMMU,即未加內存管理單元。起始地址設為0x100,對系統做了硬件映射,復位時,0x04000000地址映射到0x0地址,所以系統可以從Flash啟動。Memory Control為統一的存儲控制器模塊,控制著SDRAM和Flash 2種存儲器。本系統針對AlteraDE2-70開發板硬件配置選擇64 MB的SDRAM和8 MB的Flash。Flash用于存儲壓縮的內存映像文件及啟動程序Bootloder。Bootloder把壓縮的內存映像文件從Flash復制到SDRAM中,并跳到起始位置解壓執行可執行文件、啟動操作系統。UART是嵌入式中重要的I/O設備,本系統選擇由OpenCores組織維護的UART16550 IP核,它與國家工業標準兼容并且可配置。UART通信協議的要求是:波特率9600 b/s、8個數據位、1個停止位、無奇偶校驗位。GPIO在系統中主要用于控制LED顯示狀態。DM9000A支持8 bit和16 bit數據接口以適用于不同的微處理器,但是沒有合適的開源IP模塊來連接DM9000A和Wishbone。因此需要開發1個IP接口模塊能將Wishbone從設備信號轉換為DM9000A控制信號。這個接口模塊有2個接口:1個連接在Wishbone從設備上;1個連接DM9000A控制器。DM9000A本身是little-endian,OR1200是big-endian,所以數據線接法應該做交叉接法。
  Wishbone互聯模塊有很多種,比如Wishbone Conbuse、Wishbone Traffic Cop、Wishbone Interconnect Matrix。鑒于本系統外設不多,選擇Wishbone Traffic Cop,它有8個主設備、9個從設備。系統2個主設備即指令總線主設備、數據總線主設備,主設備通過Wishbone 的總線譯碼器和仲裁器與從設備進行數據通信,總線仲裁器選擇控制總線的主設備,保證每個周期最多只有1個主設備獲得總線控制權。系統有4個從設備,分別是UART、Flash、SDRAM和DM9000A。每個從設備都由32 bit地址線的最高8 bit來編址,總線譯碼器對主設備發出的地址的最高3 bit進行譯碼來決定訪問哪個從設備。
4 系統的軟件開發
  軟件開發過程包括交叉編譯環境的搭建,Bootloader的設計、μC/OS-II的移植和應用程序開發等。
4.1 GNU交叉編譯環境的構建
  OR1200系統使用的是OR32工具鏈,它由GCC, GNU Binutils和GDB組成,另外還提供了OR32模擬仿真工具。gcc-3.4.4用于程序的編譯;Binutils-2.16.1提供了鏈接等各種工具;gdb-5.3用于程序的調試。OR32模擬仿真工具or1ksim工具可以模擬OR1200處理器的行為,讓程序脫離處理器在模擬工具上運行,從而實現OR1200與程序并行開發。OR32可從opencores網站上下載。
4.2 啟動代碼Bootloder的設計
4.2.1 移植分析

  對于計算機系統來說,從開機到操作系統啟動需要一個引導過程,嵌入式系統同樣離不開引導程序,這個引導程序就是Bootloader。通過這段小程序,可以初始化硬件設備、建立內存空間的映射表,從而建立適當的系統軟硬件環境,為最終調用操作系統內核做好準備。
  結合前面構建的OR1200嵌入式SoC系統,具體的移植過程中需要修改或編寫以下代碼:
  spr_defs.h OR1200相關寄存器的設置;
  board.h系統驗證所用的DE2-70開發板的定義,啟動參數等;
  flash_boot.S,修改初始化代碼和入口;
  flash.ld,代碼在flash中的地址空間安排;
  mc.h存儲控制器的初始化;
  uart.h UART的初始化;
  copier.c下載的程序從Flash拷貝到SDRAM執行的拷貝代碼;
  在Makefile中添加Bootloder的編譯支持。
4.2.2 啟動分析
  0x100處是復位入口地址,但是Flash的初始地址為0x04000000,通過設置寄存器對系統做了硬件映射。復位時,0x04000000地址映射到0x0地址,所以可從Flash啟動。系統加電后,CPU從該地址開始執行。該地址也就是系統異常處理向量表第1項(復位)。跳到了init_mc 中,此時完成了系統的大部分初始化,例如設置寄存器、CPU、SDRAM、Flash。然后把Flash中的拷貝代碼(copier)拷貝到SDRAM,跳到SDRAM中的Copier處,copier負責把Flash中的用戶程序(userprog.bin)拷貝到SDRAM中去,并跳到0x100處,解壓執行用戶程序,啟動操作系統。此時的內存映射為:SDRAM為0x00000000~0x04000000, Flash還是0x04000000~0x08000000。Bootloader的啟動如圖3所示。


4.3 實時操作系統μC/OS-II的移植
  μC/OS-II是一個代碼公開、內核精簡、實時性強、支持多任務的操作系統,非常適合嵌入式系統開發。μC/OS-II 是由與處理器相關的代碼,與處理器無關的代碼及與應用程序相關的代碼組成。它在設計之初就已經充分考慮了可移植性,所以μC/OS-II在不同處理器上的移植是比較容易的,主要是編寫與處理器相關的代碼,即OS_CPU_A_ASM、OS_CPU.H、OS_CPU_C.C。因此對于μC/OS-II的移植可以參考文獻[4]中第13章,明確OR1200微處理器的數據聲明類型、OR1200微處理器支持的堆棧增長方向、臨界區處理方式。
5 系統運行測試
  系統通過驗證操作系統移植的正確性來測試所構建的OR1200嵌入式SoC系統能否正常運行,編寫main.c實現3個任務以及任務切換。函數的主要功能包括完成μC/OS-II操作系統的初始化、硬件資源的初始化、創建相關任務和啟動μC/OS-II操作系統這幾部分。main.c的主函數部分如下:
 

 

    本文介紹了一種基于OR1200微處理器的嵌入式SoC系統的軟硬件設計。系統經測試運行穩定。系統的硬件核心選用了開源的32位微處理器核OR1200,并定位于嵌入式系統,性能良好,也可適應其他的開放源碼IP,對于掌握具有自主知識產權和自主創新的處理器具有重大的意義,本系統已應用于青島市重大科技攻關項目“基于OR1200嵌入式SoC網關集成電路的設計及AVS實現”。
參考文獻
[1] 劉軍,郭立,鄭東飛,等.開放性32位RISC處理器IP核的比較與分析[J].電子器件,2005,28(4):50-52. [2] 孫愷,王田苗,魏洪興,等.嵌入式CPU軟核綜述[J].計算機工程,2006,32(7):8-9.
[3] 徐敏,孫愷,潘峰.開源軟核處理器OpenRisc的SOPC設計[M].北京:北京航空航天大學出版社,2008.
[4] LABROSSEZ J J.嵌入式實時操作系統uCOS-II[M].邵貝貝,譯.第2版.北京:北京航空航天大學出版社,2003.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美精品观看| 欧美亚州一区二区三区| 久久久久久久成人| 日韩视频免费在线| 国产精品视频区| 欧美日韩一本到| 国产综合色在线视频区| 欧美日韩亚洲高清一区二区| 欧美制服丝袜| 99视频在线精品国自产拍免费观看| 国产精品免费福利| 国产欧美日韩一区二区三区在线| 亚洲毛片一区| 亚洲片在线资源| 久久精品欧美| 国产在线不卡精品| 欧美在线视频免费播放| 亚洲综合国产| 亚洲午夜精品国产| 国产精品嫩草久久久久| 国产精品日韩电影| 亚洲欧美日韩成人| 亚洲人成艺术| 国产在线观看一区| 国产日韩欧美精品一区| 欧美日韩另类国产亚洲欧美一级| 亚洲视频网在线直播| 狠狠色香婷婷久久亚洲精品| 日韩系列在线| 欧美日韩人人澡狠狠躁视频| 欧美日韩高清在线观看| 亚洲国产精品尤物yw在线观看| 久久青青草原一区二区| 亚洲国产成人av好男人在线观看| 国产乱码精品一区二区三| 日韩一级黄色大片| 久久综合久久综合久久综合| 欧美精品一区在线发布| 亚洲国产成人精品视频| 免费成人av在线| 欧美国产激情二区三区| 日韩视频免费| 欧美中文字幕| 亚洲你懂的在线视频| 亚洲黄色天堂| 狠狠色狠狠色综合| 在线观看日韩av电影| 国产一区二区丝袜高跟鞋图片| 欧美日韩在线播放一区二区| 亚洲区欧美区| 亚洲少妇自拍| 亚洲国产精品99久久久久久久久| 国产精品久久精品日日| 国产精品超碰97尤物18| 国产精品va在线播放我和闺蜜| 午夜精品99久久免费| 亚洲三级国产| 亚洲人成毛片在线播放| 久久国产毛片| 欧美激情1区2区3区| 中日韩美女免费视频网站在线观看| 国产精品毛片在线| 亚洲一区欧美| 欧美日韩一区免费| 国产精品亚洲综合色区韩国| 欧美日韩1080p| 欧美喷水视频| 久久精品av麻豆的观看方式| 亚洲永久免费视频| 日韩亚洲欧美中文三级| 欧美日韩高清不卡| 美女图片一区二区| 欧美日韩成人在线播放| 欧美日本不卡视频| 免费日韩视频| 一区二区三区精品久久久| 国产在线视频欧美一区二区三区| 国内精品国产成人| 国产亚洲欧美日韩美女| 国产精品久久亚洲7777| 亚洲男人影院| 欧美午夜在线视频| 国产欧美日韩另类视频免费观看| 中日韩在线视频| 久久免费视频观看| 欧美精品电影在线| 国产欧美一二三区| 国产精品国产亚洲精品看不卡15| 尤妮丝一区二区裸体视频| 久久久999| 国产欧美日本| 亚洲高清免费视频| 国产精品视频一二| 亚洲激情电影在线| 宅男精品导航| 性欧美暴力猛交另类hd| 老司机午夜精品| 亚洲视频精品在线| 国产在线拍揄自揄视频不卡99| 伊人久久大香线| 嫩草成人www欧美| 亚洲日产国产精品| 免费在线欧美视频| 欧美中文字幕在线播放| 亚洲精品视频在线| 国产精品yjizz| 狠久久av成人天堂| 亚洲国产mv| 亚洲视频在线一区观看| 欧美顶级艳妇交换群宴| 欧美性猛交一区二区三区精品| 欧美日韩午夜精品| 亚洲精品久久视频| 久久麻豆一区二区| 久久久精品午夜少妇| 国产综合18久久久久久| 亚洲电影一级黄| 国产精品日韩电影| 中国亚洲黄色| 亚洲网站视频福利| 国产精品久久久91| 亚洲高清在线视频| 欧美久久久久久蜜桃| 亚洲精品五月天| 亚洲每日更新| 亚洲欧美日本国产有色| 亚洲精品一区二区三区av| 午夜精品久久久久久久久| 亚洲美女网站| 亚洲综合精品| 国产日韩在线不卡| 亚洲日本成人网| 国产精品久久久一区二区三区| aa级大片欧美| 欧美色视频在线| 亚洲香蕉成视频在线观看| 亚洲精品影视在线观看| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲综合国产激情另类一区| 亚洲一区二区三区777| 亚洲精品久久久久久一区二区| 午夜精品偷拍| 欧美日韩国产三区| 一本色道久久综合亚洲二区三区| 国产精品你懂的在线欣赏| 亚洲第一区色| 午夜精品免费视频| 亚洲视频在线观看三级| 欧美日韩亚洲一区二| 亚洲免费黄色| 欧美视频久久| 亚洲永久免费视频| 久久久不卡网国产精品一区| 欧美性猛交一区二区三区精品| 午夜精品久久久久久久| 米奇777超碰欧美日韩亚洲| 欧美一区不卡| 日韩亚洲一区在线播放| 久久夜色精品国产噜噜av| 91久久久久久国产精品| 亚洲福利一区| 免费成人网www| 欧美在线观看天堂一区二区三区| 欧美黑人国产人伦爽爽爽| 欧美影院在线| 黄色成人在线网址| 欧美激情性爽国产精品17p| 国产欧美欧美| 亚洲午夜一区| 欧美日韩爆操| 欧美激情 亚洲a∨综合| 午夜在线精品| 亚洲电影激情视频网站| 最新日韩av| 欧美伦理91i| 亚洲欧美www| 久久动漫亚洲| 国语自产精品视频在线看| 免费成人高清| 性欧美暴力猛交69hd| 国产在线国偷精品产拍免费yy| 99精品久久| 美女主播一区| 欧美成人午夜影院| 久久久久久国产精品一区| 免费在线观看一区二区| 午夜免费在线观看精品视频| 亚洲免费伊人电影在线观看av| 欧美日韩国产三级| 久久久久女教师免费一区| 欧美一区三区二区在线观看| 夜夜嗨av一区二区三区四季av| 国产欧美亚洲精品| 国产精品中文字幕欧美| 欧美大片免费观看在线观看网站推荐| 欧美高清视频一区二区三区在线观看| 亚洲午夜影视影院在线观看| 欧美日韩精品综合在线| 国产精品美女诱惑| 亚洲精品看片| 国产精品日韩欧美大师| 欧美成人午夜77777| 国产日韩欧美视频在线| 国产精品毛片在线看| 在线视频精品一区| 欧美一区二区女人| 国产一区二区| 国产精品毛片a∨一区二区三区|国| 欧美尤物巨大精品爽| 国内精品美女av在线播放| 国产精品大片免费观看| 一区视频在线看| 欧美一区二区日韩一区二区| 亚洲一区二区三区中文字幕| 亚洲午夜激情在线| 欧美超级免费视 在线| 亚洲午夜免费福利视频| 麻豆精品一区二区av白丝在线| 性色av一区二区三区| 极品裸体白嫩激情啪啪国产精品| 国产精品日日做人人爱| 猫咪成人在线观看| 国产精品―色哟哟| 亚洲性色视频| 国产精品久久久久久久一区探花| 欧美在线观看视频一区二区三区| 在线视频欧美精品| 国产亚洲精品一区二555| 欧美亚洲一级| 国产亚洲综合在线| 欧美日韩在线不卡| 日韩视频精品| 久久福利精品| 欧美xart系列高清| 午夜精品理论片| 国产亚洲一级| 久久亚洲精品伦理| 久久久精品欧美丰满| 亚洲欧美综合另类中字| 日韩视频免费在线观看| 亚洲国产成人一区| 欧美乱妇高清无乱码| 亚洲视频免费在线观看| 99re6热只有精品免费观看| 亚洲免费电影在线观看| 久久免费高清视频| 欧美日韩中文字幕综合视频| 欧美精品一区二区在线观看| 欧美激情亚洲| 国产无一区二区| 欧美巨乳在线| 精品不卡一区二区三区| 亚洲一区二区精品在线| 亚洲女性喷水在线观看一区| 国产色婷婷国产综合在线理论片a| 国产在线不卡视频| 你懂的网址国产 欧美| 国产欧美日韩综合精品二区| 久久久福利视频| 欧美日韩国产成人高清视频| 亚洲乱码国产乱码精品精可以看| 国产精品主播| 国产视频一区二区在线观看| 一本色道久久综合亚洲精品婷婷| 国产欧美日韩专区发布| 99v久久综合狠狠综合久久| 国产欧美日韩中文字幕在线| 国产精品综合久久久| 国产欧美日韩综合一区在线观看| 免费亚洲电影在线观看| 一色屋精品亚洲香蕉网站| 亚洲免费影院| 午夜视频在线观看一区二区三区| 国产日韩久久| 一本久道久久久| 欧美一区午夜精品| 一本久久综合亚洲鲁鲁| 开心色5月久久精品| 久久久综合精品| 亚洲黄色影院| 欧美精品在线观看播放| 久久精品导航| 国产日韩一级二级三级| 久久婷婷影院| 99精品黄色片免费大全| 亚洲国产中文字幕在线观看| 久久亚洲精品伦理| 亚洲欧美在线aaa| 亚洲精品国产精品久久清纯直播| 国产日韩欧美亚洲| 久久国产视频网| 国产日韩欧美自拍| 狠狠色噜噜狠狠狠狠色吗综合| 国产永久精品大片wwwapp| 亚洲福利久久| 亚洲欧美国产日韩中文字幕| 狂野欧美一区| 欧美无乱码久久久免费午夜一区| 欧美成人精品1314www| 一区二区三区免费在线观看| 亚洲视频久久| 国产精品视频| 欧美午夜理伦三级在线观看| 亚洲国产精品成人精品| 久久香蕉国产线看观看网| 欧美日韩久久不卡| 欧美日本一区| 久久尤物电影视频在线观看| 国产在线播精品第三| 欧美日韩国产一中文字不卡| 国产精品久久久久999| 欧美日韩在线一二三| 欧美搞黄网站| 亚洲影视在线| 亚洲欧美日韩成人| 久久久久久久激情视频| 国产一区二区三区黄视频| 欧美专区福利在线| 国产精品对白刺激久久久| 国产亚洲精品福利| 国产精品亚洲成人| 国色天香一区二区| 免费久久久一本精品久久区| 日韩午夜在线观看视频| 国产精品乱码| 一区二区免费看| 免费在线观看日韩欧美| 狠狠久久亚洲欧美专区|