女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在S3C44B0x微處理器上實現(xiàn)μC/OS-Ⅱ的運行操作

電子設(shè)計 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-03-30 08:18 ? 次閱讀

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

嵌入式系統(tǒng)是根據(jù)IEEE(電氣電子工程師協(xié)會)的定義,嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助裝置、機器和設(shè)備運行的裝置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。從中可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。目前國內(nèi)一個普遍被認同的定義是:以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機系統(tǒng)。

μC/OS-Ⅱ是一種簡單高效、源代碼公開的嵌入式實時操作系統(tǒng),具有良好的可擴展性和可移植性,被廣泛的應(yīng)用到各種嵌人式處理器上。μCOS-Ⅱ操作系統(tǒng)擁有可固化,可裁剪,可剝奪性的實時內(nèi)核,可同時管理64個系統(tǒng)任務(wù)。

1、 μCOS-Ⅱ概述

μCOS-Ⅱ從8位到64位,μCOS-Ⅱ已在超過40種不同架構(gòu)的微處理器上運行。μCOS-Ⅱ是專門為嵌入式應(yīng)用而設(shè)計的,它包含了任務(wù)調(diào)度,任務(wù)管理,時間管理,內(nèi)存管理和任務(wù)問的通信和同步等基本功能。μCOS-Ⅱ擁有一個可移植、可固化、可裁剪的實時內(nèi)核,它具有執(zhí)行效率高,占用空間小,實時性能優(yōu)良和可擴展性強等特點,被廣泛地移植應(yīng)用到各種嵌入式微處理器中。

2、 S3C44B0處理器概述

S3C44B0x微處理器采用高性能、低功耗的32位RISC內(nèi)核ARM7TDMI。 同時,S3C44B0x在ARM7TDMI核的基礎(chǔ)上,擴展了一系列的外圍器件,使系統(tǒng)成本及外圍器件數(shù)目降低至最低,這些功能部件分為CPU單元,系統(tǒng)時鐘管理單元,存儲單元和系統(tǒng)功能接口單元,片上集成的主要功能如下:

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

對于我們采用的S3C44B0微處理器來說,在系統(tǒng)加電之后,指令指針是指向0x00000000的,也就是說系統(tǒng)是從0x00000000開始之行。正是因為這個原因,通常這個地址空間我們會安排給FLASH存儲器。這樣我們可以將BootLoader啟動代碼以及我們之后將會要啟動的uClinux操作系統(tǒng)映像燒寫到Flash里。對于RAM地址空間,S3C44B0芯片將其設(shè)定為從0x0C000000到0x0FFFFFFF一共64MB的范圍里。我們可以通過設(shè)定存儲器控制寄存器來重新設(shè)定RAM的大小。

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

3.1 移植μCOS-Ⅱ的條件

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

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

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

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

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

3.2 搭建移植環(huán)境

本次移植在如下的環(huán)境中完成:

編譯工具采用ARM公司的ADS 1.2。ADS全稱為ARM Developer Suite,是ARM公司推出的新一代ARM集成開發(fā)工具。ADS 1.2由命令行開發(fā)工具,ARM實時庫,GUI開發(fā)環(huán)境,實用程序和支持軟件組成。有了這些部件,用戶就可以非常方便地為ARM系列的處理器編寫和調(diào)試自己的應(yīng)用程序了。

3.3 μCOS-Ⅱ的移植

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

在S3C44B0x微處理器上實現(xiàn)μC/OS-Ⅱ的運行操作

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

(1)移植OS_CPU.H文件

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

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

在S3C44B0x微處理器上實現(xiàn)μC/OS-Ⅱ的運行操作

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

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

在S3C44B0x微處理器上實現(xiàn)μC/OS-Ⅱ的運行操作

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

在S3C44B0x微處理器上實現(xiàn)μC/OS-Ⅱ的運行操作

(3)移植OS_CPU_A.ASM文件

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

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

在S3C44B0x微處理器上實現(xiàn)μC/OS-Ⅱ的運行操作

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

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

④OSTickISR():是系統(tǒng)時鐘的中斷服務(wù)函數(shù)。該函數(shù)的主要功能是檢查是否有由于延時而被掛起的任務(wù)轉(zhuǎn)為就緒態(tài)。如果有,則調(diào)用OSIntCtxSw()函數(shù)進行任務(wù)切換,使已處于就緒態(tài)的且具有最高優(yōu)先級的任務(wù)運行。

4、 測試移植代碼

為S3C44B0x移植好μC/OS-Ⅱ后,緊接著的工作就是驗證移植好的μC/OS-II是否能正常工作。通過四個步驟來完成對移植代碼的測試:確保C編譯器、匯編編譯器及鏈接器正常工作;驗證OSTaskStkInit()和OSStartHighRdy()函數(shù);驗證OSCtxSw()函數(shù);驗證OSIntCtxSw()和OSTick-ISR()函數(shù)。

驗證OSCtxSw函數(shù),在已經(jīng)知道OSTaskStkInit函數(shù)正確后,就可以在程序中加入一個任務(wù),并不斷的切換到空閑任務(wù)。這里是使用的軟件中斷swi來調(diào)用OSCtxSw函數(shù)的。

