www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]RISC是一種執(zhí)行較少類型計算機指令的微處理器,起源于80 年代的MIPS主機(即RISC 機),RISC機中采用的微處理器統(tǒng)稱RISC處理器。這樣一來,它能夠以更快的速度執(zhí)行操作(每秒執(zhí)

RISC是一種執(zhí)行較少類型計算機指令的微處理器,起源于80 年代的MIPS主機(即RISC 機),RISC機中采用的微處理器統(tǒng)稱RISC處理器。這樣一來,它能夠以更快的速度執(zhí)行操作(每秒執(zhí)行更多百萬條指令,即MIPS)。因為計算機執(zhí)行每個指令類型都需要額外的晶體管和電路元件,計算機指令集越大就會使微處理器更復雜,執(zhí)行操作也會更慢。RISC微處理器不僅精簡了指令系統(tǒng),采用超標量和超流水線結(jié)構;它們的指令數(shù)目只有幾十條,卻大大增強了并行處理能力。如:1987年Sun Microsystem公司推出的SPARC芯片就是一種超標量結(jié)構的RISC處理器。而SGI公司推出的MIPS處理器則采用超流水線結(jié)構,這些RISC處理器在構建并行精簡指令系統(tǒng)多處理機中起著核心的作用。

近年來開放源代碼運動迅速發(fā)展,開放性源碼的概念已經(jīng)從軟件領域(如Linux,GCC等)擴展到了硬件領域,出現(xiàn)了專門發(fā)布免費的IP核源代碼的組織--OpenCores.OR1200以其完全開放的源代碼和編譯器吸引了設計者。其結(jié)構簡單、通用性和可移植性強,具備完整的開發(fā)平臺,非常適合嵌入式SoC設計[1].關于OR1200的研究也受到學術界和工業(yè)界越來越多的關注。

1 32位開放源代碼處理器核OpenRISC1200

OpenRISC1000系列處理器是開放IP核源代碼組織OpenCores公布的32/64位處理器軟核。OpenRISC1200采用了自主設計的OpenRISC1000體系結(jié)構和自定義的ORBIS32 指令集。它是一種32位、標量、哈佛結(jié)構、5 級整數(shù)流水線的RISC,支持Cache、MMU和基本的DSP 功能。OR1200具有較好的可配置性, 使用者可以根據(jù)自己的需要定制自定義的指令,確定是否使用MMU,配置Cache 的大小(1 KB~64 KB之間)。OR1200同時還提供了1個用于降低功耗的電源管理單元和1個支持片內(nèi)調(diào)試的調(diào)試單元[2].

OR1200有完善的軟件開發(fā)環(huán)境和操作系統(tǒng)的支持。使用者可以通過包括GCC、Binutils和GDB等在內(nèi)的GNU tool chains進行基于OR1200內(nèi)核的編譯和調(diào)試。同時,OR1200擁有專門的仿真器Or1ksim,可以進行指令集一級的仿真,并支持Linux,μClinux,μC/OS-Ⅱ等任何一種現(xiàn)代操作系統(tǒng)。

OR1200典型應用情況[3]:使用0.18 ?滋m和6層金屬工藝時,主頻運行達到300 MHz,可以提供300Dhrystone、2.1MIPS和300 Hz的32 bit×32 bit的DSP乘加操作的能力。OR1200默認配置有100萬個晶體管。

2 系統(tǒng)的總體方案

本文構建以OR1200微處理器為核心,包含軟硬件平臺的嵌入式SoC系統(tǒng)。硬件系統(tǒng)以開源32位RISC核+Wishbone總線為主干,進行增量迭代開發(fā),將仿真驗證過的模塊逐個加入到OR1200嵌入式系統(tǒng)中,然后在FPGA上進行驗證。軟件部分進行交叉編譯環(huán)境的建立、操作系統(tǒng)的移植、應用程序開發(fā)并利用驅(qū)動程序、函數(shù)庫,經(jīng)交叉編譯工具最后生成可執(zhí)行程序下載到內(nèi)存中。最后在Altera的DE2-70開發(fā)板上驗證系統(tǒng)能否穩(wěn)定運行。系統(tǒng)開發(fā)流程如圖1所示:

 

 

主函數(shù)中3個任務函數(shù)非常簡單,優(yōu)先級從高到底分別為1、2、3,系統(tǒng)提供的函數(shù)OSTimeDly()分別為10、20、30,OsTimeDly()是將1個任務掛起,延時若干個時鐘節(jié)拍,CPU可以去執(zhí)行其它任務。

圖4給出的是通過串口工具輸出μC/OS-II多任務調(diào)度的信息,3個任務根據(jù)優(yōu)先級和延遲時間正確執(zhí)行并打印出執(zhí)行信息,測試證明OR1200嵌入式SoC系統(tǒng)能夠穩(wěn)定的運行μC/OS-II.

3 硬件平臺的構建

OR1200Q嵌入式SoC系統(tǒng)組件包括:OR1200、Wishbone互聯(lián)模塊、Memory Controller、Flash、SDRAM、UART、GPIO、DM9000A接口模塊以及DM9000A控制器。圖2所示系統(tǒng)的硬件架構。

 

 

系統(tǒng)外接50 MHz的時鐘,經(jīng)過PLL分頻,系統(tǒng)工作在25 MHz頻率。由于OR1200的可配置性,配置了硬件乘法功能,選擇8 KB的IC(指令緩存)、8 KB的DC(數(shù)據(jù)緩存),選擇NO_DMMU,NO_IMMU,即未加內(nèi)存管理單元。起始地址設為0x100,對系統(tǒng)做了硬件映射,復位時,0x04000000地址映射到0x0地址,所以系統(tǒng)可以從Flash啟動。Memory Control為統(tǒng)一的存儲控制器模塊,控制著SDRAM和Flash 2種存儲器。本系統(tǒng)針對AlteraDE2-70開發(fā)板硬件配置選擇64 MB的SDRAM和8 MB的Flash.Flash用于存儲壓縮的內(nèi)存映像文件及啟動程序Bootloder.Bootloder把壓縮的內(nèi)存映像文件從Flash復制到SDRAM中,并跳到起始位置解壓執(zhí)行可執(zhí)行文件、啟動操作系統(tǒng)。UART是嵌入式中重要的I/O設備,本系統(tǒng)選擇由OpenCores組織維護的UART16550 IP核,它與國家工業(yè)標準兼容并且可配置。UART通信協(xié)議的要求是:波特率9600 b/s、8個數(shù)據(jù)位、1個停止位、無奇偶校驗位。GPIO在系統(tǒng)中主要用于控制LED顯示狀態(tài)。DM9000A支持8 bit和16 bit數(shù)據(jù)接口以適用于不同的微處理器,但是沒有合適的開源IP模塊來連接DM9000A和Wishbone.因此需要開發(fā)1個IP接口模塊能將Wishbone從設備信號轉(zhuǎn)換為DM9000A控制信號。這個接口模塊有2個接口:1個連接在Wishbone從設備上;1個連接DM9000A控制器。DM9000A本身是little-endian,OR1200是big-endian,所以數(shù)據(jù)線接法應該做交叉接法。

Wishbone互聯(lián)模塊有很多種,比如Wishbone Conbuse、Wishbone Traffic Cop、Wishbone Interconnect Matrix.鑒于本系統(tǒng)外設不多,選擇Wishbone Traffic Cop,它有8個主設備、9個從設備。系統(tǒng)2個主設備即指令總線主設備、數(shù)據(jù)總線主設備,主設備通過Wishbone 的總線譯碼器和仲裁器與從設備進行數(shù)據(jù)通信,總線仲裁器選擇控制總線的主設備,保證每個周期最多只有1個主設備獲得總線控制權。系統(tǒng)有4個從設備,分別是UART、Flash、SDRAM和DM9000A.每個從設備都由32 bit地址線的最高8 bit來編址,總線譯碼器對主設備發(fā)出的地址的最高3 bit進行譯碼來決定訪問哪個從設備。

4 系統(tǒng)的軟件開發(fā)

軟件開發(fā)過程包括交叉編譯環(huán)境的搭建,Bootloader的設計、μC/OS-II的移植和應用程序開發(fā)等。[!--empirenews.page--]

4.1 GNU交叉編譯環(huán)境的構建

OR1200系統(tǒng)使用的是OR32工具鏈,它由GCC, GNU Binutils和GDB組成,另外還提供了OR32模擬仿真工具。gcc-3.4.4用于程序的編譯;Binutils-2.16.1提供了鏈接等各種工具;gdb-5.3用于程序的調(diào)試。OR32模擬仿真工具or1ksim工具可以模擬OR1200處理器的行為,讓程序脫離處理器在模擬工具上運行,從而實現(xiàn)OR1200與程序并行開發(fā)。OR32可從opencores網(wǎng)站上下載。

4.2 啟動代碼Bootloder的設計

Boot Loader 是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬件設備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準備好正確的環(huán)境。通常,Boot Loader 是嚴重地依賴于硬件而實現(xiàn)的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個通用的 Boot Loader 幾乎是不可能的。盡管如此,我們?nèi)匀豢梢詫?Boot Loader 歸納出一些通用的概念來,以指導用戶特定的 Boot Loader 設計與實現(xiàn)。

