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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]給出在ARM系列單片機(jī)S3C44B0x上移植嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ的一種方法,介紹了實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ和S3C44B0x單片機(jī)的特點(diǎn),討論μC/OS-Ⅱ在S3C44B0x上移植的可能性,并成功地將實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ移植到S3C44BOx上。在移植過(guò)程中所做的主要工作就是對(duì)μC/OS-Ⅱ源代碼中的三個(gè)主要文件進(jìn)行重新配置和修改。在S3C44B0x開(kāi)發(fā)板上成功實(shí)現(xiàn)該移植過(guò)程,通過(guò)測(cè)試驗(yàn)證了移植代碼的正確性。

引 言
   
目前,嵌入式系統(tǒng)在工業(yè)控制、家用電器、移動(dòng)通信、PDA等各種領(lǐng)域得到了越來(lái)越廣泛的應(yīng)用。由于用戶對(duì)嵌入式產(chǎn)品的性能要求越來(lái)越高,程序設(shè)計(jì)也變得越來(lái)越復(fù)雜,這就需要一個(gè)通用的嵌入式實(shí)時(shí)操作系統(tǒng)來(lái)對(duì)其進(jìn)行管理和控制。對(duì)移植了操作系統(tǒng)的嵌入式系統(tǒng)進(jìn)行設(shè)計(jì)和開(kāi)發(fā),可以大大減小程序員的負(fù)擔(dān),對(duì)于不同的應(yīng)用可以按照相同的步驟來(lái)完成系統(tǒng)的設(shè)計(jì)。
    μC/OS-Ⅱ是一種簡(jiǎn)單高效、源代碼公開(kāi)的嵌入式實(shí)時(shí)操作系統(tǒng),具有良好的可擴(kuò)展性和可移植性,被廣泛的應(yīng)用到各種嵌人式處理器上。μCOS-Ⅱ操作系統(tǒng)擁有可固化,可裁剪,可剝奪性的實(shí)時(shí)內(nèi)核,可同時(shí)管理64個(gè)系統(tǒng)任務(wù)。利用移植μCOS-Ⅱ操作系統(tǒng)的嵌入式微處理器來(lái)設(shè)計(jì)和開(kāi)發(fā)產(chǎn)品,對(duì)于提高產(chǎn)品的性能,減少產(chǎn)品的開(kāi)發(fā)周期和降低開(kāi)發(fā)成本有著重要的意義。在此較詳細(xì)地分析和介紹了嵌入式實(shí)時(shí)操作系統(tǒng)μCOS-Ⅱ在ARM系列單片機(jī)S3C44B0x上的移植過(guò)程。

1 μCOS-Ⅱ概述
    μCOS-Ⅱ是一種源代碼公開(kāi)、結(jié)構(gòu)小巧、具有可剝奪性實(shí)時(shí)內(nèi)核的嵌入式實(shí)時(shí)操作系統(tǒng)。μCOS-Ⅱ是用ANSI的C語(yǔ)言編寫(xiě)的,包含一小部分匯編語(yǔ)言代碼,使之可供不同架構(gòu)的微處理器使用,至今,從8位到64位,μCOS-Ⅱ已在超過(guò)40種不同架構(gòu)的微處理器上運(yùn)行。μCOS-Ⅱ是專門為嵌入式應(yīng)用而設(shè)計(jì)的,它包含了任務(wù)調(diào)度,任務(wù)管理,時(shí)間管理,內(nèi)存管理和任務(wù)問(wèn)的通信和同步等基本功能。μCOS-Ⅱ擁有一個(gè)可移植、可固化、可裁剪的實(shí)時(shí)內(nèi)核,它具有執(zhí)行效率高,占用空間小,實(shí)時(shí)性能優(yōu)良和可擴(kuò)展性強(qiáng)等特點(diǎn),被廣泛地移植應(yīng)用到各種嵌入式微處理器中。

