/****************************************************
*一個uCOS ARM系統的啟動過程分析及系統構架。 *
*Main 函數的代碼如下: *
*****************************************************/
int Main(int argc, char **argv)
{
ARMTargetInit() // 系統硬件初始化
OSInit() //初始化操作系統
uHALr_ResetMMU() //復位MMU
LCD_Init() //初始化LCD 模塊
LCD_printf("LCD initialization is OK\n") //顯示液晶屏信息
LCD_printf("240 x 128 Text Mode\n")
LoadFont() //裝載系統字體
LCD_printf("Create task on uCOS-II...\n") //顯示液晶屏信息
//創建系統的任務
OSTaskCreate(Main_Task, (void *)0,
(OS_STK *)& Main_Stack[STACKSIZE*8-1], Main_Task_Prio)
OSTaskCreate(Led_Flash_Task, (void *)0,
(OS_STK *)& Led_Flash_Stack[STACKSIZE-1], Led_Flash_Prio )
OSTaskCreate(Lcd_Fresh_Task, (void *)0,
(OS_STK *)& Lcd_Fresh_Stack[STACKSIZE-1], Lcd_Fresh_prio )
OSTaskCreate(Key_Scan_Task, (void *)0,
(OS_STK *)& Key_Scan_Stack[STACKSIZE-1], Key_Scan_Task_Prio )
LCD_printf("Starting uCOS-II...\n")
LCD_printf("Entering graph mode...\n")
LCD_ChangeMode(DspGraMode) //設置液晶屏顯示為圖形模式
initOSGUI() //初始化圖形用戶界面
InitRtc() //初始化系統時鐘
LCDFresh_MBox=OSMboxCreate(NULL) //創建LCD 刷新郵箱
Lcd_Disp_Sem=OSSemCreate(1) //創建LCD 緩沖區控制權旗語,初值為1 滿足互斥條件
Nand_Rw_Sem=OSSemCreate(1) //創建Nand-Flash 讀寫控制權旗語,初值為1 滿足互斥條件
ARMTargetStart() //啟動操作系統的硬件定時器等中斷
OSStart() // 啟動操作系統
//程序不會運行至此
return 0
}//main end
/****************************************************
*系統啟動的時候創建了4 個系統任務,其中Main_Task 為系統的主任務,用戶的應 *
*用程序就是從Main_Task 任務開始的。其代碼如下: *
*****************************************************/
void Main_Task(void *Id) //Main_Test_Task
{
POSMSG pMsg=0
ClearScreen() //清除屏幕
for( )
OSTimeDly(1000)
//消息循環
/* for( ){
pMsg=WaitMessage(0)
tch(pMsg-> Message){
case OSM_KEY:
onKey(pMsg-> WParam,pMsg-> LParam)
break
}
DeleteMessage(pMsg)
}*/
}
/**************************************************
通常多操作系統中的任務是一個無限循環,同樣,Main_Task 也要陷入一個無限循環。
因為uCOS-II 是占先式多任務操作系統,如果沒有比Main_Task 任務更高優先級的任務
進入就緒狀態,Main_Task 任務是不會放棄CPU 的控制權的。通過調用OSTimeDly(INT16U
ticks)函數,可以使操作系統進行一次任務調度,并且執行下一個優先級的就緒狀態的
任務。參數Ticks 表示任務延時的節拍數,一旦規定的時間期滿,該任務馬上又會重新進入
就緒狀態。
****************************************************/
一個uCOS ARM系統的啟動過程分析及系統構架
更新時間: 2007-01-24 16:20:02來源: 粵嵌教育瀏覽量:1053