4.2.1 移植分析

對于計算機系統(tǒng)來說,從開機到操作系統(tǒng)啟動需要一個引導過程,嵌入式系統(tǒng)同樣離不開引導程序,這個引導程序就是Bootloader.通過這段小程序,可以初始化硬件設備、建立內(nèi)存空間的映射表,從而建立適當?shù)南到y(tǒng)軟硬件環(huán)境,為最終調(diào)用操作系統(tǒng)內(nèi)核做好準備。

結(jié)合前面構建的OR1200嵌入式SoC系統(tǒng),具體的移植過程中需要修改或編寫以下代碼:

spr_defs.h OR1200相關寄存器的設置;

board.h系統(tǒng)驗證所用的DE2-70開發(fā)板的定義,啟動參數(shù)等;

flash_boot.S,修改初始化代碼和入口;

flash.ld,代碼在flash中的地址空間安排;

mc.h存儲控制器的初始化;

uart.h UART的初始化;

copier.c下載的程序從Flash拷貝到SDRAM執(zhí)行的拷貝代碼;

在Makefile中添加Bootloder的編譯支持。

4.2.2 啟動分析

0x100處是復位入口地址,但是Flash的初始地址為0x04000000,通過設置寄存器對系統(tǒng)做了硬件映射。復位時,0x04000000地址映射到0x0地址,所以可從Flash啟動。系統(tǒng)加電后,CPU從該地址開始執(zhí)行。該地址也就是系統(tǒng)異常處理向量表第1項(復位)。跳到了init_mc 中,此時完成了系統(tǒng)的大部分初始化,例如設置寄存器、CPU、SDRAM、Flash.然后把Flash中的拷貝代碼(copier)拷貝到SDRAM,跳到SDRAM中的Copier處,copier負責把Flash中的用戶程序(userprog.bin)拷貝到SDRAM中去,并跳到0x100處,解壓執(zhí)行用戶程序,啟動操作系統(tǒng)。此時的內(nèi)存映射為:SDRAM為0x00000000~0x04000000, Flash還是0x04000000~0x08000000.Bootloader的啟動如圖3所示。

 

 