2 S3C44B0處理器概述
    S3C44B0x微處理器采用高性能、低功耗的32位RISC內(nèi)核ARM7TDMI。 同時(shí),S3C44B0x在ARM7TDMI核的基礎(chǔ)上,擴(kuò)展了一系列的外圍器件,使系統(tǒng)成本及外圍器件數(shù)目降低至最低,這些功能部件分為CPU單元,系統(tǒng)時(shí)鐘管理單元,存儲(chǔ)單元和系統(tǒng)功能接口單元,片上集成的主要功能如下:
    在ARM7TDMI基礎(chǔ)上增加了8 KB的CACHE;外部擴(kuò)充存儲(chǔ)器控制器;LCD控制器,并帶有1個(gè)LCD專用DMA通道;2個(gè)通用DMA通道,2個(gè)帶外部請(qǐng)求引腳的DMA;2個(gè)帶有握手協(xié)議的UART,1個(gè)SIO;1個(gè)I2C總線控制器;5個(gè)PWM定時(shí)器及1個(gè)內(nèi)部定時(shí)器;1個(gè)看門狗定時(shí)器;71個(gè)通用可編程I/O口,8個(gè)外部中斷源;功耗控制模式:正常、低、休眠和停止;8路10位ADC;具有日歷功能的RTC;PLL時(shí)鐘發(fā)生器等。

3 嵌入式操作系統(tǒng)μCOS-Ⅱ的移植
3.1 移植μCOS-Ⅱ的條件
   
所謂移植,就是使一個(gè)實(shí)時(shí)內(nèi)核能在其他的微處理器或微控制器上運(yùn)行。為方便移植,大部分μCOS-Ⅱ的代碼都是用C語(yǔ)言編寫(xiě)的,但是仍需要用C語(yǔ)言和匯編語(yǔ)言編寫(xiě)與處理器硬件相關(guān)的代碼,這是因?yàn)棣藽OS-Ⅱ在讀/寫(xiě)處理器的寄存器時(shí),只能通過(guò)匯編語(yǔ)言來(lái)實(shí)現(xiàn),要使μCOS-Ⅱ正常運(yùn)行,處理器必須滿足以下要求:
    (1)處理器的C編譯器能產(chǎn)生可重人型代碼;
    (2)處理器支持中斷,并且能產(chǎn)生定時(shí)中斷(通常為10~100 Hz);
    (3)用C語(yǔ)言就可以開(kāi)/關(guān)中斷;
    (4)處理器能支持一定數(shù)量的數(shù)據(jù)存儲(chǔ)硬件堆棧;
    (5)處理器有將堆棧指針以及其他CPU寄存器的內(nèi)容讀出、并存儲(chǔ)到堆?;騼?nèi)存中去的指令。
    ARM系列單片機(jī)S3C44B0x滿足以上的條件。所以可以將μCOS-Ⅱ移植應(yīng)用到S3C44B0x。
3.2 搭建移植環(huán)境
   
本次移植在如下的環(huán)境中完成:
    (1)編譯工具采用ARM公司的ADS 1.2。ADS全稱為ARM Developer Suite,是ARM公司推出的新一代ARM集成開(kāi)發(fā)工具?,F(xiàn)在ADS的最新版本是1.2,它取代了早期的ADS 1.0和ADS 1.1。ADS 1.2由命令行開(kāi)發(fā)工具,ARM實(shí)時(shí)庫(kù),GUI開(kāi)發(fā)環(huán)境,實(shí)用程序和支持軟件組成。有了這些部件,用戶就可以非常方便地為ARM系列的處理器編寫(xiě)和調(diào)試自己的應(yīng)用程序了。
    (2)目標(biāo)板采用杭州立宇泰公司生產(chǎn)的S3C44B0x開(kāi)發(fā)板,主機(jī)通過(guò)JTAG連接目標(biāo)板以建立交叉開(kāi)發(fā)調(diào)試環(huán)境。
