国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

μC/OS-Ⅱ在ARM系列單片機(jī)S3C44B0x上的移植

發(fā)布時(shí)間:2010-10-12 20:00    發(fā)布者:techshare
關(guān)鍵詞: arm , S3C44B0X , 單片機(jī) , 移植
目前,嵌入式系統(tǒng)在工業(yè)控制、家用電器、移動通信、PDA等各種領(lǐng)域得到了越來越廣泛的應(yīng)用。由于用戶對嵌入式產(chǎn)品的性能要求越來越高,程序設(shè)計(jì)也變得越來越復(fù)雜,這就需要一個通用的嵌入式實(shí)時(shí)操作系統(tǒng)來對其進(jìn)行管理和控制。對移植了操作系統(tǒng)的嵌入式系統(tǒng)進(jìn)行設(shè)計(jì)和開發(fā),可以大大減小程序員的負(fù)擔(dān),對于不同的應(yīng)用可以按照相同的步驟來完成系統(tǒng)的設(shè)計(jì)。

μC/OS-Ⅱ是一種簡單高效、源代碼公開的嵌入式實(shí)時(shí)操作系統(tǒng),具有良好的可擴(kuò)展性和可移植性,被廣泛的應(yīng)用到各種嵌人式處理器上。μCOS-Ⅱ操作系統(tǒng)擁有可固化,可裁剪,可剝奪性的實(shí)時(shí)內(nèi)核,可同時(shí)管理64個系統(tǒng)任務(wù)。利用移植μCOS-Ⅱ操作系統(tǒng)的嵌入式微處理器來設(shè)計(jì)和開發(fā)產(chǎn)品,對于提高產(chǎn)品的性能,減少產(chǎn)品的開發(fā)周期和降低開發(fā)成本有著重要的意義。在此較詳細(xì)地分析和介紹了嵌入式實(shí)時(shí)操作系統(tǒng)μCOS-Ⅱ在ARM系列單片機(jī)S3C44B0x上的移植過程。

1 μCOS-Ⅱ概述

μCOS-Ⅱ是一種源代碼公開、結(jié)構(gòu)小巧、具有可剝奪性實(shí)時(shí)內(nèi)核的嵌入式實(shí)時(shí)操作系統(tǒng)。μCOS-Ⅱ是用ANSI的C語言編寫的,包含一小部分匯編語言代碼,使之可供不同架構(gòu)的微處理器使用,至今,從8位到64位,μCOS-Ⅱ已在超過40種不同架構(gòu)的微處理器上運(yùn)行。μCOS-Ⅱ是專門為嵌入式應(yīng)用而設(shè)計(jì)的,它包含了任務(wù)調(diào)度,任務(wù)管理,時(shí)間管理,內(nèi)存管理和任務(wù)問的通信和同步等基本功能。μCOS-Ⅱ擁有一個可移植、可固化、可裁剪的實(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í)鐘管理單元,存儲單元和系統(tǒng)功能接口單元,片上集成的主要功能如下:

在ARM7TDMI基礎(chǔ)上增加了8 KB的CACHE;外部擴(kuò)充存儲器控制器;LCD控制器,并帶有1個LCD專用DMA通道;2個通用DMA通道,2個帶外部請求引腳的DMA;2個帶有握手協(xié)議的UART,1個SIO;1個I2C總線控制器;5個PWM定時(shí)器及1個內(nèi)部定時(shí)器;1個看門狗定時(shí)器;71個通用可編程I/O口,8個外部中斷源;功耗控制模式:正常、低、休眠和停止;8路10位ADC;具有日歷功能的RTC;PLL時(shí)鐘發(fā)生器等。

3 嵌入式操作系統(tǒng)μCOS-Ⅱ的移植

3.1 移植μCOS-Ⅱ的條件

所謂移植,就是使一個實(shí)時(shí)內(nèi)核能在其他的微處理器或微控制器上運(yùn)行。為方便移植,大部分μCOS-Ⅱ的代碼都是用C語言編寫的,但是仍需要用C語言和匯編語言編寫與處理器硬件相關(guān)的代碼,這是因?yàn)棣藽OS-Ⅱ在讀/寫處理器的寄存器時(shí),只能通過匯編語言來實(shí)現(xiàn),要使μCOS-Ⅱ正常運(yùn)行,處理器必須滿足以下要求:

(1)處理器的C編譯器能產(chǎn)生可重人型代碼;

(2)處理器支持中斷,并且能產(chǎn)生定時(shí)中斷(通常為10~100 Hz);

(3)用C語言就可以開/關(guān)中斷;

(4)處理器能支持一定數(shù)量的數(shù)據(jù)存儲硬件堆棧;

