999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

μCOS移植技術探究

2011-03-18 19:33:32于江濤吳兆芝通化師范學院計算機科學系吉林通化3400南京曉莊學院數學與信息技術學院江蘇南京7
通化師范學院學報 2011年4期
關鍵詞:嵌入式程序系統

于江濤,吳兆芝(.通化師范學院計算機科學系,吉林通化3400;.南京曉莊學院數學與信息技術學院,江蘇南京7)

μCOS移植技術探究

于江濤1,吳兆芝2
(1.通化師范學院計算機科學系,吉林通化134002;2.南京曉莊學院數學與信息技術學院,江蘇南京211171)

文中以X86平臺及ARM平臺為例,分析了μCOS嵌入式內核移植的技術要點.內容包括X86平臺及ARM平臺硬件環境的簡述、操作系統引導及裝載程序的設計、μCOS運行之前硬件環境的建立、μCOS與平臺相關接口程序、設備驅動程序、實用庫函數的設計等.

μCOS;嵌入式內核移植;X86平臺;ARM平臺;GNU工具鏈

μCOS是一個可以基于ROM運行的、可裁減的、搶占式實時多任務內核,具有高度可移植性,特別適合于微處理器和控制器,是與很多商業操作系統性能相當的實時操作系統(RTOS).為了提供最好的移植性能,μCOS最大程度上使用ANSIC語言進行開發,并且已經移植到近40多種處理器體系上,涵蓋了從8位到64位各種CPU(包括DSP).

由于μCOS結構清晰、代碼簡潔,便于學習、研究與開發,被眾多高校作為實時操作系統平臺用于嵌入式系統教學、實驗與科研.μCOS被廣泛移植到各種硬件平臺上,如目前最為流行的X86平臺及ARM平臺等.本文以這兩種常用移植平臺為例,對μCOS的移植技術進行分析.

1 μCOS移植要點

μCOS移植的基本思想在文獻[1]中有詳細論述,本文以X86平臺和ARM平臺為例,對μCOS移植技術加以闡述.

第一步,建立運行μCOS所需的系統環境,如主機引導啟動、設置中斷/異常處理等,這部分內容是移植過程所需的重點工作之一.對于各種不同硬件平臺,這部分的差別很大,但道理都是類似的.

第二步,設計μCOS與硬件平臺相關的接口程序,主要有os_cpu.h()、os_cpu_c.c()、os_cpu_a.s ()及os_cfg.h()等.這部分內容盡管與硬件平臺相關,但由于μCOS已考慮到系統的移植問題,采用中斷方式切換進程,所以其C語言程序區別不大,而匯編程序則區別較大.

第三步,設計相應的設備驅動程序.μCOS內核沒有自己的輸入輸出設備,因此需要根據不同的平臺設計相應的設備驅動程序.對于X86平臺而言,主要是顯示器和鍵盤;對于ARM平臺而言,可以使用串口作為主控機與運行中的ARMμCOS進行交互的渠道,μCOS運行過程中通過串口與主控機的超級終端交換信息.

第四步,設計相關的實用庫函數,如memcpy()、vsprintf()、sprintf()等.作為獨立的操作系統,μCOS不能直接使用開發環境的C程序庫,而必須設計自己專用的必要的庫函數.

此外,還要選擇適當的移植工具,如開發平臺、C編譯器、匯編語言等.對于高校的嵌入式系統教學、實驗及科研而言,筆者贊成文獻[2]中的觀點,認為應選用GNU工具鏈作為開發工具.盡管GNU工具鏈中匯編語言使用的AT&T語法與Windows操作系統常用的Intel語法區別較大,然而Linux操作系統從一開始就使用AT&T語法,這是高校計算機專業教學必須面對的現實.引導高校學生掌握乃至精通開源工具的使用,對于培養IT人才、增強學生的可持續發展潛力,都具有重要意義.

2 μCOS移植技術分析

2.1 X86平臺及ARM平臺簡述