3.3 μCOS-Ⅱ的移植
    μCOS-Ⅱ的硬件/軟件體系結(jié)構(gòu)如圖1所示,對(duì)μCOS-Ⅱ的移植其實(shí)就是對(duì)與處理器有關(guān)的代碼進(jìn)行重新編寫(xiě)或修改。

    由圖1可知,移植μCOS-Ⅱ?qū)嶋H上就是分別對(duì)OSCPU.H,OS_CPU_A.ASM和OS_CPU_C.C這三個(gè)文件進(jìn)行重新編寫(xiě)或修改。由于在本次移植中是將μCOS-Ⅱ移植到ARM系列單片機(jī)S3CA4B0x中,接下來(lái)將結(jié)合S3CA4B0x微處理器的特性來(lái)具體介紹本次移植過(guò)程中所做的主要工作。
    (1)移植OS_CPU.H文件
    OS CPU.H文件中包括了用#define定義的與處理器相關(guān)的常量和類型的定義,與μCOS-Ⅱ所定義的變量類型相一致;定義開(kāi)/關(guān)中斷的宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()來(lái)保護(hù)臨界段代碼免受多任務(wù)或中斷服務(wù)例程的干擾;定義棧的增長(zhǎng)方向,在本次移植中棧的增長(zhǎng)方向被定義為從上往下增長(zhǎng),OS_STK_GROWTH的值定義為1。在移植該文件時(shí),需要編寫(xiě)和修改的部分代碼如下所示:
    ①設(shè)置與編譯器相關(guān)的數(shù)據(jù)類型

   
    ③設(shè)置堆棧的增長(zhǎng)方向
    絕大多數(shù)的微處理器和控制器的堆棧是從上往下增長(zhǎng)的,但是也有一些處理器和控制器的堆棧增長(zhǎng)方向是從下往上增長(zhǎng)的μCOS-Ⅱ被設(shè)計(jì)成這兩種情況都可以處理,只要在結(jié)構(gòu)常量OS_STK_GROWTH中指定堆棧的增長(zhǎng)方式即可。在本次移植中堆棧的增長(zhǎng)方向被設(shè)置成從上往下增長(zhǎng)。

   
    (2)移植OS_CPU_C.C文件
    在該文件中需要編寫(xiě)10個(gè)簡(jiǎn)單的C函數(shù)它們分別是:


    在這些函數(shù)中惟一必須需要編寫(xiě)的函數(shù)是OSTa-skStkInit(),其他9個(gè)函數(shù)必須要聲明,但不一定要包含任何代碼。OSTaskCreate()和OSTaskCreateExt()通過(guò)調(diào)用OSTaskStkInit()函數(shù)來(lái)初始化任務(wù)的堆棧結(jié)構(gòu),因此,堆??雌饋?lái)就像剛發(fā)生過(guò)中斷,并將所有的寄存器都保存到堆棧中的情形一樣。OSTaskStkInit()的程序代碼如下:


    (3)移植OS_CPU_A.ASM文件
    在移植OS_CPU_A.ASM文件時(shí),要求用戶編寫(xiě)4個(gè)簡(jiǎn)單的匯編語(yǔ)言函數(shù),它們分別是:OS-StartHighRdy(),OSCtxSw(),OSIntCtxSw(),OS-TickISR()。
    ①OSStartHighRdy():運(yùn)行最高優(yōu)先級(jí)的就緒任務(wù)。此函數(shù)僅在多任務(wù)啟動(dòng)時(shí)執(zhí)行一次,用來(lái)啟動(dòng)第1個(gè)(也就是最高優(yōu)先級(jí))任務(wù)運(yùn)行。它的程序代碼如下:


    ②OSCtxSw():任務(wù)級(jí)任務(wù)切換函數(shù)。實(shí)現(xiàn)CPU在正常運(yùn)行時(shí)任務(wù)間的切換,完成對(duì)當(dāng)前任務(wù)堆棧的保存和對(duì)最高優(yōu)先級(jí)任務(wù)堆棧的彈出,使最高優(yōu)先級(jí)的任務(wù)得到運(yùn)行。
    ③OSIntCtxSw():中斷級(jí)的任務(wù)切換函數(shù)。在中斷服務(wù)程序執(zhí)行完后,如果中斷使得更高優(yōu)先級(jí)的任務(wù)處于就緒狀態(tài),則該函數(shù)實(shí)現(xiàn)對(duì)任務(wù)的切換:保存中斷發(fā)生之前的那個(gè)任務(wù)的執(zhí)行現(xiàn)場(chǎng).恢復(fù)已處于就緒態(tài)的那個(gè)更高優(yōu)先級(jí)任務(wù)的執(zhí)行現(xiàn)場(chǎng),使優(yōu)先級(jí)更高的那個(gè)任務(wù)得以運(yùn)行,從而完成對(duì)任務(wù)的切換。
    ④OSTickISR():是系統(tǒng)時(shí)鐘的中斷服務(wù)函數(shù)。該函數(shù)的主要功能是檢查是否有由于延時(shí)而被掛起的任務(wù)轉(zhuǎn)為就緒態(tài)。如果有,則調(diào)用OSIntCtxSw()函數(shù)進(jìn)行任務(wù)切換,使已處于就緒態(tài)的且具有最高優(yōu)先級(jí)的任務(wù)運(yùn)行。