5、 結(jié)束語

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

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5141

    文章

    19524

    瀏覽量

    314797
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7077

    瀏覽量

    124937
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2370

    瀏覽量

    83841
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    基于S3C44B0X微處理器實現(xiàn)運動系統(tǒng)電流信號采集電路的設(shè)計

    本文首先以三星公司的S3C44B0X微處理器為核心芯片,設(shè)計電流信號采集電路,然后介紹了非線性能量故障診斷算法。最后以X-Y運動平臺為實驗對象,驗證該算法的有效性。
    的頭像 發(fā)表于 03-24 16:23 ?6756次閱讀
    基于<b class='flag-5'>S3C44B0X</b><b class='flag-5'>微處理器</b><b class='flag-5'>實現(xiàn)</b>運動系統(tǒng)電流信號采集電路的設(shè)計

    S3C44B0X pdf

    S3C44B0X p
    發(fā)表于 06-27 09:37 ?76次下載

    s3c44b0x中文資料,s3c44b0x中文數(shù)據(jù)手冊

    S3C44B0X 中文數(shù)據(jù)手冊...........................................................116 IIC 總線接口
    發(fā)表于 06-27 09:40 ?152次下載

    基于S3C44B0X微處理器的JFFS2件系統(tǒng)的實現(xiàn)

    基于S3C44B0X微處理器的JFFS2件系統(tǒng)的實現(xiàn)
    發(fā)表于 03-28 09:50 ?16次下載

    μC OS-II S3C44B0X 處理器的移植

    介紹實時操作系統(tǒng)μC/OS-II 的特點和內(nèi)核結(jié)構(gòu),給出μC/OS-II Samsung 嵌入
    發(fā)表于 05-15 13:34 ?18次下載

    基于S3C44B0X 的uClinux的移植

    S3C44B0X 作為一款以ARM7TDMI 為內(nèi)核的微處理器,正日益受到廣泛的應(yīng)用;uClinux作為一種運行于沒有MMU 的嵌入式微處理器的Linux 衍生
    發(fā)表于 05-15 15:40 ?14次下載

    基于S3C44B0X的嵌入式網(wǎng)絡(luò)通信研究

    S3C44B0X 作為一款以ARM7TDMI 為內(nèi)核的微處理器,得到了廣泛的應(yīng)用。本文采用該處理器,使用到廣泛應(yīng)用的源代碼公開的uClinux 操作系統(tǒng),
    發(fā)表于 06-15 15:44 ?18次下載

    μC/OS-S3C44B0X的移植

    本文簡介了一種實時多任務(wù)內(nèi)核μC/OS-Ⅱ。并根據(jù)S3C44B0X 芯片的硬件特性,給出了一種把μC/OS-Ⅱ移植到
    發(fā)表于 08-31 11:46 ?18次下載

    基于S3C44B0X的UC/GUI的移植研究

    本文通過高性能微處理器ARM運行uc/GUI以實現(xiàn)友好的圖形界面,研究了uc/GUI基于A
    發(fā)表于 09-02 11:33 ?21次下載

    基于S3C44B0X處理器的VxWorks中斷設(shè)計

    通過基于立宇泰S3C44B0X 開發(fā)板的BSP 移植調(diào)試,闡述了VxWorks 的異常中斷處理機制,實現(xiàn)了VxWorks 基于S3C44B0X 處理
    發(fā)表于 09-03 11:25 ?17次下載

    S3C44B0X中文手冊 pdf

    S3C44B0X中文數(shù)據(jù) 三星的S3C44B0X 16/32位RISC處理器被設(shè)計來為手持設(shè)
    發(fā)表于 02-10 12:07 ?254次下載

    基于S3C44B0X和μC/OS-Ⅱ智能家居嵌入式系統(tǒng)設(shè)計

    基于S3C44B0X和μC/OS-Ⅱ智能家居嵌入式系統(tǒng)設(shè)計   隨著社會經(jīng)濟的飛速發(fā)展及計算機控制技術(shù)等科技的進步,人們對自身的生活和工作環(huán)境有了更高的要求,由此對家
    發(fā)表于 02-26 12:26 ?752次閱讀
    基于<b class='flag-5'>S3C44B0X</b>和μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-</b>Ⅱ智能家居嵌入式系統(tǒng)設(shè)計

    微處理器S3C44B0X音頻文件播放

    微處理器S3C44B0X音頻文件播放 S3C44B0X是三星公司針對嵌入式系統(tǒng)推出高性價比微處理器,它是基于ARM7TDMI內(nèi)核的16/32位RISC
    發(fā)表于 03-16 11:46 ?828次閱讀
    <b class='flag-5'>微處理器</b><b class='flag-5'>S3C44B0X</b>音頻文件播放

    S3C44B0X微處理器內(nèi)置LCD控制

      引言   S3C44B0X微處理器是三星公司專為手持設(shè)備和一般應(yīng)用提供的高性價比和高性能的微控制解決方案。它使用ARM7TDMI核,工作66MHz,集成了LCD控制
    發(fā)表于 08-30 10:18 ?1793次閱讀
    <b class='flag-5'>S3C44B0X</b><b class='flag-5'>微處理器</b>內(nèi)置LCD控制<b class='flag-5'>器</b>

    S3C44B0X原理圖

    S3C44B0X原理圖:
    發(fā)表于 09-14 15:28 ?167次下載
    <b class='flag-5'>S3C44B0X</b>原理圖