由于X86平臺具有豐富的硬件資源、功能較強的輸入輸出設備(如鍵盤、顯示器等),在X86平臺上移植μCOS將更便于對其進行研究與實驗.μCOS的設計者在文獻[1]中給出了將μCOS移植到X86平臺的方法.但該方法使用的是現已少見的Borland C編譯環境,而且只實現μCOS在X86實模式下的移植,并沒有體現X86保護模式的功能與特點.

保護模式是一種80286系列及后繼X86兼容CPU的操作模式.保護模式有一些新的特色,設計用來實現多任務并增強系統穩定性,支持內存保護、分頁系統以及虛擬內存.目前大部分X86操作系統都在保護模式下運行,包含Linux、FreeBSD、以及微軟Windows 2.0及之后版本.因此,無論從實際應用還是從專業教學的角度,都應該研究μCOS在X86保護方式下的移植技術.

ARM(Advanced RISCMachines),既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字.目前,采用ARM技術知識產權(IP)核的微處理器,即通常所說的ARM微處理器,已遍及工業控制、消費類電子產品、通信系統、網絡系統、無線系統等各類產品市場,基于ARM技術的微處理器應用約占據了32位RISC微處理器75%以上的市場份額,ARM技術正在逐步滲入到各個方面.目前,全世界有幾十家大的半導體公司都使用ARM公司的授權,因此使ARM技術獲得更多的第三方工具、制造、軟件的支持,整個系統成本降低,使產品更容易進入市場被消費者所接受,具有更強競爭力.

鑒于上述原因,國內各高校都把ARM平臺作為嵌入式教學與實驗的首選平臺.研究μCOS在ARM平臺的移植技術,無疑具有重要的實用價值.

2.2 μCOS內核的引導與裝載

操作系統內核的引導與裝載是移植工作的第一步,是運行操作系統內核的基礎.

(1)基于X86保護模式的引導與裝載.在X86平臺保護模式下操作系統的引導過程如下:

①BIOS加載并啟動保存在硬盤MBR中的引導程序,該引導程序一般在操作系統安裝時寫入.②MBR引導程序掃描所有分區表,找出活動分區.③MBR引導程序加載并啟動保存在活動分區PBR中的引導程序.④活動分區PBR中的引導程序加載并啟動安裝在其上的操作系統.顯然PBR引導程序與操作系統密切相關,一般在操作系統安裝時寫入.

一般來說,由軟盤引導操作系統主要有三種方式:

①按軟盤邏輯扇網順序存放啟動模塊、裝載模塊和內核模塊,其中內核模塊為無格式二進制文件.②按軟盤邏輯扇網順序存放啟動模塊、裝載模塊和內核模塊,其中內核模塊為ELF可執行文件格式.③用Fat文件系統軟盤啟動.將啟動模塊存放在主引導扇區,裝載模塊及內核模塊鏈成一個Fat文件,拷貝到軟盤上.其中內核模塊為ELF文件格式.

第二種及第三種方式的內核模塊由于是ELF格式,需要在引導過程中動態安裝.但可以根據需要,設計不同的內核基址,使操作系統內核對內存的使用與配置更為靈活.

在X86平臺引導啟動后,要從實模式進入保護模式.保護模式的一項重要內容是全局描述符及局部描述符.由于μCOS在運行過程中不涉及X86的任務切換,所以只需為μCOS準備一套局部描述符即可.接下來的工作是開啟A20總線、加載全局描述符及中斷描述符、切換到保護模式,跳轉到保護模式.

(2)基于ARM平臺的引導與裝載.在ARM裸機環境下,操作系統的引導與安裝涉及到硬件初始化、中斷初始化、MMU初始化等工作.目前國內高校采用的嵌入式ARM教學實驗系統多為ARM實驗箱,一般都配備了vivi作為bootloader.由于vivi程序實現了操作系統引導安裝的絕大多數工作,所以在這種環境下的移植操作系統可使引導過程極大簡化.然而,移植之后的系統也只能通過vivi引導,而不能在ARM裸機上脫離vivi而直接啟動.文獻[2]提出一種ARM主機自適應啟動程序,較好地解決了這個問題.它不僅適用于μCOS的移植,同樣也可作為其它ARM應用系統的啟動程序,尤其適用于ARM平臺的各種基礎實驗.

