日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]在筆者撰寫的《C語言嵌入式系統(tǒng)編程修煉之道》一文中,主要陳訴的軟件架構是單任務無操作系統(tǒng)平臺的,而本文的側重點則在于講述操作系統(tǒng)嵌入的軟件架構,二者的區(qū)別如下圖:  嵌入式操作系統(tǒng)并不總是必須的,因為程

在筆者撰寫的《C語言嵌入式系統(tǒng)編程修煉之道》一文中,主要陳訴的軟件架構是單任務無操作系統(tǒng)平臺的,而本文的側重點則在于講述操作系統(tǒng)嵌入的軟件架構,二者的區(qū)別如下圖:

  嵌入式操作系統(tǒng)并不總是必須的,因為程序完全可以在裸板上運行。盡管如此,但對于復雜的系統(tǒng),為使其具有任務管理、定時器管理、存儲器管理、資源管理、事件管理、系統(tǒng)管理、消息管理、隊列管理和中斷處理的能力,提供多任務處理,更好的分配系統(tǒng)資源的功能,很有必要針對特定的硬件平臺和實際應用移植操作系統(tǒng)。鑒于Linux的源代碼開放性,它成為嵌入式操作系統(tǒng)領域的很好選擇。國內(nèi)外許多知名大學、公司、研究機構都加入了嵌入式Linux的研究行列,推出了一些著名的版本:

  ·RT-Linux提供了一個精巧的實時內(nèi)核,把標準的Linux核心作為實時核心的一個進程同用戶的實時進程一起調(diào)度。RT-Linux已成功地應用于航天飛機的空間數(shù)據(jù)采集、科學儀器測控和電影特技圖像處理等廣泛的應用領域。如NASA(美國國家宇航局)將裝有 RT-Linux的設備放在飛機上,以測量Georage咫風的風速;

  ·uCLinux(Micro-Control-Linux,u表示Micro,C表示Control)去掉了MMU(內(nèi)存管理)功能,應用于沒有虛擬內(nèi)存管理的微處理器/微控制器,它已經(jīng)被成功地移植到了很多平臺上。

  本章涉及的mizi-linux由韓國mizi公司根據(jù)Linux 2.4內(nèi)核移植而來,支持S3C2410A處理器。

  1.Linux內(nèi)核要點

  和其他操作系統(tǒng)一樣,Linux包含進程調(diào)度與進程間通信(IPC)、內(nèi)存管理(MMU)、虛擬文件系統(tǒng)(VFS)、網(wǎng)絡接口等,下圖給出了Linux的組成及其關系:

  Linux內(nèi)核源代碼包括多個目錄:

 ?。?)arch:包括硬件特定的內(nèi)核代碼,如arm、mips、i386等;

 ?。?)drivers:包含硬件驅(qū)動代碼,如char、cdrom、scsi、mtd等;

  (3)include:通用頭文件及針對不同平臺特定的頭文件,如asm-i386、asm-arm等;

 ?。?)init:內(nèi)核初始化代碼;

  (5)ipc:進程間通信代碼;

  (6)kernel:內(nèi)核核心代碼;

  (7)mm:內(nèi)存管理代碼;

 ?。?)net:與網(wǎng)絡協(xié)議棧相關的代碼,如ipv4、ipv6、ethernet等;

 ?。?)fs:文件系統(tǒng)相關代碼,如nfs、vfat等;

  (10)lib:庫文件,與平臺無關的strlen、strcpy等,如在string.c中包含:

char * strcpy(char * dest,const char *src)
{
char *tmp = dest;
while ((*dest++ = *src++) != '