(5)處理器有將堆棧指針以及其他CPU寄存器的內(nèi)容讀出、并存儲到堆棧或內(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集成開發(fā)工具,F(xiàn)在ADS的最新版本是1.2,它取代了早期的ADS 1.0和ADS 1.1。ADS 1.2由命令行開發(fā)工具,ARM實(shí)時(shí)庫,GUI開發(fā)環(huán)境,實(shí)用程序和支持軟件組成。有了這些部件,用戶就可以非常方便地為ARM系列的處理器編寫和調(diào)試自己的應(yīng)用程序了。

(2)目標(biāo)板采用杭州立宇泰公司生產(chǎn)的S3C44B0x開發(fā)板,主機(jī)通過JTAG連接目標(biāo)板以建立交叉開發(fā)調(diào)試環(huán)境。

3.3 μCOS-Ⅱ的移植

μCOS-Ⅱ的硬件/軟件體系結(jié)構(gòu)如圖1所示,對μCOS-Ⅱ的移植其實(shí)就是對與處理器有關(guān)的代碼進(jìn)行重新編寫或修改。



由圖1可知,移植μCOS-Ⅱ?qū)嶋H上就是分別對OSCPU.H,OS_CPU_A.ASM和OS_CPU_C.C這三個文件進(jìn)行重新編寫或修改。由于在本次移植中是將μCOS-Ⅱ移植到ARM系列單片機(jī)S3CA4B0x中,接下來將結(jié)合S3CA4B0x微處理器的特性來具體介紹本次移植過程中所做的主要工作。

(1)移植OS_CPU.H文件

OS CPU.H文件中包括了用#define定義的與處理器相關(guān)的常量和類型的定義,與μCOS-Ⅱ所定義的變量類型相一致;定義開/關(guān)中斷的宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()來保護(hù)臨界段代碼免受多任務(wù)或中斷服務(wù)例程的干擾;定義棧的增長方向,在本次移植中棧的增長方向被定義為從上往下增長,OS_STK_GROWTH的值定義為1。在移植該文件時(shí),需要編寫和修改的部分代碼如下所示:

①設(shè)置與編譯器相關(guān)的數(shù)據(jù)類型



③設(shè)置堆棧的增長方向

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



(2)移植OS_CPU_C.C文件

在該文件中需要編寫10個簡單的C函數(shù)它們分別是:



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



(3)移植OS_CPU_A.ASM文件

在移植OS_CPU_A.ASM文件時(shí),要求用戶編寫4個簡單的匯編語言函數(shù),它們分別是:OS-StartHighRdy(),OSCtxSw(),OSIntCtxSw(),OS-TickISR()。

①OSStartHighRdy():運(yùn)行最高優(yōu)先級的就緒任務(wù)。此函數(shù)僅在多任務(wù)啟動時(shí)執(zhí)行一次,用來啟動第1個(也就是最高優(yōu)先級)任務(wù)運(yùn)行。它的程序代碼如下:



②OSCtxSw():任務(wù)級任務(wù)切換函數(shù)。實(shí)現(xiàn)CPU在正常運(yùn)行時(shí)任務(wù)間的切換,完成對當(dāng)前任務(wù)堆棧的保存和對最高優(yōu)先級任務(wù)堆棧的彈出,使最高優(yōu)先級的任務(wù)得到運(yùn)行。

③OSIntCtxSw():中斷級的任務(wù)切換函數(shù)。在中斷服務(wù)程序執(zhí)行完后,如果中斷使得更高優(yōu)先級的任務(wù)處于就緒狀態(tài),則該函數(shù)實(shí)現(xiàn)對任務(wù)的切換:保存中斷發(fā)生之前的那個任務(wù)的執(zhí)行現(xiàn)場.恢復(fù)已處于就緒態(tài)的那個更高優(yōu)先級任務(wù)的執(zhí)行現(xiàn)場,使優(yōu)先級更高的那個任務(wù)得以運(yùn)行,從而完成對任務(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)先級的任務(wù)運(yùn)行。

4 測試移植代碼

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

5 結(jié)束語

μC/OS-II是一種可配置、可裁剪的嵌入式實(shí)時(shí)操作系統(tǒng),現(xiàn)已被廣泛的移植應(yīng)用到多種處理器當(dāng)中。這里成功地將μC/OS-Ⅱ移植到了ARM系列單片機(jī)S3C44B0x中,經(jīng)測試,移植好的μC/OS-Ⅱ代碼能正常的在S3C44B0x處理器中穩(wěn)定運(yùn)行。
本文地址:http://m.qingdxww.cn/thread-31923-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)在線工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 九九热在线观看视频 | 欧美日韩在线精品一区二区三区 | www.日本在线视频 | 大伊香蕉精品二区视频在线 | 日韩欧美在线免费观看 | 日日爱网站 | h视频在线观看免费网站 | 9984四虎永久免费网站 | 欧美3p大片在线观看完整版 | 精品久久久久久综合网 | 狠狠色丁香婷婷综合小时婷婷 | 国内毛片视频 | a一级日本特黄aaa大片 | 亚洲欧美在线综合一区二区三区 | 四虎影视永久免费观看 | 国产91系列| 日韩欧美一区二区三区不卡在线 | 欧美亚洲动漫 | 非洲精品性hd | 女人18毛片水真多国产 | 四虎最新网址入口 | 在线五月天 | 国产毛片久久国产 | 日韩欧美不卡一区二区三区 | 亚洲欧美日韩高清一区二区一 | 亚洲第一网址 | 国产夫妻精品 | 国产日本欧美在线观看乱码 | 91在线播| 七月婷婷精品视频在线观看 | 67194国产精品 | 女人18毛片a级毛片一区二区 | 日韩欧美高清 | 手机看片日韩日韩国产在线看 | 男女视频在线观看网站 | 91天堂国产在线 在线播放 | 日韩欧美小视频 | 青青青国产色视频在线观看 | 亚洲人成依人成综合网 | 麻豆短视频app网站 麻豆短视频 | 草逼com|