浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 其它綜合

μC/OS的應(yīng)用和擴(kuò)展

發(fā)布時(shí)間:2007/8/28 0:00:00 訪問(wèn)次數(shù):466

    摘要:本文介紹了μC/OS在ColdFire為核心系統(tǒng)上的具體應(yīng)用,并在此基礎(chǔ)上做了擴(kuò)展,在μC/OS的核心上實(shí)現(xiàn)了RAM盤和文件系統(tǒng)。為了方便應(yīng)用和調(diào)試,還實(shí)現(xiàn)了用戶Shell程序,可以接受并執(zhí)行用戶命令,擴(kuò)展并豐富了μC/OS的功能。

    關(guān)鍵詞:μC/OS μCLinux 嵌入式系統(tǒng) ColdFire

一、 概述

近年來(lái),隨著微控制器性能的不斷提高,嵌入式應(yīng)用越來(lái)越廣泛。目前市場(chǎng)上的大型商用嵌入式實(shí)時(shí)系統(tǒng),如VERTEX,VXWORK,PSOS等等,已經(jīng)十分成熟,并為用戶提供了強(qiáng)有力的開(kāi)發(fā)和調(diào)試工具。但商用嵌入式實(shí)時(shí)系統(tǒng)價(jià)格昂貴,而且都針對(duì)特定的硬件平臺(tái)。對(duì)于國(guó)內(nèi)中小型系統(tǒng)的開(kāi)發(fā),購(gòu)買商用實(shí)時(shí)系統(tǒng)并不劃算。此時(shí),采用免費(fèi)軟件和開(kāi)放代碼不失為一種選擇。目前源碼開(kāi)放(C代碼)的嵌入式系統(tǒng)有μC/OS的uCLinux。μC/OS簡(jiǎn)單易學(xué),提供了嵌入式系統(tǒng)的基本功能,其核心代碼短小精悍,如果針對(duì)硬件進(jìn)行優(yōu)化,還可以獲得更高的執(zhí)行效率。但是μC/OS相對(duì)商用嵌入式系統(tǒng)來(lái)說(shuō)還是過(guò)于簡(jiǎn)單,而且存在開(kāi)發(fā)調(diào)試?yán)щy的問(wèn)題。UCLinux是免費(fèi)軟件運(yùn)動(dòng)的產(chǎn)物,包含豐富的功能,包括文件系統(tǒng)、各種外調(diào)驅(qū)動(dòng)程序、通訊模塊、TCP/IP、PPP、HTTP,甚至WEB服務(wù)器的代碼。在INTERNET上流傳的uCLinux已經(jīng)被移植到當(dāng)前幾乎所有的硬件平臺(tái)上,功能與PC機(jī)上運(yùn)行的Linux不相上下,其代碼也十分復(fù)雜。完全移植沒(méi)有必要也十分困難,但uCLinux的代碼經(jīng)過(guò)世界范圍內(nèi)的優(yōu)化,穩(wěn)定可靠而且高效,所有模塊的代碼都可以從INTERNET上獲得,可以進(jìn)行模塊移植。在本例應(yīng)用中,筆者在ColdFire硬件平臺(tái)上運(yùn)行了μC/OS的核心,并實(shí)現(xiàn)了uCLinux的文件系統(tǒng),使得在嵌入式應(yīng)用中可以進(jìn)行文件操作。同時(shí)針對(duì)μC/OS調(diào)試?yán)щy的問(wèn)題。還移植了uCLinux的用戶Shell,使得用戶可以用命令行方式進(jìn)行程序的調(diào)試和開(kāi)發(fā)。

二、 硬件平臺(tái)

本系統(tǒng)的硬件平臺(tái)采用GPFC(General Purpose Fieldbus Controller)數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)是由德國(guó)漢堡國(guó)家同步輻射實(shí)驗(yàn)實(shí)(DESY)Dr.Matthias Clausen領(lǐng)導(dǎo)的研究小組開(kāi)發(fā),采用Motorola公司的ColdFire MCF5206處理器為核心。ColdFire MCF5206處理器屬于Motorola 32位MCU家族,在源碼上與68K系列兼容。全靜態(tài)設(shè)計(jì),在33MHz的工作頻率下可達(dá)最大17MIPS的處理能力。除了具有68K系統(tǒng)的通用功能模塊外,片內(nèi)還帶有DRAM控制模塊,可以直接外接DRAM芯片。由于ColdFire將片選邏輯電路、總線控制器、DRAM控制模塊等全部集成在MCU內(nèi)部,使得外圍電路變得十分簡(jiǎn)單。