2.3 μCOS運行環境初始化

一般來說,μCOS的初始化工作要由匯編程序及C程序共同完成.

對于X86平臺,主要涉及到8259A中斷控制器初始化、中斷向量的初始化、時鐘中斷初始化、鍵盤中斷初始化等.還要設計一個中斷向量設置函數os_ setvect(),供μCOS運行時調用.

對于ARM平臺,主要涉及ARM硬件初始化、中斷向量初始化、串口初始化、時鐘初始化及LED初始化等.

ARM硬件初始化主要是SDRAM相關的寄存器設置.中斷向量初始化部分,為簡單起見,除復位中斷(Reset)和外部請求中斷(IRQ)之外,其余中斷處理可簡單地設置為顯示中斷信息后進入無限循環的方式.串口初始化是對S3C2410串口寄存器的初始化工作.時鐘初始化是對時鐘寄存器的初始設置.

2.4 μCOS平臺相關程序

μCOS移植的另一個重點是μCOS平臺相關程序的設計.

對于X86平臺,文獻[1]給出了在X86實模式下的設計方法.在X86保護模式下,其設計思想類似,對照文獻[1]中給出的X86實模式程序,加以適當改動,不難實現X86保護模式下相應程序.

對于ARM平臺,文獻[3]給出了在ARM平臺上移植μCOS的實現技術與設計方法.參照文獻[3],加以適當改動,不難實現相應程序.

值得注意的是,文獻[1]和[3]中給出的程序都不是使用GNU工具鏈開發的.因此,如果使用GNU工具鏈移植μCOS,則其匯編語言程序不僅要適應相應的硬件環境,同時還需要用AT&T匯編語法來編寫.

2.5 設備驅動程序

對于X86平臺,主要包括屏幕顯示及鍵盤中斷.

屏幕顯示一般主要有以下功能:清屏、設置光標位置、讀取光標位置、設置字符顏色、屏幕滾動、屏幕定位、顯示字符及字符串等.此外,還應該有TTY方式的屏幕輸出函數,負責處理常用控制字符,如:回車符' '、制表符' '、退格符''等.

由于μCOS內核本身不需鍵盤支持,所以鍵盤中斷一般無需設計得過于復雜,只要能實現一些簡單功能即可,如可顯示字符、退格鍵、回車鍵、大小寫轉換等.

對于ARM平臺,為簡單起見,可使用串口通信程序使μCOS與主控機進行交互.

串口通信程序主要包括對串口的讀寫操作,主要有字符及字符串輸入程序、字符及字符串輸出程序和字符串格式化輸出程序等.串口采用的通信方式會影響到通信效率,為此可采用FIFO方式實現串口通信.

2.6 庫函數

μCOS作為一個獨立的操作系統,必須有自己專用的庫函數,如內存操作(memcpy()、memset()等)、字符串操作(strcmp()、strcpy()、strlen()等)、格式化輸出函數(vsprintf())等.這些函數都可以用C語言實現.如考慮運行速度,也可以將內存操作函數用匯編語言實現.格式化輸出函數至少要包含整數(%d)、16進制數(%x)、字符(%c)及字符串(% s)格式.

3 結束語

μCOS為教學研究提供免費版本,受到嵌入式研究領域的廣泛關注.國內很多高校及嵌入式系統培訓機構都用μCOS作為嵌入式系統教學及實驗平臺,眾多實驗設備廠商也推出了各種支持μCOS移植的嵌入式實驗設備.用GNU工具鏈從事μCOS的移植與應用研究,對于高校的嵌入式系統教學與科研無疑具有重要的實用價值.

X86平臺及ARM平臺是最有代表性的嵌入式系統平臺.在高校嵌入式系統教學及研究方面,一方面可使用X86平臺,充分利用其豐富的輸入輸出功能以方便對嵌入式操作系統的研究;另一方面可使用ARM平臺,在教學及實驗過程中為學生提供真實的嵌入式系統環境.因此,在X86及ARM這兩種平臺上加強對μCOS移植技術的研究很有必要,也很有實際意義.