4.3 實時操作系統(tǒng)μC/OS-II的移植

μC/OS-II 是一種基于優(yōu)先級的搶占式多任務實時操作系統(tǒng),包含了實時內(nèi)核、任務管理、時間管理、任務間通信同步(信號量,郵箱,消息 隊列)和內(nèi)存管理等功能。它可以使各個任務獨立工作,互不干涉,很容易實現(xiàn)準時而且無誤執(zhí)行,使實時應用程序的設計和擴展變得容易,使應用程序的設計過程大為減化。μC /OS-II是一個完整的、可移植、可固化、可裁剪的占先式實時多任務內(nèi)核。μC/OS-II絕大部分的代碼是用ANSI的C語言編寫的,包含一小部分匯編代碼,使之可供不同架構的微處理器使用。

μC/OS-II是一個代碼公開、內(nèi)核精簡、實時性強、支持多任務的操作系統(tǒng),非常適合嵌入式系統(tǒng)開發(fā)。μC/OS-II 是由與處理器相關的代碼,與處理器無關的代碼及與應用程序相關的代碼組成。它在設計之初就已經(jīng)充分考慮了可移植性,所以μC/OS-II在不同處理器上的移植是比較容易的,主要是編寫與處理器相關的代碼,即OS_CPU_A_ASM、OS_CPU.H、OS_CPU_C.C.因此對于μC/OS-II的移植可以參考文獻[4]中第13章,明確OR1200微處理器的數(shù)據(jù)聲明類型、OR1200微處理器支持的堆棧增長方向、臨界區(qū)處理方式。

5 系統(tǒng)運行測試