在筆者所用的GPFC系統(tǒng)中,ColdFire工作在32MHz,外圍電路包括兩片DEAM芯片,共計(jì)4M的RAM,一片128K的FLASH,用于存放引導(dǎo)程序。其余為I/O電路。系統(tǒng)通過(guò)RS-232串口與PC機(jī)相連。

三、 軟件設(shè)計(jì)

本系統(tǒng)的軟件采用μC/OS為嵌入式平臺(tái)。在應(yīng)用中切實(shí)感到了開(kāi)放源代碼的無(wú)可替代的優(yōu)點(diǎn)。首先是可以根據(jù)自己的需要對(duì)源代碼進(jìn)行取舍,去掉不需要的變量和不使用的函數(shù),甚至可以根據(jù)需要改寫相關(guān)函數(shù)。在μC/OS的源代碼中,函數(shù)執(zhí)行中有許多條件判斷,作用是防止參數(shù)的錯(cuò)誤傳遞。例如,與信號(hào)量有關(guān)的函數(shù)在執(zhí)行前都會(huì)檢查一下傳遞給函數(shù)的指針是不是一個(gè)有效的信號(hào)量指針。作為通用系統(tǒng),這些條件判斷是完全必要的,避免出現(xiàn)錯(cuò)誤時(shí)系統(tǒng)崩潰。但作為具體的應(yīng)用,只要在程序設(shè)計(jì)時(shí)保證參數(shù)傳遞的正確性,完全可以不用條件判斷,就能提高函數(shù)的執(zhí)行速度,尤其一些頻繁調(diào)用的函數(shù),或當(dāng)MCU速率不高的時(shí)候,重寫部分函數(shù)往往可以顯著提高系統(tǒng)性能。另外,由于用戶對(duì)系統(tǒng)有源碼級(jí)的了解,可以添加自己編寫的模塊,與原系統(tǒng)兼容,使系統(tǒng)具有可擴(kuò)展性。

正是由于μC/OS的可擴(kuò)展性,筆者將uCLinux的RAM盤、文件系統(tǒng)和用戶Shell移植到了μC/OS上,在用戶程序中可以進(jìn)行文件操作,文件系統(tǒng)可以為任務(wù)保存數(shù)據(jù),并提供了統(tǒng)一的接口函數(shù)。用戶編制的單個(gè)任務(wù)也可以保存在RAM盤上,可以在終端上用命令方式

    摘要:本文介紹了μC/OS在ColdFire為核心系統(tǒng)上的具體應(yīng)用,并在此基礎(chǔ)上做了擴(kuò)展,在μC/OS的核心上實(shí)現(xiàn)了RAM盤和文件系統(tǒng)。為了方便應(yīng)用和調(diào)試,還實(shí)現(xiàn)了用戶Shell程序,可以接受并執(zhí)行用戶命令,擴(kuò)展并豐富了μC/OS的功能。

    關(guān)鍵詞:μC/OS μCLinux 嵌入式系統(tǒng) ColdFire

一、 概述

近年來(lái),隨著微控制器性能的不斷提高,嵌入式應(yīng)用越來(lái)越廣泛。目前市場(chǎng)上的大型商用嵌入式實(shí)時(shí)系統(tǒng),如VERTEX,VXWORK,PSOS等等,已經(jīng)十分成熟,并為用戶提供了強(qiáng)有力的開(kāi)發(fā)和調(diào)試工具。但商用嵌入式實(shí)時(shí)系統(tǒng)價(jià)格昂貴,而且都針對(duì)特定的硬件平臺(tái)。對(duì)于國(guó)內(nèi)中小型系統(tǒng)的開(kāi)發(fā),購(gòu)買商用實(shí)時(shí)系統(tǒng)并不劃算。此時(shí),采用免費(fèi)軟件和開(kāi)放代碼不失為一種選擇。目前源碼開(kāi)放(C代碼)的嵌入式系統(tǒng)有μC/OS的uCLinux。μC/OS簡(jiǎn)單易學(xué),提供了嵌入式系統(tǒng)的基本功能,其核心代碼短小精悍,如果針對(duì)硬件進(jìn)行優(yōu)化,還可以獲得更高的執(zhí)行效率。但是μC/OS相對(duì)商用嵌入式系統(tǒng)來(lái)說(shuō)還是過(guò)于簡(jiǎn)單,而且存在開(kāi)發(fā)調(diào)試?yán)щy的問(wèn)題。UCLinux是免費(fèi)軟件運(yùn)動(dòng)的產(chǎn)物,包含豐富的功能,包括文件系統(tǒng)、各種外調(diào)驅(qū)動(dòng)程序、通訊模塊、TCP/IP、PPP、HTTP,甚至WEB服務(wù)器的代碼。在INTERNET上流傳的uCLinux已經(jīng)被移植到當(dāng)前幾乎所有的硬件平臺(tái)上,功能與PC機(jī)上運(yùn)行的Linux不相上下,其代碼也十分復(fù)雜。完全移植沒(méi)有必要也十分困難,但uCLinux的代碼經(jīng)過(guò)世界范圍內(nèi)的優(yōu)化,穩(wěn)定可靠而且高效,所有模塊的代碼都可以從INTERNET上獲得,可以進(jìn)行模塊移植。在本例應(yīng)用中,筆者在ColdFire硬件平臺(tái)上運(yùn)行了μC/OS的核心,并實(shí)現(xiàn)了uCLinux的文件系統(tǒng),使得在嵌入式應(yīng)用中可以進(jìn)行文件操作。同時(shí)針對(duì)μC/OS調(diào)試?yán)щy的問(wèn)題。還移植了uCLinux的用戶Shell,使得用戶可以用命令行方式進(jìn)行程序的調(diào)試和開(kāi)發(fā)。

