摘要:介紹實(shí)時(shí)操作系統(tǒng)μC/OS-II的特點(diǎn)和內(nèi)核結(jié)構(gòu),給出μC/OS-II在Samsung
嵌入式S3C44BOX
ARM7
微處理器上的移植的步驟及詳細(xì)相關(guān)代碼,同時(shí)闡述μC/OS-II在應(yīng)用中應(yīng)注意的問(wèn)題。
μC/OS-II功能強(qiáng)大,支持56個(gè)用戶任務(wù),其內(nèi)核為占先式,支持信號(hào)量、郵箱、消息隊(duì)列等多種常用的進(jìn)程間通信機(jī)制,現(xiàn)已成功應(yīng)用到眾多商業(yè)嵌入式系統(tǒng)中,是一個(gè)成熟穩(wěn)定的實(shí)時(shí)內(nèi)核。與大多商用RTOS不同的是,μC/OS-II公開(kāi)所有的源代碼,90%的代碼使用標(biāo)準(zhǔn)的ANSI C語(yǔ)言書(shū)寫,程序可讀性強(qiáng)、移植性好;同時(shí)它可免費(fèi)獲得,即使商業(yè)應(yīng)用也只收取少量的許可費(fèi)用。因此,對(duì)μC/OS-II實(shí)時(shí)操作系統(tǒng)的學(xué)習(xí)研究、開(kāi)發(fā)、應(yīng)用具有重要意義。
Samsung S3C44B0X微處理器是三星公司專為手持設(shè)備和其它嵌入式應(yīng)用提供的高性價(jià)比的微控制器解決方案。它使用ARM公司的16位/32位RISC結(jié)構(gòu),內(nèi)核是ARM7TDMI,工作在66MHz,片上集成了以下部件:8K Cache、外部存儲(chǔ)器控制器、LCD控制器、4個(gè)DMA通道、2個(gè)UART、1個(gè)多主I2C總線控制器、1個(gè)I2C總線控制器,以及5通道PWM定時(shí)器和1個(gè)內(nèi)部定時(shí)器、8通道12位ADC等,能夠與常用的外圍設(shè)備實(shí)現(xiàn)無(wú)縫連接,功能強(qiáng)大。目前,國(guó)內(nèi)應(yīng)用較為廣泛。

