|
關(guān)于eCos
本帖最后由 一朝成名 于 2009-6-14 12:28 編輯
這個(gè)大家應(yīng)該比較熟悉呵呵,估計(jì)大家都熟了。我就啰嗦下再貼一次,希望沒有誤導(dǎo)人:)
eCos 中字面上C(configurable) 表示的“高可配置性”。eCos可以讓開發(fā)者像在玩積木般地自由選擇其執(zhí)行期的元件,應(yīng)用程序開發(fā)者可以針對(duì)自己的應(yīng)用程序來(lái)設(shè)遲一個(gè)對(duì)其最小的RTOS環(huán)境,這跟以往應(yīng)用程序就是跑在一個(gè)完整的RTOS上本質(zhì)上不同,在嵌入式系統(tǒng)資源與內(nèi)存寸土寸金的環(huán)境上,這樣的開發(fā)方式是很重要的。在以往的嵌入式開發(fā)方式都是自己手工的將RTOS作縮減,對(duì)經(jīng)驗(yàn)不足或?qū)υ揜TOS不夠熟悉的人將會(huì)花去許多時(shí)間,或是根本很難將RTOS拆開,但在eCos上,由于設(shè)計(jì)之初就是朝向可設(shè)遲的原則,各種元件都遵守著模塊化的開發(fā)方式,而應(yīng)用程序開發(fā)者只要使用eCos 中的配置,即可輕松簡(jiǎn)單的對(duì)eCos元件作量身打造,也不需對(duì)其內(nèi)部實(shí)作有所了解即時(shí)RTOS的核心并提供標(biāo)準(zhǔn)系統(tǒng)API。
eCos 的核心支持一般OS常見的項(xiàng)目如驅(qū)動(dòng)程序(Device Driver)、內(nèi)存管理(Memory managemant)、異常處理(exceptionhandling)、中斷處理(exception handling)、線程的支持(threadsupport)、計(jì)時(shí)器(Timer)、計(jì)數(shù)器(Counter),對(duì)于即時(shí)RTOS的支持如完全優(yōu)先(fullpreemptability)、最小中斷延遲(minimal interrupt latencies)、線程同步(synchronization primitive)、可自定的調(diào)度原則(schedulepolicies)。此外也支持POSIX 等操作系統(tǒng)的標(biāo)準(zhǔn)API 及ANSI C 與常用的數(shù)學(xué)函數(shù)。支持常用的周邊及通訊協(xié)議(networking stacks)支持以太網(wǎng)絡(luò)卡,串口,USBslave等常用周邊。并支持一般常用的通訊協(xié)議如IP、IPV6、ICMP、UDP、TCP、SNMP、HTTP、TFTP、FTP等。網(wǎng)絡(luò)設(shè)遲部分,可支持靜態(tài)IP 與DHCP 。GDB支持可支持主控端使用GDB 遠(yuǎn)端透過串口或是以太網(wǎng)絡(luò)對(duì)應(yīng)用程序除錯(cuò)。
此外,eCos另一個(gè)優(yōu)點(diǎn)是他支持非常多的平臺(tái)和CPU,尤其是比較新的CPU比如ARM的各個(gè)系列,DSP(BlackFin)等。并且也支持很多硬件平臺(tái)。目前支持的CPU包括: ARM, CalmRISC, FR-V, H8, IA32, M68K, Matsushita AM3x, MIPS,NEC V8xx, PowerPC, SPARC, SuperH 支持的硬件平臺(tái)設(shè)備包括: Flash, Ethernet, 串口, USB,時(shí)鐘等。其已直接支持了時(shí)下絕大部分的硬件,可在eCos 官方網(wǎng)站上找到支持列表。官方網(wǎng)站http://ecos.sourceware.org/ |
|