[1][美]Jean J.Labrosse嵌入式實時操作系統μC/OS-II[M].北京:北京航空航天大學出版社,2003.

[2]曲波.ARMμCOS自適應啟動程序的設計與實現[J].南京曉莊學院學報,2010,3(5).

[3]Micriμm Co.,Ltd.μC/OS-IIand ARM Processors[EB/OL].http://www.Micriμm.com,2007.

(責任編輯:王前)

Abstract:Based on X86 and ARM platforms,the paper analyzes themain issues of porting embedded kernelμCOS.It consists of a brief description of the hardware environmentof X86 and ARM platforms,design of the OS booting and loading program,establishing of hardware environment before runningμCOS,the design of the platform-dependent interface ofμCOS,device drivers and utility library functions,etc.

Key words:μCOS;embedded kernel porting;X86 platform;ARM platform;GNU tool chain

Brief Analysis onμCOS Porting Technique

YU Jiang-tao1,WU Zhao-zhi2
(1.Department of Computer Science,Tonghua Normal University,Tonghua,Jilin 134002,China;
2.School of Mathematicsand Information Technology,Nanjing Xiaozhuang College,Nanjing,Jiangsu 211171,China)

TP316

A

1008-7974(2011)04-0017-03

2011-03-02

于江濤(1969-),男,吉林通化人,通化師范學院計算機科學系教授.

猜你喜歡
嵌入式程序系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
搭建基于Qt的嵌入式開發平臺
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 性69交片免费看| 亚洲无限乱码一二三四区| 免费毛片全部不收费的| 亚洲永久视频| 欧美亚洲第一页| 国内a级毛片| 九色在线视频导航91| 国产综合另类小说色区色噜噜| 婷婷成人综合| www.99在线观看| 国产SUV精品一区二区| 无码精油按摩潮喷在线播放| 亚洲二区视频| 永久免费无码成人网站| 日韩免费中文字幕| av免费在线观看美女叉开腿| 老司机午夜精品视频你懂的| 国产二级毛片| 国产一区免费在线观看| 国产人前露出系列视频| 国产精品无码AV片在线观看播放| 人妻少妇乱子伦精品无码专区毛片| 久久毛片网| 久久国产高潮流白浆免费观看| A级毛片高清免费视频就| 91福利在线观看视频| 日本91视频| 99热这里只有精品5| 国产欧美日韩综合在线第一| 久久人人妻人人爽人人卡片av| 国产一区二区三区在线观看免费| 国产精品久久久久久久久久98| 久久免费视频播放| 国产麻豆永久视频| 国产H片无码不卡在线视频 | a毛片在线播放| 国产无人区一区二区三区| 日韩亚洲综合在线| 波多野结衣中文字幕久久| 99视频在线观看免费| 国产成人免费观看在线视频| 无码国产伊人| 国产老女人精品免费视频| 国内精品一区二区在线观看| 色综合婷婷| 午夜精品国产自在| 中文字幕人妻无码系列第三区| 久草网视频在线| 天天躁狠狠躁| 国产在线一二三区| 国产流白浆视频| 美女啪啪无遮挡| 91啪在线| 92精品国产自产在线观看| 女人18一级毛片免费观看| 美女免费精品高清毛片在线视| 91在线视频福利| 国产aaaaa一级毛片| 都市激情亚洲综合久久| 制服无码网站| 国产欧美专区在线观看| 在线观看精品自拍视频| 久久综合一个色综合网| 国产哺乳奶水91在线播放| 久久久亚洲国产美女国产盗摄| 亚洲国产精品国自产拍A| 天堂网亚洲系列亚洲系列| 午夜视频日本| 欧美怡红院视频一区二区三区| 色综合手机在线| 香蕉视频在线精品| 亚洲福利片无码最新在线播放 | 日韩国产一区二区三区无码| 亚洲中文字幕国产av| 国产亚洲精品yxsp| 色婷婷天天综合在线| 夜夜高潮夜夜爽国产伦精品| a级毛片免费播放| 亚洲欧美激情小说另类| 中文字幕在线欧美| 欧美中文字幕无线码视频| 亚洲欧美成人综合|