4 測(cè)試移植代碼
   
為S3C44B0x移植好μC/OS-Ⅱ后,緊接著的工作就是驗(yàn)證移植好的μC/OS-II是否能正常工作。在這里采用不加任何應(yīng)用程序代碼的方法測(cè)試移植好的μC/OS-Ⅱ,這樣做有兩個(gè)優(yōu)點(diǎn):使測(cè)試移植代碼的工作變得更簡(jiǎn)單;如果有部分,μC/OS-II代碼不能正常工作,可以明白是被移植代碼本身的問(wèn)題,而不是應(yīng)用代碼產(chǎn)生的問(wèn)題。通過(guò)四個(gè)步驟來(lái)完成對(duì)移植代碼的測(cè)試:確保C編譯器、匯編編譯器及鏈接器正常工作;驗(yàn)證OSTaskStkInit()和OSStartHighRdy()函數(shù);驗(yàn)證OSCtxSw()函數(shù);驗(yàn)證OSIntCtxSw()和OSTick-ISR()函數(shù)。經(jīng)測(cè)試,以上四個(gè)測(cè)試過(guò)程均能正常通過(guò),表明被移植到ARM系列單片機(jī)S3C44B0x中的μC/OS-Ⅱ操作系統(tǒng)已經(jīng)能正常工作了。

5 結(jié)束語(yǔ)
    μC/OS-II是一種可配置、可裁剪的嵌入式實(shí)時(shí)操作系統(tǒng),現(xiàn)已被廣泛的移植應(yīng)用到多種處理器當(dāng)中。這里成功地將μC/OS-Ⅱ移植到了ARM系列單片機(jī)S3C44B0x中,經(jīng)測(cè)試,移植好的μC/OS-Ⅱ代碼能正常的在S3C44B0x處理器中穩(wěn)定運(yùn)行。

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

北京2022年10月19日 /美通社/ -- 隨著云計(jì)算、大數(shù)據(jù)的普及發(fā)展,過(guò)去的"云"是服務(wù)于大企業(yè)的計(jì)算模型,而十多年過(guò)去了,越來(lái)越多的應(yīng)用及業(yè)務(wù)走上"云端",對(duì)計(jì)算核心數(shù)需求...

關(guān)鍵字: ARM 大數(shù)據(jù) 云游戲 CPU