二、 硬件平臺(tái)

本系統(tǒng)的硬件平臺(tái)采用GPFC(General Purpose Fieldbus Controller)數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)是由德國(guó)漢堡國(guó)家同步輻射實(shí)驗(yàn)實(shí)(DESY)Dr.Matthias Clausen領(lǐng)導(dǎo)的研究小組開(kāi)發(fā),采用Motorola公司的ColdFire MCF5206處理器為核心。ColdFire MCF5206處理器屬于Motorola 32位MCU家族,在源碼上與68K系列兼容。全靜態(tài)設(shè)計(jì),在33MHz的工作頻率下可達(dá)最大17MIPS的處理能力。除了具有68K系統(tǒng)的通用功能模塊外,片內(nèi)還帶有DRAM控制模塊,可以直接外接DRAM芯片。由于ColdFire將片選邏輯電路、總線控制器、DRAM控制模塊等全部集成在MCU內(nèi)部,使得外圍電路變得十分簡(jiǎn)單。

在筆者所用的GPFC系統(tǒng)中,ColdFire工作在32MHz,外圍電路包括兩片DEAM芯片,共計(jì)4M的RAM,一片128K的FLASH,用于存放引導(dǎo)程序。其余為I/O電路。系統(tǒng)通過(guò)RS-232串口與PC機(jī)相連。

三、 軟件設(shè)計(jì)

本系統(tǒng)的軟件采用μC/OS為嵌入式平臺(tái)。在應(yīng)用中切實(shí)感到了開(kāi)放源代碼的無(wú)可替代的優(yōu)點(diǎn)。首先是可以根據(jù)自己的需要對(duì)源代碼進(jìn)行取舍,去掉不需要的變量和不使用的函數(shù),甚至可以根據(jù)需要改寫相關(guān)函數(shù)。在μC/OS的源代碼中,函數(shù)執(zhí)行中有許多條件判斷,作用是防止參數(shù)的錯(cuò)誤傳遞。例如,與信號(hào)量有關(guān)的函數(shù)在執(zhí)行前都會(huì)檢查一下傳遞給函數(shù)的指針是不是一個(gè)有效的信號(hào)量指針。作為通用系統(tǒng),這些條件判斷是完全必要的,避免出現(xiàn)錯(cuò)誤時(shí)系統(tǒng)崩潰。但作為具體的應(yīng)用,只要在程序設(shè)計(jì)時(shí)保證參數(shù)傳遞的正確性,完全可以不用條件判斷,就能提高函數(shù)的執(zhí)行速度,尤其一些頻繁調(diào)用的函數(shù),或當(dāng)MCU速率不高的時(shí)候,重寫部分函數(shù)往往可以顯著提高系統(tǒng)性能。另外,由于用戶對(duì)系統(tǒng)有源碼級(jí)的了解,可以添加自己編寫的模塊,與原系統(tǒng)兼容,使系統(tǒng)具有可擴(kuò)展性。

正是由于μC/OS的可擴(kuò)展性,筆者將uCLinux的RAM盤、文件系統(tǒng)和用戶Shell移植到了μC/OS上,在用戶程序中可以進(jìn)行文件操作,文件系統(tǒng)可以為任務(wù)保存數(shù)據(jù),并提供了統(tǒng)一的接口函數(shù)。用戶編制的單個(gè)任務(wù)也可以保存在RAM盤上,可以在終端上用命令方式

相關(guān)IC型號(hào)

熱門點(diǎn)擊

 

推薦技術(shù)資料

羅盤誤差及補(bǔ)償
    造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!