系統(tǒng)通過驗證操作系統(tǒng)移植的正確性來測試所構建的OR1200嵌入式SoC系統(tǒng)能否正常運行,編寫main.c實現(xiàn)3個任務以及任務切換。函數(shù)的主要功能包括完成μC/OS-II操作系統(tǒng)的初始化、硬件資源的初始化、創(chuàng)建相關任務和啟動μC/OS-II操作系統(tǒng)這幾部分。main.c的主函數(shù)部分如下:

 

 

本文介紹了一種基于OR1200微處理器的嵌入式SoC系統(tǒng)的軟硬件設計。系統(tǒng)經(jīng)測試運行穩(wěn)定。系統(tǒng)的硬件核心選用了開源的32位微處理器核OR1200,并定位于嵌入式系統(tǒng),性能良好,也可適應其他的開放源碼IP,對于掌握具有自主知識產(chǎn)權和自主創(chuàng)新的處理器具有重大的意義,本系統(tǒng)已應用于青島市重大科技攻關項目"基于OR1200嵌入式SoC網(wǎng)關集成電路的設計及AVS實現(xiàn)".

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

本屆年會將在上海(11月13-14日)、北京(11月19-20日)和深圳(11月27-28日)舉行,面向嵌入式設計工程師推出25門技術課程

關鍵字: 嵌入式 MCU 模擬

上海2025年9月5日 /美通社/ -- 由紐倫堡會展(上海)有限公司舉辦的上海國際嵌入式會議將于 2025 年 10 月 16-17 日在上海世博展覽館舉辦。 此次會議將由三個版塊組成:嵌入式技術會議、汽...

關鍵字: 嵌入式 CE CHINA EMBEDDED

北京2025年9月5日 /美通社/ -- 9月4日,在北京市人民政府新聞辦公室舉行的"一把手發(fā)布?京華巡禮"系列主題新聞發(fā)布會上,北京經(jīng)開區(qū)對外發(fā)布,北京經(jīng)濟技術開發(fā)區(qū)(簡稱"北京經(jīng)開區(qū)&q...

關鍵字: 人工智能 模型 開源 AI

杭州2025年9月2日 /美通社/ -- 9 月 13–14 日,GOSIM HANGZHOU 2025 大會將在杭州隆重啟幕。本次大會由 GOSIM 全球開源創(chuàng)新匯主辦、CSDN 承辦,以國際化、社區(qū)化、強互動為特色,...

關鍵字: SIM 開源 OS GO

從外部看,電子系統(tǒng)仿佛一個統(tǒng)一的學科或設備,各組成部分協(xié)同工作,渾然一體。然而揭開表象,其內(nèi)在卻是另一番景象:一個碎片化、多層次的世界——其中每一層都獨立且復雜,衍生出各自特有的工具、專家、工作流程,甚至哲學體系。

關鍵字: 嵌入式 電子系統(tǒng) 半導體

8位單片機在嵌入式設計領域已經(jīng)成為半個多世紀以來的主流選擇。盡管嵌入式系統(tǒng)市場日益復雜,8位單片機依然不斷發(fā)展,積極應對新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機系列,配備了先進的獨立...

關鍵字: 單片機 嵌入式 CPU

深圳2025年8月28日 /美通社/ -- 8月26日,2025 ELEXCON深圳國際電子展盛大啟幕。本屆大會以"All for AI"為主題,深圳市德...

關鍵字: AI 工業(yè)級 SSD 嵌入式

深圳2025年8月26日 /美通社/ -- 8月26日,由博聞創(chuàng)意會展主辦的 第22屆深圳國際電子展暨嵌入式展(elexcon2025)在深圳(福田)會展中心隆重開幕。 作為中國電子與嵌入式技術領域的專業(yè)大展,本屆展會...

關鍵字: 嵌入式 電子 高通 AI

首個采用高分辨率太陽觀測數(shù)據(jù)訓練的太陽物理學人工智能 (AI) 基礎模型,旨在深入探索太陽動態(tài)表面,對可能干擾地球和太空技術的太陽天氣做出有效規(guī)劃。 該模型已發(fā)布在 Hugging Face 開源平臺,旨在加快...

關鍵字: IBM NASA 開源 模型

上海2025年8月22日 /美通社/ --?8月21日,移遠通信正式推出開源生態(tài)新品——PI-SC200U智能生態(tài)開發(fā)板。憑借高性能、開源化、全接口三大優(yōu)勢,其精準覆蓋邊緣網(wǎng)...

關鍵字: 開源硬件 PI 4G 開源
關閉