無(wú)線連接已成為許多產(chǎn)品的必備功能,但往往會(huì)增加系統(tǒng)設(shè)計(jì)的成本和復(fù)雜性,因?yàn)樗ǔ1仨氉鳛楦髴?yīng)用的附加功能。Microchip Technology Inc.(美國(guó)微芯科技公司)今日推出首款基于Arm Cortex?-M...

關(guān)鍵字: Microchip ARM PIC

物聯(lián)網(wǎng)正在擴(kuò)大規(guī)模并加速發(fā)展,進(jìn)而驅(qū)動(dòng)著全新的經(jīng)濟(jì)。而Arm生態(tài)系統(tǒng)正是這一巨大機(jī)遇背后的推動(dòng)力。

關(guān)鍵字: ARM 物聯(lián)網(wǎng)

ARM公司是一家知識(shí)產(chǎn)權(quán)(IP)供應(yīng)商,它與一般的半導(dǎo)體公司最大的不同就是不制造芯片且不向終端用戶出售芯片,而是通過(guò)轉(zhuǎn)讓設(shè)計(jì)方案,由合作伙伴生產(chǎn)出各具特色的芯片。

關(guān)鍵字: ARM

亙喜生物科技集團(tuán)宣布正在中國(guó)開(kāi)展的、旨在全面評(píng)估GC007g治療復(fù)發(fā)/難治性急性B淋巴細(xì)胞白血病效果的1/2期注冊(cè)性臨床試驗(yàn)順利進(jìn)入2期研究階段,首例入組患者已給藥。GC007g是亙喜生物旗下的一款靶向CD19的供者來(lái)源...

關(guān)鍵字: 移植 CD

2018年10月26日,深圳星河麗思卡爾頓酒店,ARM中國(guó)CEO吳雄昂在ARM年度技術(shù)論壇上對(duì)記者如是說(shuō),彼時(shí)的吳堅(jiān)定,溫雅,意氣風(fēng)發(fā)。時(shí)隔兩年,ARM中國(guó)CEO吳雄昂再次回到媒體視線,這一次,ARM中國(guó)與來(lái)自投資方和劍...

關(guān)鍵字: ARM 芯片 集成電路

喜歡折騰主機(jī)的小伙伴一定都知道X86和ARM架構(gòu)的區(qū)別,前者在PC領(lǐng)域已經(jīng)統(tǒng)治了幾十年;后者則主要應(yīng)用于移動(dòng)領(lǐng)域,尤其是近幾年,ARM的產(chǎn)品在終端應(yīng)用特別是手持終端應(yīng)用飛速發(fā)展。

關(guān)鍵字: 國(guó)產(chǎn) ARM 主機(jī)

科技公司們認(rèn)為,收購(gòu)將使英偉達(dá)控制一個(gè)重要的供應(yīng)商,該供應(yīng)商向蘋(píng)果、英特爾、三星電子、亞馬遜和華為等公司授權(quán)基本的芯片技術(shù),同時(shí)也向不計(jì)其數(shù)的中小技術(shù)企業(yè)提供授權(quán)??偛课挥谟?guó)的ARM公司將芯片設(shè)計(jì)和相關(guān)軟件代碼授權(quán)給所...

關(guān)鍵字: 英偉達(dá) ARM 半導(dǎo)體公司

在去年九月,英偉達(dá)宣布以400億美金收購(gòu)ARM時(shí),就注定這場(chǎng)收購(gòu)不會(huì)太順利。因?yàn)橐坏〢RM成功被英偉達(dá)收購(gòu),這將使ARM改變?cè)谌虬雽?dǎo)體市場(chǎng)中的中立立場(chǎng),因?yàn)锳RM的很多客戶,都是英偉達(dá)的直接或者間接的對(duì)手。除此之外,還...

關(guān)鍵字: 英偉達(dá) ARM 半導(dǎo)體

以下內(nèi)容中,小編將對(duì)工控主板的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對(duì)工控主板的了解,和小編一起來(lái)看看吧。

關(guān)鍵字: ARM 工控主板 主板

單片機(jī)

21600 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