1 μC/OS-II實(shí)時(shí)操作系統(tǒng)結(jié)構(gòu)
圖1說(shuō)明了μC/OS-II的軟硬件體系結(jié)構(gòu)。應(yīng)用程序處于整個(gè)系統(tǒng)的頂層,每個(gè)任務(wù)都可以認(rèn)為自已獨(dú)占了CPU,因而可以設(shè)計(jì)成為一個(gè)無(wú)限循環(huán)。μC/OS-II處理器無(wú)關(guān)的代碼提供了μC/OS-II的系統(tǒng)服務(wù),應(yīng)用程序可以使用這些API函數(shù)進(jìn)行內(nèi)存管理、任務(wù)間通信及創(chuàng)建、刪除任務(wù)等。
大部分的μC/OS-II代碼是使用ANSI C語(yǔ)言書(shū)寫的,因此μC/OS-II的可移植性好,然而仍需要使用C和匯編語(yǔ)言寫一些處理器相關(guān)代碼。μC/OS-II的移植需要滿足以下要求:
①處理器的C編譯器可以產(chǎn)生可重入代碼;
②可以使用C調(diào)用進(jìn)入和退出臨界區(qū)代碼;
③處理器必須支持硬件中斷,并且需要一個(gè)定時(shí)中斷源;
④ 處理器需要能夠容納一定數(shù)據(jù)的硬件堆棧;
⑤處理器需要有能夠在CPU寄存器與內(nèi)核和堆棧交換數(shù)據(jù)的指令。
S3C44B0X處理器完全滿足上述要求。
2 實(shí)時(shí)內(nèi)核μC/OS-II在S3C44B0X上的移植
我們使用ARM SDT編譯器,移植μC/OS-II主要包括以下幾個(gè)步驟。
(1)設(shè)置OS_CPU.H中與處理器和編譯器相關(guān)的代碼
*************************************************
與編譯器相關(guān)的數(shù)據(jù)類型
*************************************************
typedef unsigned char BOOLEAN;
typedef unsigned char INT8U; /*8位無(wú)符號(hào)整數(shù)*/
typedef signed char INT8S; /*8位有符號(hào)整數(shù)*/
typedef unsigned short INT16U; /*16位有符號(hào)整數(shù)*/
typedef signed short INT16S; /*16位無(wú)符號(hào)整數(shù)*/
typedef unsigned long INT32U; /*32位無(wú)符號(hào)整數(shù)*/
typedef signed long INT32S; /*32位有符號(hào)整數(shù)*/
typedef float FP32; /*單精度浮點(diǎn)數(shù)*/
typedef double FP64; /*雙精度浮點(diǎn)數(shù)*/
typedef unsigned int OS_STK;/*堆棧入口寬度為16位*/與ARM處理器相關(guān)的代碼:
#define OS_ENTER_CRITICAL () ARMEnableInt() /*開(kāi)啟中斷*/
#define OS_STK_GROWTH 1 /*堆棧由高地址向低地址增長(zhǎng)*/
(2)用C語(yǔ)言編寫6個(gè)操作系統(tǒng)相關(guān)的函數(shù)(OS_CPU_C.C)
void OSTaskStkInit(void(task)(void *pd),void *pdata,void *ptos,INT16U opt)
{ unsigned int *stk;
opt =opt; /*因“opt”變量沒(méi)有用到,防止編譯器產(chǎn)生警告*/
stk =(unsigned int *)ptos; /*裝載堆棧指針*/
/*為新任務(wù)創(chuàng)建上下文*/
*--stk=(unsigned int)task; /*lr*/
*--stk=(unsigned int)task /*pc*/
*--stk=0; /*r12*/
*--stk=0; /*r11*/
*--stk=0; /*r10*/
*--stk=0; /*r9*/
*--stk=0; /*r8*/
*--stk=0; /*r7*/
*--stk=0; /*r6*/
*--stk=0; /*r5*/
*--stk=0; /*r4*/
*--stk=0; /*r3*/
*--stk=0; /*r2*/
*--stk=0; /*r1*/
*--stk=(unsigned int)pdata; /*r0*/
*--stk=(SVC32MODE|0x0|); /*cpsr IRQ,
*--stk=(SVC32MODE|0x0); /*spsr IRQ,關(guān)閉FIQ*/
return((void*)stk);
}
后5個(gè)函數(shù)是鉤子函數(shù),可以不加代碼:
void OSTaskCreateHook(OS_TCB *ptcb)
void OSTaksDelHool (OS_TCB *ptcb)
void OSTaskSwHook(void)
void OSTaskStatHook(void)
(3)用匯編語(yǔ)言編寫4個(gè)與處理器相關(guān)的函數(shù)(OS_CPU.ASM)
OSStartHighRdy() ;運(yùn)行優(yōu)先級(jí)最高的就緒任務(wù)
LDR r4,addr_OSTCBCur ;得到當(dāng)前任務(wù)的TCB地址
LDR r5,addr_OSTCBHighRdy ;得到高優(yōu)先級(jí)任務(wù)的TCB地址
LDR r5,addr_OSTCBHighRdy ;得到高優(yōu)先級(jí)任務(wù)的TCB地址
LDR r5,[r5] ;得到堆棧指針
LDR sp,[r5] ;切換到新的堆棧
STR r5,[r4] ;設(shè)置新的當(dāng)前任務(wù)的TCB地址
LDMFD sp!,{r4}
MSR CPSR_cxsf,r4
LDMFD sp!,{r0-r12,lr,pc} ;開(kāi)始新的任務(wù)
END
OSCtxsw() 任務(wù)級(jí)的任務(wù)切換函數(shù)
STMFD sp!,{lr} ;保存PC指針
STMFD sp!,{lr} ;保存lr指針
STMFD sp!,{r0-r12} ;保存寄存器文件和返回地址
MRS r4,CPSR
STMFD sp!,{r4} ;保存當(dāng)前PSR
MRS r4,SPSR
STMFD sp!,{r4}
;OSPrioCur=OSPrioHighRdy
LDR r4,addr_OSPrioCur
LDR r5,addr_OSPrioHighRdy
LDRB r6,[r5]
STRB r6,[r4]
;得到當(dāng)前任務(wù)的TCB地址
LDR r4,addr_OSTCBCur
LDR r5,[r4]
STR sp,[r5] ;保存棧指針在占先任務(wù)的TCB上
;取得高優(yōu)先級(jí)任務(wù)的TCB地址
LDR r6,addr_OSTCBHighRdy
LDR r6,[r6]
LDR sp,[r6] ;得到新任務(wù)的堆棧指針
;OSTCBCur=OSTCBHighRdy
STR r6,[r4]
;得到當(dāng)前新任務(wù)的TCB地址
LDMFD sp!,{r4}
MSR SPSR_cxsf,r4
LDMFD sp!,{r4}
MSR SPSR_cxsf,r4
LDMFD sp!,{r0-r12,lr pc}
OSIntCtxSw() ;中斷級(jí)的任務(wù)切換函數(shù)
LDMIA sp!,{al-vl,lr}
SUBS pc,lr,#4
SUB lr,lr,#4
MOV r12,lr
MRS lr,SPSR
AND lr,lr,#0XFFFFFE0
ORR lr,lr,#0XD3
MSR CPSR_CXSF,lr
OSTickISR() ;中斷服務(wù)函數(shù)
STMDB sp!,{r0-r11,lr}
MRS r0,CPSR
ORR r0,r0,#0x80; ;設(shè)置中斷禁止標(biāo)志
MSR CPSR_cxsf,r0 ;中斷結(jié)束
LDR r0,I_ISPC
LDR r1,=BIT_TIMER0
STR r1,{r0}
BL IrqStart
BL osTimeTick
BL IrqFinish
LDR r0,=need_to_swap_context
LDR R2,[R0]
CMP r2,#1
LDREQ pc,=_CON_SW
完成上述工作后,μC/OS-II就可以運(yùn)行在ARM處理器上了。
3 使用μC/OS-II系統(tǒng)應(yīng)注意的問(wèn)題
①μC/OS-II和Linux等分時(shí)操作系統(tǒng)不同,不支持時(shí)間片輪轉(zhuǎn)法。它是一個(gè)基于優(yōu)先級(jí)的實(shí)時(shí)操作系統(tǒng)。每一個(gè)任務(wù)的優(yōu)先級(jí)必須不同(分析它的源碼會(huì)發(fā)現(xiàn),μC/OS-II把任務(wù)的優(yōu)先級(jí)當(dāng)作任務(wù)在標(biāo)識(shí)來(lái)使用,如果優(yōu)先級(jí)相同,任務(wù)將無(wú)法區(qū)分)。進(jìn)入就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)首先得到CPU的使用權(quán),只有等它交出CPU的使用權(quán)后,其它任務(wù)才可以被執(zhí)行。所以,它只能就是多任務(wù),不能就是多進(jìn)程,至少不是我們所熟悉的那種多進(jìn)程。
②μC/OS-II對(duì)共享資源提供了保護(hù)的機(jī)制。μC/OS-II是一個(gè)支持多任務(wù)的操作系統(tǒng)。我們可以把一個(gè)完整的程序劃分成幾個(gè)任務(wù),不同的任務(wù)執(zhí)行不同的功能。對(duì)于共享資源(比如串口),μC/OS-II也提供了很好的解決辦法,一般情況下使用的是信號(hào)量方法。我們創(chuàng)建一個(gè)信號(hào)量并對(duì)它進(jìn)行初始化,當(dāng)一個(gè)任務(wù)需要使用一個(gè)共享資源時(shí),它必須先申請(qǐng)得到這個(gè)信號(hào)量。在這個(gè)過(guò)程中即使有優(yōu)先權(quán)更高的任務(wù)進(jìn)入了就緒態(tài),因?yàn)闊o(wú)法得到信號(hào)量,也不能使用該資源。在μC/OS-II中稱為優(yōu)先級(jí)反轉(zhuǎn)。簡(jiǎn)單地說(shuō),就是高優(yōu)先級(jí)任務(wù)必須等待低優(yōu)先級(jí)任務(wù)的完成。在上述情況下,在兩個(gè)任務(wù)之間發(fā)生優(yōu)先級(jí)后轉(zhuǎn)是無(wú)法避免的。所以不在使用μC/OS-II時(shí),必須對(duì)所開(kāi)發(fā)的系統(tǒng)了解清楚才能選擇對(duì)于某種共享資源是否使用信號(hào)量。
③μC/OS-II內(nèi)存管理不夠完善。在分析許多μC/OS-II的應(yīng)用實(shí)例中發(fā)現(xiàn),任務(wù)棧空間和內(nèi)存分區(qū)的創(chuàng)建采用了定義全局?jǐn)?shù)組的方法,這樣實(shí)現(xiàn)起來(lái)固然簡(jiǎn)單,但不夠靈活有效。
編譯器會(huì)將全局?jǐn)?shù)組作為未初始化的全局變量,放到應(yīng)用程序映像的數(shù)據(jù)段。數(shù)組的大小是固定的,生成映像后不可能在使用中動(dòng)態(tài)地改變。對(duì)于任務(wù)??臻g來(lái)說(shuō),數(shù)組定義大了會(huì)造成內(nèi)存浪費(fèi);定義小了任務(wù)棧溢出,會(huì)造成系統(tǒng)崩潰。對(duì)于內(nèi)存分區(qū),在不知道系統(tǒng)初始化后給用戶留下了多少自由內(nèi)存空間的情況下,很難定義內(nèi)存分區(qū)所使用數(shù)組的大小。此外,現(xiàn)在μC/OS-II只支持固定大小的內(nèi)存分區(qū),容易造成內(nèi)存浪費(fèi)。μC/OS-II將來(lái)應(yīng)該被改進(jìn)以支持可變大小的內(nèi)存分區(qū)。因此,系統(tǒng)初始化后能清楚地掌握自由內(nèi)存空間的情況是很重要的。所以,應(yīng)避免使用全局?jǐn)?shù)組分配內(nèi)存空間,關(guān)鍵是要知道整個(gè)應(yīng)用程序在編譯、鏈接后代碼段和數(shù)據(jù)段的大小,在目標(biāo)板內(nèi)存中是如何定位,以及目標(biāo)板內(nèi)存的大小。
總之,隨著各種智能嵌入式系統(tǒng)的復(fù)雜化和系統(tǒng)實(shí)時(shí)性需求的提高,伴隨應(yīng)用軟件朝著系統(tǒng)化發(fā)展的加速,功能強(qiáng)大的實(shí)時(shí)操作系統(tǒng)μC/OS-II將會(huì)有更大的發(fā)展。
-
S3C44BOX(11489)
S3C44BOX(11489)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
相關(guān)推薦
μC/OS-II是一種代碼公開(kāi)、可裁剪的嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)。該內(nèi)核通過(guò)實(shí)現(xiàn)搶占式任務(wù)調(diào)度算法和多任務(wù)間通信等功能,使之具有執(zhí)行效率高、實(shí)時(shí)性能優(yōu)良等特點(diǎn)。另外,其占用空間非常小(最小可裁剪至2KB)并且具有高度可移植性,因此被廣泛的應(yīng)用于微處理器和微控制器上。
2013-05-27 10:36:25
3690 
S3C44B0x移植源代碼UCOS_II.C,INCLUDES.H,OS_CFG.H,OS_CPU.H,OS_CPU_A.S,OS_CPU_C.C,OS_TASK.C,UCOS_II.H.
2008-07-07 09:36:53
S3C44BOX開(kāi)發(fā)板上的設(shè)備是通過(guò)何種方式控制的?
2023-05-09 16:01:36
1、ucos-II在GD32F310開(kāi)發(fā)板上的移植介紹μC/OS-II由Micrium公司提供,是一個(gè)可移植、可固化的、可裁剪的、占先式多任務(wù)實(shí)時(shí)內(nèi)核,它適用于多種微處理器,微控制器和數(shù)字處理芯片
2022-08-22 16:26:44
在stm32f103zet6中已經(jīng)成功移植過(guò)了uC/OS-II 3.03 和uCGUI,在加入SDIO中斷后系統(tǒng)不能運(yùn)行,指示三個(gè)任務(wù)的流水燈最后只亮了一個(gè),SDIO中斷按如下寫的:[C] 純文本
2019-04-25 06:35:58
的,搶占式的,實(shí)時(shí)多任務(wù)操作系統(tǒng)內(nèi)核。它被廣泛應(yīng)用于微處理器、微控制器和數(shù)字信號(hào)處理器。包含了任務(wù)調(diào)度,任務(wù)管理,時(shí)間管理,內(nèi)存管理和任務(wù)間的通信和同步等基本功能。μC/OS-II可移植到幾乎所有
2013-10-22 12:52:56
怎么去移植uC/OS-II系統(tǒng)呢?移植uC/OS-II系統(tǒng)的過(guò)程是怎樣的?
2021-11-01 07:38:54
和可靠性,除此以外,μC/OS-II的鮮明特點(diǎn)就是源碼公開(kāi),便于移植和維護(hù)。 在μC/OS-II官方的主頁(yè)上可以查找到一個(gè)比較全面的移植范例列表。但是,在實(shí)際的開(kāi)發(fā)項(xiàng)目中,仍然沒(méi)有針對(duì)項(xiàng)目所采用芯片或開(kāi)發(fā)工具的合適版本。那么,不妨自己根據(jù)需要進(jìn)行移植。
2019-07-17 07:07:48
《嵌入式系統(tǒng)編程》雜志的5 月和6 月刊上刊登的文章連載,并把μC/OS 的源碼發(fā)布在該雜志的B B S 上。μC/OS 和μC/OS-II 是專門為計(jì)算機(jī)的嵌入式應(yīng)用設(shè)計(jì)的, 絕大部分代碼是用C語(yǔ)言
2017-10-08 09:11:55
《嵌入式系統(tǒng)編程》雜志的5 月和6 月刊上刊登的文章連載,并把μC/OS 的源碼發(fā)布在該雜志的B B S 上。μC/OS 和μC/OS-II 是專門為計(jì)算機(jī)的嵌入式應(yīng)用設(shè)計(jì)的, 絕大部分代碼是用C語(yǔ)言
2017-10-11 09:26:14
《嵌入式系統(tǒng)編程》雜志的5 月和6 月刊上刊登的文章連載,并把μC/OS 的源碼發(fā)布在該雜志的B B S 上。μC/OS 和μC/OS-II 是專門為計(jì)算機(jī)的嵌入式應(yīng)用設(shè)計(jì)的, 絕大部分代碼是用C語(yǔ)言
2017-10-15 11:03:39
《嵌入式系統(tǒng)編程》雜志的5 月和6 月刊上刊登的文章連載,并把μC/OS 的源碼發(fā)布在該雜志的B B S 上。μC/OS 和μC/OS-II 是專門為計(jì)算機(jī)的嵌入式應(yīng)用設(shè)計(jì)的, 絕大部分代碼是用C語(yǔ)言
2017-10-20 09:35:49
《嵌入式系統(tǒng)編程》雜志的5 月和6 月刊上刊登的文章連載,并把μC/OS 的源碼發(fā)布在該雜志的B B S 上。μC/OS 和μC/OS-II 是專門為計(jì)算機(jī)的嵌入式應(yīng)用設(shè)計(jì)的, 絕大部分代碼是用C語(yǔ)言
2017-10-25 09:59:21
《嵌入式系統(tǒng)編程》雜志的5 月和6 月刊上刊登的文章連載,并把μC/OS 的源碼發(fā)布在該雜志的B B S 上。μC/OS 和μC/OS-II 是專門為計(jì)算機(jī)的嵌入式應(yīng)用設(shè)計(jì)的, 絕大部分代碼是用C語(yǔ)言
2017-10-27 09:29:18
μC/OS-II在C8051F上的移植怎么進(jìn)行?
2021-04-28 06:38:40
μC/OS-II是什么?μC/OS-II內(nèi)核結(jié)構(gòu)是由哪些組成的?什么是P89V51RD2微處理器?μC/OS-II在P89V51RD2上是怎樣實(shí)現(xiàn)移植的?
2021-04-27 06:18:05
相對(duì)較高,可移植性差。鑒于上述原因,本文將采用嵌入式實(shí)時(shí)操作系統(tǒng) μC/OS-II,μC/OS-II嵌入式操作系統(tǒng)是由美國(guó)人 Jean J.Labrosse先生編寫的,并在 2000年 7月在美國(guó)一個(gè)航空項(xiàng)目
2019-07-23 07:53:13
其中嵌入μC/OS-II的話,在只需要使用任務(wù)調(diào)度、任務(wù)切換、信號(hào)量處理、延時(shí)或超時(shí)服務(wù)的情況下,也不需要外擴(kuò)ROM了,但是外擴(kuò)RAM是必須的。由于μC/OS-II是可裁減的操作系統(tǒng),其所需要的RAM
2011-07-15 14:51:32
μC/OS-II包括哪些基本功能?μC/OS-II下通用驅(qū)動(dòng)框架包括哪些部分?μC/OS-II下通用驅(qū)動(dòng)框架如何去實(shí)現(xiàn)?
2021-04-27 06:24:53
嵌入式系統(tǒng)由哪幾部分組成?嵌入式系統(tǒng)的特點(diǎn)是什么?μC/OS-II具有哪些特點(diǎn)應(yīng)用?
2021-12-27 06:51:41
系統(tǒng)將來(lái)可擴(kuò)展圖像采集功能和復(fù)雜的人機(jī)界面等因素,在S3C44B0X 上移植了μC/OS-II操作系統(tǒng)。μC/OS-II 是目前流行的免費(fèi)公開(kāi)源代碼的實(shí)時(shí)操作系統(tǒng)。它不僅具有結(jié)構(gòu)小巧、可固化、可裁剪
2011-08-03 11:25:13
μC/OS-II操作系統(tǒng)在3種處理器上的移植,你會(huì)哪一種μC/OS-II操作系統(tǒng)是一種搶占式多任務(wù)、單內(nèi)存空間、微小內(nèi)核的嵌入式操作系統(tǒng),具有高效緊湊的特點(diǎn)。它執(zhí)行效率高,占用空間小,可移植性強(qiáng)
2017-08-10 10:59:41
μC/OS-II操作系統(tǒng)移植條件是什么?μC/OS-II操作系統(tǒng)在各種處理器上的移植過(guò)程
2021-04-19 10:47:21
μC/OS-II的原理是什么?如何去改進(jìn)μC/OS-II的調(diào)度算法?μC/OS-II有哪些應(yīng)用?
2021-04-26 07:17:25
概述嵌入式操作系統(tǒng)μC/OS-II是一個(gè)公開(kāi)源代碼的占先式多任務(wù)的微內(nèi)核RTOS,其特點(diǎn)可以概括為以下幾個(gè)方面:公開(kāi)源代碼,代碼結(jié)構(gòu)清晰、明了,注釋詳盡,組織有條理,可移植性好,可裁剪,可固化。內(nèi)核
2019-07-25 08:14:34
μC/OS-II是一個(gè)完整的、可移植、可裁減的占先式實(shí)時(shí)多任務(wù)內(nèi)核。本文主要討論了μC/OS-II環(huán)境下中斷按鍵消抖處理及LCD多級(jí)菜單顯示的實(shí)現(xiàn)問(wèn)題,并通過(guò)一款產(chǎn)品的實(shí)例設(shè)計(jì)闡述了中斷按鍵的處理流程以及多級(jí)菜單顯示的程序框架。
2020-03-23 08:13:50
/OS-II要求在中斷服務(wù)程序末尾使用OSINTEXIT函數(shù)以判斷是否進(jìn)行任務(wù)切換,這需要花費(fèi)一定的時(shí)間。3.μC/OS-II和大家所熟知的Linux等分時(shí)操作系統(tǒng)不同,它不支持時(shí)間片輪轉(zhuǎn)法。μC/OS-II
2011-07-15 14:51:01
μC/OS-II有哪些特點(diǎn)?μC/OS-II在單片機(jī)中有哪些應(yīng)用?
2021-04-23 06:54:09
;portable;LPC2106vC/OS—II是一個(gè)完整的、可移植、可裁剪、可固化、可靠性高、原碼公開(kāi)的占先式實(shí)時(shí)多任務(wù)操作系統(tǒng),已被應(yīng)用到多種微處理器上,vC/OS-II是用ANSI的C語(yǔ)言編寫
2009-03-28 13:32:01
μC/OS-II是可移植、適用于對(duì)安全性要求苛刻的剝奪型實(shí)時(shí)多任務(wù)嵌入式系統(tǒng),簡(jiǎn)單易學(xué),在工程應(yīng)用和嵌入式系統(tǒng)教學(xué)中很受歡迎。LPC213X是Philips公司推出的基于ARM7TDMI-S核的32位RISC微處理器,也適合于ARM學(xué)習(xí)開(kāi)發(fā)平臺(tái)和工程應(yīng)用。
2019-09-04 06:17:35
仍需使用匯編語(yǔ)言來(lái)完成一些和處理器相關(guān)的操作,例如讀寫處理器、寄存器時(shí)只能使用匯編語(yǔ)言來(lái)實(shí)現(xiàn)。因此,將μC/OS-II操作系統(tǒng)移植到目標(biāo)處理器上,需要從硬件和軟件兩方面來(lái)考慮。 硬件方面,目標(biāo)處理器需
2017-08-14 09:46:10
μC/OS-II操作系統(tǒng)是一種搶占式多任務(wù)、單內(nèi)存空間、微小內(nèi)核的嵌入式操作系統(tǒng),具有高效緊湊的特點(diǎn)。它執(zhí)行效率高,占用空間小,可移植性強(qiáng),實(shí)時(shí)性能良好且可擴(kuò)展性強(qiáng)。采用μC/OS-II實(shí)時(shí)操作系統(tǒng)
2019-10-14 07:31:48
《Cortex-M3 + μC/OS-II嵌入式系統(tǒng)開(kāi)發(fā)入門與應(yīng)用》作 者:陳瑤,李佳,宋寶華 編著 內(nèi)容簡(jiǎn)介本書(shū)首先講解了Cortex-M3處理器的架構(gòu)及RealView MDK開(kāi)發(fā)平臺(tái)的相關(guān)
2014-03-13 11:02:28
/OS-II與嵌入式圖形系統(tǒng)~C/GUI的設(shè)計(jì)與應(yīng)用。本書(shū)主要以ARM Cortex-M3內(nèi)核的STM32F103處理器、嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II及嵌入式圖形系統(tǒng)μC/OS-II作為講述對(duì)象。 全書(shū)共
2014-03-13 10:26:18
的應(yīng)用。在 μC/OS-II 2.83 及其以后的版本中,一個(gè)較大的變化就是增加了對(duì)軟件定時(shí)器的支持。這使得 μC/OS 實(shí)時(shí)操作系統(tǒng)的功能更加完善,在其上的應(yīng)用程序開(kāi)發(fā)與移植也更加方便。在實(shí)時(shí)操作系統(tǒng)中一
2021-02-21 11:58:28
S3C44BOX作為主控制器。S3C44BOX是16/32位RISC處理器,其工作主頻可達(dá)75 MHz,內(nèi)部資源豐富。由于S3C44BOX內(nèi)部無(wú)存儲(chǔ)器(內(nèi)部SRAM用于緩存),因此必須采用總線擴(kuò)展外部
2021-07-06 06:30:00
,這篇文章主要是以u(píng)c/OS-II來(lái)講,想更深入可以繼續(xù)學(xué)uc/OS-III,有時(shí)間片輪轉(zhuǎn)的新功能。一.首先是將ucosII移植到STM32C8T6上來(lái),原來(lái)黃老師用的編譯器是IAR,這里也選用IAR的u...
2022-02-18 07:16:40
,除此以外,μC/OS-II的鮮明特點(diǎn)就是源碼公開(kāi),便于移植和維護(hù)。 在μC/OS-II官方的主頁(yè)上可以查找到一個(gè)比較全面的移植范例列表。但是,在實(shí)際的開(kāi)發(fā)項(xiàng)目中,仍然沒(méi)有針對(duì)項(xiàng)目所采用芯片或開(kāi)發(fā)工具的合適
2019-07-02 07:51:57
μC/OS-Ⅱ關(guān)鍵算法邏輯如何去改進(jìn)μC/OS-II的關(guān)鍵算法?改進(jìn)的μC/OS-II在LPC2210上的移植
2021-04-27 06:37:42
μC/OS-II在AT89C51上的移植實(shí)現(xiàn)過(guò)程是怎樣進(jìn)行的?μC/OS-II在AT89C51上的移植過(guò)程中有哪些問(wèn)題?怎樣去解決?
2021-04-27 07:08:00
μC/OS-II是一種代碼公開(kāi)、可裁剪的嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)。該內(nèi)核通過(guò)實(shí)現(xiàn)搶占式任務(wù)調(diào)度算法和多任務(wù)間通信等功能,使之具有執(zhí)行效率高、實(shí)時(shí)性能優(yōu)良等特點(diǎn)。
2019-11-01 07:01:54
如何實(shí)現(xiàn)μC/OS-II系統(tǒng)的移植?
2021-04-28 06:01:29
的嵌入式系統(tǒng)有:WinCE、Linux、pSoS、VxWorks和μC/OS-II等。μC/OS-Ⅱ是專門為嵌入式系統(tǒng)應(yīng)用設(shè)計(jì)的,具有源碼公開(kāi)、實(shí)時(shí)性好、可移植裁剪、高效穩(wěn)定和教學(xué)科研免費(fèi)使用等特點(diǎn)
2019-08-09 06:15:48
LwIP協(xié)議是什么?什么是μC/OS-II實(shí)時(shí)操作系統(tǒng)呢?如何將LwIP協(xié)議棧移植到μC/OS-II實(shí)時(shí)操作系統(tǒng)上去呢?
2021-11-05 08:44:35
μC/OS-II的堆棧結(jié)構(gòu)如何改進(jìn)μC/OS-II內(nèi)核的堆棧結(jié)構(gòu)設(shè)計(jì)?
2021-04-27 07:09:57
的應(yīng)用,就會(huì)暴露出實(shí)時(shí)性差、系統(tǒng)可靠性低、穩(wěn)定性差等缺點(diǎn)。μC/OS-II是一個(gè)源代碼公開(kāi)、可移植、可裁剪的實(shí)時(shí)多任務(wù)操作系統(tǒng),具有低成本、穩(wěn)定可靠、實(shí)時(shí)性好等優(yōu)點(diǎn),是專門針對(duì)微處理器和微控制器設(shè)計(jì)的實(shí)時(shí)內(nèi)核
2011-03-08 13:44:14
操作系統(tǒng)及CPU是什么 μC/OS-Ⅱ內(nèi)核結(jié)構(gòu)及工作原理嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II在LPC2378上的移植及應(yīng)用
2021-04-26 06:32:49
以下介紹如何將μC/OS-II移植到MOTOROLA MC68K系列CPU上。一、MC68K CPU簡(jiǎn)介MC68K及68020、68040等的著名的MOTOROLA32位微處理器,和與之兼容的68K
2019-06-24 08:09:05
監(jiān)管部門及企業(yè)需要解決的問(wèn)題。為解決上述問(wèn)題,本文基于ARM7芯片S3C44BOX,設(shè)計(jì)了一個(gè)集數(shù)據(jù)采集、處理、顯示為一體的嵌入式定量分析系統(tǒng),并可以通網(wǎng)絡(luò)將數(shù)據(jù)傳送到遠(yuǎn)程PC。
2019-09-26 07:02:31
,但是它將控制權(quán)轉(zhuǎn)交給各個(gè)應(yīng)用模塊,由調(diào)度器提供當(dāng)前狀態(tài)下事件隊(duì)列的信息。這些信息可以幫助應(yīng)用程序在沒(méi)有事件任務(wù)調(diào)度時(shí)關(guān)閉處理器,進(jìn)入低功耗模式?! ?b class="flag-6" style="color: red">3 基于ATmegal28L和μC/OS-II的低功耗
2018-11-14 15:00:42
系統(tǒng)初始化分析與μC OS-II移植(北航課件)
2017-12-29 16:40:12
μC/OS-II的移植需要滿足哪些要求?怎樣去完成μC/OS-II的移植過(guò)程?
2021-04-23 06:48:12
位單片機(jī)HCS08GT60上的移植為例,詳細(xì)討論如何利用μC/OS-II給出的內(nèi)核擴(kuò)展接口,實(shí)現(xiàn)一個(gè)低功耗的嵌入式實(shí)時(shí)系統(tǒng);進(jìn)一步分析如何選擇一種合適的低功耗模式。μC/OS-II是一種可移植、可固化
2019-04-28 09:57:16
采用S3C44B0X作為主控芯片,在開(kāi)發(fā)板上移植了CLinux和Microwindows,利用ADXL105加速度傳感器實(shí)現(xiàn)了用手腕動(dòng)作控制菜單的功能。該系統(tǒng)的系統(tǒng)結(jié)構(gòu)框圖
2011-06-01 09:37:35
首先介紹嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II 和Nios 嵌入式處理器, 分析μC/OS-II 移植對(duì)目標(biāo)處理器的要求, 重點(diǎn)介紹μC/OS-II 在Nios 處理器上的移植過(guò)程,最后在Nios 開(kāi)發(fā)板上對(duì)移植工
2011-03-08 09:31:38
90 μC/OS-II 是一種開(kāi)放源碼的實(shí)時(shí)嵌入式操作系統(tǒng),是一個(gè)可移植、可裁剪、占先式多任務(wù)OS, 已被應(yīng)用到多種微處理器上, 其大部分源碼是用ANSI C語(yǔ)言編寫的。
2009-04-15 11:36:07
20 介紹實(shí)時(shí)操作系統(tǒng)μC/OS-II 的特點(diǎn)和內(nèi)核結(jié)構(gòu),給出μC/OS-II 在Samsung 嵌入式S3C44B0X ARM7 微處理器上的移植的步驟及詳細(xì)相關(guān)代碼,同時(shí)闡述μC/OS-II在應(yīng)用中應(yīng)注意的問(wèn)題。
2009-05-15 13:34:28
18 詳細(xì)討論μC/OS-II 在TMS320LF2407 上的移植并給出主要代碼; 分析移植中可能出現(xiàn)的問(wèn)題,給出解決方法;討論移植過(guò)程中代碼的改寫與優(yōu)化,并介紹μC/OS-II下的編程與應(yīng)用
2009-05-15 13:53:24
18 首先介紹嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II 和Nios 嵌入式處理器, 分析μC/OS-II 移植對(duì)目標(biāo)處理器的要求, 重點(diǎn)介紹μC/OS-II 在Nios 處理器上的移植過(guò)程,最后在Nios 開(kāi)發(fā)板上對(duì)移植工作進(jìn)行
2009-05-16 14:32:43
28
分析了μC/OS-II 操作系統(tǒng)的特點(diǎn)及其在嵌入式系統(tǒng)應(yīng)用領(lǐng)域的優(yōu)勢(shì),探討了μC/OS-II 操作系統(tǒng)在LPC2104 處理器上的構(gòu)建、裁減和移植。文中還介紹了μC/OS-II 操作
系統(tǒng)在串
2009-06-19 09:12:03
16
對(duì)嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II 的組成和LPC2210 微處理器進(jìn)行了簡(jiǎn)單介紹。在此基礎(chǔ)上,詳細(xì)介紹了將μC/OS-II 移植到LPC2210 微處理器的步驟和方法,指出了移植過(guò)程
的關(guān)
2009-07-08 08:57:57
41 本文介紹了基于ARM 微處理器的μC/OS-II 的移植,并對(duì)其進(jìn)行擴(kuò)展,主要包括內(nèi)核、lwip、μC/GUI 的移植。關(guān)鍵字:微處理器; μC/OS-II;LWIP TCP/IP 協(xié)議棧; μC/GUI 嵌入式圖形用戶接口; 實(shí)
2009-08-27 11:50:10
14 本文介紹了μC/OS-II移植到PC機(jī)上的過(guò)程,使μC/OS-II應(yīng)用系統(tǒng)程序在PC機(jī)上脫離DOS或Windows環(huán)境運(yùn)行。著重介紹了Bootloader引導(dǎo)程序和EXE程序啟動(dòng)代碼的設(shè)計(jì)與實(shí)現(xiàn),以及μC/OS-II接收鍵
2009-09-02 08:51:11
14 本文分析了實(shí)時(shí)操作系統(tǒng)μC/OS-II的特點(diǎn)及其在嵌入式系統(tǒng)應(yīng)用領(lǐng)域的優(yōu)勢(shì),討論了其在S3C44B0X上移植的可能性,探討了μC/OS-II操作系統(tǒng)移植到ARM7處理S3C44B0X的方法,成功地將μC/OS-I
2009-09-12 16:47:52
21 uc/os-ii在ARM處理器上的移植:基于ARM體系結(jié)構(gòu)的處理器因本身固有的硬件結(jié)構(gòu)特點(diǎn).使其對(duì)操作系統(tǒng)的運(yùn)行提供了充分的硬件支持.本文簡(jiǎn)單的論述了uC/0S—II操作系統(tǒng)如何在ARM 處理
2009-09-13 14:16:40
65 ARM CPU S3C44BOX在水表智能抄表系統(tǒng)中的應(yīng)用
介紹水表智能表系統(tǒng)的核心部分--抄表手機(jī),以及如何用32位機(jī)S3C44BOX來(lái)實(shí)現(xiàn)抄表手機(jī)的功能。
2009-10-01 21:53:02
45 S3C44BOX是常用的一款基于ARM7TDM1內(nèi)核的RISC處理器。I.tClinux操作系統(tǒng)可以很好地支持此類無(wú)MMU的處理器。本文介紹了在S3C44BOX目標(biāo)板上移植I.tClinux的重要步驟之一:Bootloader開(kāi)發(fā)的概
2009-12-01 13:37:02
20 基于S3C44BOX 的視頻信號(hào)模擬器,是將高性能、低功耗的微處理器S3C44BOX 與嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ相接合,利用C 語(yǔ)言的優(yōu)勢(shì),添加人機(jī)交互方式、圖形化界面;使系統(tǒng)具有回
2009-12-18 15:15:01
44 本文介紹了鍵盤的工作原理,設(shè)計(jì)了基于 S3C44BOX 嵌入式微處理器的鍵盤硬件接口電路,研究了鍵盤程序的工作機(jī)制,在此基礎(chǔ)上了給出了詳細(xì)的程序流程圖。
2010-01-13 16:51:04
47 S3C44BOX IIS音頻接口與DMA應(yīng)用實(shí)驗(yàn)
2010-07-13 20:30:52
53 摘要:介紹了實(shí)時(shí)操作系統(tǒng)μC/OS-II的特點(diǎn)和內(nèi)核結(jié)構(gòu),并首次實(shí)現(xiàn)了μC/OS-II在摩托羅拉處理器MPC555上的移植,介紹了移植后OS的應(yīng)用方法。μ
2006-03-11 12:42:45
733 
已經(jīng)有不少的文章介紹了有關(guān)μC/OS-II這個(gè)實(shí)時(shí)內(nèi)核及其應(yīng)用。在很多的處理器上,μC/OS-II都得到了應(yīng)用。μC/OS-II是一種源碼公開(kāi)、可移植、可固化、可裁減、可剝奪的實(shí)時(shí)多任
2006-04-18 22:12:27
1037 μCOS-II 在ARM 微處理器上的移植一、 實(shí)驗(yàn)?zāi)康?. 了解UC/OS-II 內(nèi)核的主要結(jié)構(gòu)。2. 掌握將UC/OS-II 內(nèi)核移植到ARM7 處理器上的基本方法。二、 實(shí)驗(yàn)內(nèi)容1
2008-12-25 23:52:07
909 
用協(xié)處理器提高μC/OS-II的實(shí)時(shí)性
μC/OS-II是一種可移植、可固化、可裁剪及可剝奪型的多任務(wù)實(shí)時(shí)操作系統(tǒng)(RTOS)。本文提出用雙核單片機(jī)提高實(shí)時(shí)操作系統(tǒng)
2009-03-29 15:10:57
731 
μC/OS-II在EP7312上的移植首先介紹μC/OS-II操作系統(tǒng)的特點(diǎn),重點(diǎn)分析μC/OS-II在EP7312上的移植方法,介紹μC/OS-II在EP7312中的開(kāi)發(fā)過(guò)程。
關(guān)鍵詞 嵌入式操作系統(tǒng) μC/OS-II EP7312
2009-06-16 11:24:41
1015 
μC/OS-II操作系統(tǒng)在各種處理器上的移植
μC/OS-II操作系統(tǒng)是一種搶占式多任務(wù)、單內(nèi)存空間、微小內(nèi)核的嵌入式操作系統(tǒng),具有高效緊湊的特點(diǎn)。它執(zhí)行效率高,占
2010-01-07 11:11:00
651 
本文敘述了在ARM處理器上移植UC/OS并開(kāi)發(fā)ARM處理器械+UC/OS系統(tǒng)應(yīng)用程序的工具、步驟和要點(diǎn)。以韓國(guó)三星的S3C44BOX為目標(biāo)機(jī),用C語(yǔ)言編寫,調(diào)試了一個(gè)UC/OS下多任務(wù)的應(yīng)用程序該程序通過(guò)
2011-04-14 19:35:39
93 移植uCGUI到ARM處理器S3C44BOX上,并編寫Hello World程序,在Micetek 44B0實(shí)驗(yàn)平臺(tái)的LCD上顯示“Hello World!”字符串,
2011-05-10 10:30:48
1859 μC/OS-II操作系統(tǒng)是一種搶占式多任務(wù)、單內(nèi)存空間、微小內(nèi)核的嵌入式操作系統(tǒng),具有高效緊湊的特點(diǎn)。它執(zhí)行效率高,占用空間小,可移植性強(qiáng),實(shí)時(shí)性能良好且可擴(kuò)展性強(qiáng)。
2011-05-23 10:30:08
1251 
本文介紹了Samsung公司基于ARM7內(nèi)核的S3C44BOX徽處理器的結(jié)構(gòu)、功能、內(nèi)部資源和存儲(chǔ)器特點(diǎn)及其具體應(yīng)用,以及pC/OS - II嵌入式實(shí)時(shí)操作系統(tǒng)在具體設(shè)計(jì)中任務(wù)的劃分和系統(tǒng)構(gòu)成
2011-09-21 16:54:45
92
已全部加載完成
評(píng)論