Linux驅(qū)動(dòng)開(kāi)發(fā)培訓(xùn)ppt課件_第1頁(yè)
Linux驅(qū)動(dòng)開(kāi)發(fā)培訓(xùn)ppt課件_第2頁(yè)
Linux驅(qū)動(dòng)開(kāi)發(fā)培訓(xùn)ppt課件_第3頁(yè)
Linux驅(qū)動(dòng)開(kāi)發(fā)培訓(xùn)ppt課件_第4頁(yè)
Linux驅(qū)動(dòng)開(kāi)發(fā)培訓(xùn)ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、The successs roadfarsightARM linux開(kāi)發(fā)流程主要內(nèi)容:ARM體系構(gòu)造ARM linux 概述ARM linux 開(kāi)發(fā)平臺(tái)搭建ARM linux bootloader開(kāi)發(fā)ARM linux 內(nèi)核開(kāi)發(fā)ARM linux 文件系統(tǒng)ARM體系構(gòu)造ARM處置器構(gòu)造ARM系統(tǒng)開(kāi)展趨勢(shì)ARM體系構(gòu)造ARM編程模型數(shù)據(jù)類(lèi)型處置器方式存放器組織異常存儲(chǔ)器映射ARM尋址方式ARM處置器構(gòu)造ARM系統(tǒng)開(kāi)展趨勢(shì)ARMAdvanced RISC Machines是微處置器行業(yè)的一家知名企業(yè),設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC處置器、相關(guān)技術(shù)及軟件。具有性能高、本錢(qián)低和能耗省的特點(diǎn)。

2、 ARM當(dāng)前有個(gè)產(chǎn)品系列: ARM7、ARM9、ARM9E、ARM10、 ARM11、SecurCore 變種:StrongARM、XscaleARM處置器構(gòu)造ARM體系構(gòu)造ARM基于精簡(jiǎn)指令集RISC通常具有兩套套指令集高性能32位ARM指令集高代碼密度16位Thumb指令集(操作碼,有些指令不要操作數(shù))Thumb在位體系構(gòu)造上實(shí)現(xiàn)了位指令集,提供:比位更高的性能;尋址空間,訪(fǎng)問(wèn)速度比位更高的代碼密度處置非數(shù)據(jù)指令A(yù)RM處置器構(gòu)造數(shù)據(jù)類(lèi)型Byte8位Halfword16位Word32位處置器方式user用戶(hù),正常程序執(zhí)行方式FiqFIQ,高速數(shù)據(jù)傳送活通道處置IrqIRQ,通用中斷處置Svc

3、管理,操作系統(tǒng)維護(hù)方式Abt中止,虛擬存儲(chǔ)器或存儲(chǔ)器維護(hù)Und未定義,硬件協(xié)處置器軟件仿真Sys系統(tǒng),特權(quán)操作系統(tǒng)義務(wù)ARM編程模型ARM編程模型存放器組織ARM處置器總共有37個(gè)存放器31個(gè)通用存放器32位有效不分組存放器R0R7分組存放器 R8R14程序計(jì)數(shù)器 R15個(gè)形狀存放器12位有效 在一切方式下都可以訪(fǎng)問(wèn)當(dāng)前程序形狀存放器CPSR(Current Program Status)ARM編程模型ARM編程模型ARM編程模型異常ARM編程模型存儲(chǔ)器映射地址空間存儲(chǔ)器格式大端存儲(chǔ)系統(tǒng)小端存儲(chǔ)系統(tǒng)非對(duì)準(zhǔn)存儲(chǔ)器訪(fǎng)問(wèn)非對(duì)準(zhǔn)取指結(jié)果不可預(yù)知非對(duì)準(zhǔn)數(shù)據(jù)訪(fǎng)問(wèn)按體系決議,忽略低地址預(yù)取指 (流水線(xiàn))存儲(chǔ)

4、器映射 I/O ARM系統(tǒng)完成I/O功能的規(guī)范做法是運(yùn)用存儲(chǔ)器映射I/OARM編程模型ARM編程模型ARM尋址方式存放器尋址ADD R0,R1,R2;R0R1+R2立刻尋址ADD R3,R3#1;R3R3+1存放器移位尋址ADD R3,R2,R1,LSL #3 ;R3R2+8xR1存放器間接尋址LDR R0,R1;R0R1變址尋址LDR R0,R1,#4;R0R1+4ARM尋址方式多存放器尋址LDMIA R1,R0,R2,R5 ;R0R1;R2R1+4; R5R1+8堆棧尋址塊拷貝尋址LDMIA R0!,R2-R9STMIA R1,R2-R9相對(duì)尋址BL SUBR;轉(zhuǎn)移到SUBRARM lin

5、ux 概述嵌入式 Linux 的開(kāi)展嵌入式 Linux 的組成ARM Linux 概略ARM Linux patch文件的運(yùn)用嵌入式 Linux 的開(kāi)展開(kāi)展歷史1992年底,linux 1.0問(wèn)世90年代末,出現(xiàn)了RT-Linux、RTAI、(義務(wù)調(diào)度10MS滿(mǎn)足)QT/Embedded等開(kāi)源工程2000年,基于嵌入式Linux的網(wǎng)絡(luò)產(chǎn)品逐漸興起2001年,一批專(zhuān)業(yè)嵌入式Linux處理方案商涌現(xiàn),Montavista、Lineo、Mizi等2002年,基于嵌入式Linux的PDA面世嵌入式 Linux 的開(kāi)展嵌入式Linux 的根本需求實(shí)時(shí)性能: RT-Linux、RTAI高可靠性:內(nèi)核不斷完

6、善,晉級(jí)較低功耗:電源管理快速啟動(dòng):bootloader、kernel體積小巧: Flash、Ram等資源占用移植性強(qiáng): 靈敏方便的移植到其他平臺(tái)嵌入式 Linux 的組成嵌入式 Linux 的三要素:BootLoader系統(tǒng)引導(dǎo)、調(diào)試、燒寫(xiě)內(nèi)核 KERNELLinux kernel + patch根文件系統(tǒng)定制的運(yùn)用程序嵌入式 Linux 的組成Linux 系統(tǒng)中心框圖Linux 系統(tǒng)支持硬件類(lèi)型字符設(shè)備塊設(shè)備網(wǎng)絡(luò)設(shè)備用戶(hù)級(jí)進(jìn)程系統(tǒng)調(diào)用接口硬件驅(qū)動(dòng)物理硬件進(jìn)程控制系統(tǒng)進(jìn)程通訊虛擬文件系統(tǒng)EXT2NFS其他網(wǎng)絡(luò)協(xié)議內(nèi)存管理進(jìn)程調(diào)度ARM Linux 概略L(fǎng)inux 支持廣泛的ARM體系CPU,

7、目前已有數(shù)十種不同廠家的芯片, 支持的板子也超越200多種,并且越來(lái)越多的廠家在ARM上選擇運(yùn)用Linux系統(tǒng)。ARM Linux的資源豐富,有很多的系統(tǒng)方案提供商可以方便地添加本人的ARM平臺(tái)ARM Linux的開(kāi)發(fā)也在不斷進(jìn)展中.uk/ARM Linux patch文件的運(yùn)用ARM Linux 是以patch的方式發(fā)布的,需求在原linux根本內(nèi)核根底上打patch舉例闡明:bash$ tar zxvf linux-2.4.18.tar.gz bash$ cd linux-2.4.18 bash$ zcat ./patch-2.4.18-rmk7.gz | patch -p1 bash$

8、zcat ./diff-2.4.18-rmk7-pxa1.gz | patch -p1bash$ zcat ./diff-2.4.18-rmk7-pxa1-mz4. gz | patch -p1ARM linux 開(kāi)發(fā)平臺(tái)搭建跨平臺(tái)開(kāi)發(fā)方式交叉編譯工具鏈主機(jī)端系統(tǒng)配置開(kāi)發(fā)所需工具跨平臺(tái)開(kāi)發(fā)方式跨平臺(tái)開(kāi)發(fā)與我們平常的編程有何不同絕大多數(shù)的軟件開(kāi)發(fā)都是以native方式進(jìn)展的 即本機(jī)HOST開(kāi)發(fā)、調(diào)試,本機(jī)運(yùn)轉(zhuǎn)的方式 嵌入式系統(tǒng)的軟件開(kāi)發(fā)采用一種交叉編譯調(diào)試編譯生成的代碼不能在開(kāi)發(fā)主機(jī)上運(yùn)轉(zhuǎn),需求 傳輸?shù)桨遄由线\(yùn)轉(zhuǎn)跨平臺(tái)開(kāi)發(fā)方式交叉編譯調(diào)試環(huán)境建立在宿主機(jī)上, 對(duì)應(yīng)的開(kāi)發(fā)板叫做目的板。如以下圖所示

9、:【宿主機(jī)】 【目的板】 交叉編譯工具鏈交叉編譯工具鏈的組成如何生本錢(qián)人的交叉編譯工具鏈交叉編譯工具鏈的安裝交叉編譯工具鏈交叉編譯工具鏈的組成Binutils軟件包 匯編器和銜接器 GCC軟件包 GCC 軟件包包含 GNU 編譯器,其中有C和C+編譯器. Glibc軟件包 Glibc 是提供系統(tǒng)調(diào)用和根本函數(shù)的 C 庫(kù) 普通說(shuō)來(lái)安裝了上述軟件包后,一個(gè)根本的開(kāi)發(fā)工具鏈曾經(jīng)建立交叉編譯工具鏈如何生本錢(qián)人的交叉編譯工具鏈本人動(dòng)手制造交叉編譯工具鏈的過(guò)程是非常復(fù)雜的版本兼容性問(wèn)題需求思索編譯過(guò)程比較漫長(zhǎng),一旦出錯(cuò)需求從頭開(kāi)場(chǎng)參考資料/有些時(shí)候現(xiàn)有的交叉編譯工具鏈與板子的配合不是很好時(shí),本人制造工具鏈

10、可以處理交叉編譯工具鏈下面簡(jiǎn)單列出各個(gè)步驟編譯安裝 Binutils - 第一遍 非常重要,由于 Glibc 和 GCC 會(huì)針對(duì)可用的銜接器和匯編器進(jìn)展多種測(cè)試,以決議翻開(kāi)某些特性 編譯安裝 GCC - 第一遍這里我們不需求C+編譯器,所以我們這里只解壓 gcc-core 包安裝 Linux 頭文件 包含系統(tǒng)相關(guān)信息 編譯安裝 Glibc 提供系統(tǒng)調(diào)用和根本函數(shù)的 C 庫(kù) 編譯安裝Gcc - 第二遍編譯安裝 Binutils - 第二遍重新編譯GCC和Binutils,銜接到新的Glibc上交叉編譯工具鏈交叉編譯工具鏈的安裝現(xiàn)有公認(rèn)比較好的ARMLINUX交叉編譯工具鏈一共有五組:Sharp

11、zaurus PDA版本myzaurus/downloads.aspHandhelds版本/downloads.html Snapgear版本Montavista版本Mizi版本 ftpftp.mizi/pub/linuette/etc/2.0/交叉編譯工具鏈交叉編譯工具鏈的安裝以Mizi開(kāi)發(fā)板為例Mizi交叉編譯工具以RPM包方式發(fā)布,并包含了一些常用的庫(kù)文件假設(shè)選擇mizi的2410TK的SDK里的交叉工具鏈,那么gcc版本為2.95.2,假設(shè)選擇了mizi2.0的那么gcc版本為2.95.3rpm -ivh -force -nodeps *.rpm開(kāi)發(fā)所用工具安裝到/opt/host/a

12、rmv4l下主機(jī)端系統(tǒng)配置檢測(cè)并口能否任務(wù)正常;檢測(cè)串口能否任務(wù)正常,運(yùn)轉(zhuǎn)MINICOM,將串口配置;為115200,8-N-1方式#minicom s啟動(dòng)NFS效力,設(shè)置輸出途徑;編輯/etc/exports文件,在里面參與如下一句話(huà):/nfsroot xxx.xxx.xxx.xxx(rw)啟動(dòng)TFTP效力,經(jīng)過(guò)運(yùn)轉(zhuǎn)SETUP命令;取消IPTABLES防火墻的啟動(dòng)運(yùn)轉(zhuǎn);#chkconfig level 3 iptables off上面兩個(gè)設(shè)置也可以經(jīng)過(guò)圖形界面,在系統(tǒng)菜單里的效力里面進(jìn)展選擇配置,詳細(xì)過(guò)程這里就不多講述。開(kāi)發(fā)所需工具仿真器,如MULTI-ICE;簡(jiǎn)易JTAG,可以用來(lái)燒寫(xiě)B(tài)o

13、otloader;交叉串口線(xiàn),23交叉;交叉網(wǎng)線(xiàn),主機(jī)對(duì)聯(lián)線(xiàn);USB扁平線(xiàn), 系統(tǒng)燒寫(xiě);仿真軟件,ADS,SDT。ARM linux bootloader開(kāi)發(fā)Bootloader的主要功能ARM linux Bootloader的啟動(dòng)步驟內(nèi)核啟動(dòng)參數(shù)表幾種常見(jiàn)的ARM linux BootloaderBootloader的主要功能根本功能引導(dǎo)操作系統(tǒng)初級(jí)調(diào)試功能下載與燒寫(xiě)附加功能系統(tǒng)自檢系統(tǒng)晉級(jí)參數(shù)設(shè)置ARM linux Bootloader的啟動(dòng)步驟一個(gè)最小需求的bootloader啟動(dòng)步驟配置CPU、內(nèi)存系統(tǒng)、FLASH及中斷裝載內(nèi)核到指定內(nèi)存區(qū)域裝載initial RAM disk到指定

14、內(nèi)存區(qū)域初始化內(nèi)核啟動(dòng)參數(shù)獲取ARM Linux 機(jī)器類(lèi)型設(shè)置正確的存放器值,并啟動(dòng)內(nèi)核附加步驟斷定ARM 系統(tǒng)形狀SLEEP方式初始化串口、網(wǎng)口、VIDEO等設(shè)備內(nèi)核啟動(dòng)參數(shù)表Bootloader傳送的內(nèi)核參數(shù)內(nèi)容內(nèi)存容量大小內(nèi)核啟動(dòng)命令行參數(shù)Init ram disk的位置及大小其他必要參數(shù)顯示及音頻設(shè)置、版本信息等參數(shù)表由許多項(xiàng)組成,須遵照以下原那么:參數(shù)表存貯在RAM的區(qū)域不能與 kernel 及initrd位置沖突,引薦在RAM的前16KiB,通常,在RAM起始的 0 x100偏移處最前面是中斷向量表在內(nèi)核啟動(dòng)前,將參數(shù)表位置把參數(shù)表位置固定在RAM的0 x100偏移處. 參數(shù)表不能

15、超越RAM的 0 x4000 偏移處,內(nèi)核初始化轉(zhuǎn)換表在那里假設(shè)不按上述引薦位置,那么參數(shù)表位置要字對(duì)齊 參數(shù)表必需以 ATAG_CORE項(xiàng)起始,以 ATAG_NONE終了參數(shù)表至少包含 ATAG_MEM項(xiàng)關(guān)于參數(shù)表信息可查看內(nèi)核代碼include/asm/setup.h內(nèi)核啟動(dòng)參數(shù)表內(nèi)核中參數(shù)表定義:struct tag struct tag_header hdr;union struct tag_corecore;struct tag_mem32mem;struct tag_videotextvideotext;struct tag_ramdiskramdisk;struct tag_in

16、itrdinitrd;struct tag_serialnrserialnr;struct tag_revisionrevision;struct tag_videolfbvideolfb;struct tag_cmdlinecmdline; u;幾種常見(jiàn)的ARM linux BootloaderARM linux 內(nèi)核開(kāi)發(fā)ARM Linux 內(nèi)核原碼樹(shù)構(gòu)造ARM Linux 內(nèi)核image構(gòu)造Linux 地址空間管理Linux 設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)Linux 下驅(qū)動(dòng)加載方式驅(qū)動(dòng)原碼分析ARM linux 內(nèi)核原碼樹(shù)構(gòu)造ARM linux 內(nèi)核image構(gòu)造內(nèi)核開(kāi)展至2.4版本以后,體積足見(jiàn)龐大,

17、為節(jié)省空間,采用緊縮內(nèi)核zImageARM linux最早基于2.4版本開(kāi)發(fā),因此我們有必要分析一下我們生成的緊縮內(nèi)核的構(gòu)造zImage頭代碼解析注:地址是相對(duì)于zImage的偏移位置Linux 地址空間管理Linux 是一個(gè)運(yùn)用虛擬內(nèi)存的系統(tǒng),這意味著用戶(hù)程序看到的地址不是直接對(duì)應(yīng)于硬件運(yùn)用的物理地址。虛擬內(nèi)存提出了一個(gè)間接的層,這對(duì)許多事情都是有利的。假設(shè)有虛擬內(nèi)存,運(yùn)轉(zhuǎn)在系統(tǒng)上的程序就可以分配到比可用物理內(nèi)存更多的內(nèi)存。甚至一個(gè)單獨(dú)的進(jìn)程都可以擁有比系統(tǒng)的物理內(nèi)存更大的虛擬地址空間,虛擬內(nèi)存也能在進(jìn)程地址空間上運(yùn)用很多技巧,包括映射設(shè)備的內(nèi)存。 Linux 地址空間管理虛擬空間映射的實(shí)現(xiàn)

18、手段初始化時(shí)映射運(yùn)用時(shí)映射Linux設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)Linux 設(shè)備驅(qū)動(dòng)程序分類(lèi)Linux 設(shè)備驅(qū)動(dòng)程序根本框架編寫(xiě) Linux 驅(qū)動(dòng)程序幾點(diǎn)本卷須知Linux 設(shè)備驅(qū)動(dòng)程序調(diào)試技術(shù) Linux 設(shè)備驅(qū)動(dòng)程序分類(lèi)字符設(shè)備支持面向字符的I/O操作擔(dān)任管理本人的緩沖區(qū)構(gòu)造順序存取功能塊設(shè)備僅支持面向塊的I/O操作一切I/O操作都經(jīng)過(guò)在內(nèi)核地址空間中的I/O緩沖區(qū)進(jìn)展隨機(jī)存取功能:支持幾乎恣意長(zhǎng)度和恣意位置上的I/O懇求網(wǎng)絡(luò)設(shè)備Linux 設(shè)備驅(qū)動(dòng)程序根本框架驅(qū)動(dòng)入口,初始化函數(shù)xxx_init: 向OS注冊(cè)及硬件初始化,包括中斷及bank設(shè)置、GPIO設(shè)置等主體代碼 struct file_ope

19、ration設(shè)備根本操作函數(shù)inode構(gòu)造體提供關(guān)于設(shè)備節(jié)點(diǎn)文件/dev/xxx的信息 時(shí)間流HZ 、jiffies 、wait_queue_head_t等; Linux 設(shè)備驅(qū)動(dòng)程序根本框架中斷效力程序Devfs接口設(shè)備文件系統(tǒng),動(dòng)態(tài)生成設(shè)備節(jié)點(diǎn)信息Proc接口提供內(nèi)核形狀信息,包括中斷,IO等Linux 設(shè)備驅(qū)動(dòng)程序根本框架編寫(xiě) Linux 驅(qū)動(dòng)程序幾點(diǎn)本卷須知時(shí)序的把握中斷的運(yùn)用內(nèi)存的分配Linux 設(shè)備驅(qū)動(dòng)程序調(diào)試技術(shù)printk 內(nèi)核打印信息根據(jù)記錄級(jí)別輸出信息,全部信息可查看/proc/kmsgioctl 系統(tǒng)調(diào)用strace 查看用戶(hù)空間程序運(yùn)轉(zhuǎn)形狀Oops (panic)信息解

20、讀 ksymoops Gdb等調(diào)試工具gdb /usr/src/linux/vmlinux /proc/kcoreLinux 下驅(qū)動(dòng)加載方式動(dòng)態(tài)內(nèi)核模塊module_init(s3c2410_uda1341_init);module_exit(s3c2410_uda1341_exit);編譯進(jìn)內(nèi)核顯式調(diào)用:如framebuffer驅(qū)動(dòng),在fbmem.c中#ifdef CONFIG_FB_S3C2410 s3c2410, s3c2410fb_init,s3c2410fb_setup ,#endif隱式調(diào)用: _initcall(gpio_init);驅(qū)動(dòng)原碼分析 一切原代碼均以S3C2410為例

21、GPIO 驅(qū)動(dòng)LCD 驅(qū)動(dòng)代碼MTD 驅(qū)動(dòng)代碼驅(qū)動(dòng)原碼分析GPIO 驅(qū)動(dòng)驅(qū)動(dòng)原碼分析驅(qū)動(dòng)原碼分析用戶(hù)空間編寫(xiě)運(yùn)用程序創(chuàng)建設(shè)備節(jié)點(diǎn)mknod c /dev/gpio 220 0驅(qū)動(dòng)原碼分析LCD 驅(qū)動(dòng)代碼主要配置參數(shù)驅(qū)動(dòng)原碼分析 framebuffer操作函數(shù)集驅(qū)動(dòng)原碼分析MTD 驅(qū)動(dòng)代碼Memory Technology Device (MTD)為FLASH設(shè)備定義了一致的操作接口/我們以INTEL E28F128 FLASH為例:現(xiàn)有內(nèi)核中曾經(jīng)支持此型號(hào)FLASH,故此FLASH檢測(cè)及讀寫(xiě)函數(shù)不需本人重新編寫(xiě),我們只需添加FLASH分區(qū)等信息給MTD就可以了.驅(qū)動(dòng)原碼分析MTD 驅(qū)動(dòng)代碼詳細(xì)

22、編寫(xiě)方法創(chuàng)建Drivers/mtd/maps/s3c2410_nor.c可從最相近板子FLASH map文件拷貝過(guò)來(lái).#cp pxa_cerf.c s3c2410_nor.c并按本人板子的FLASH分布構(gòu)造,修正FLASH啟始位置及創(chuàng)建分區(qū)表.驅(qū)動(dòng)原碼分析MTD 驅(qū)動(dòng)代碼驅(qū)動(dòng)原碼分析MTD 驅(qū)動(dòng)代碼修正mtd/map/Config.in添加關(guān)于2410的定義修正mtd/map/Makefile添加關(guān)于2410的編譯規(guī)那么ARM linux 文件系統(tǒng)ARM linux 文件系統(tǒng)類(lèi)型ARM linux 文件系統(tǒng)生成方法如何選擇適宜本人的根文件系統(tǒng)常用的幾個(gè)運(yùn)用程序包ARM linux 文件系統(tǒng)類(lèi)型

23、RAM disks CramfsJffs2YaffsRomfsNFSARM linux 文件系統(tǒng)生成方法普通都是經(jīng)過(guò)宿主機(jī)端運(yùn)轉(zhuǎn)image制造程序來(lái)生成#mkcramfs root_dir filename.cramfs#mkfs.jffs2 root_dir filename.jffs2#mkyaffsimage yaffs_dir file.yaffs #genromfs -v -V ROMdisk -f $(ROMFSIMG) -d $(ROMFSDIR)系統(tǒng)引導(dǎo)后拷貝文件#mount t jffs2 /dev/mtdblock/2 /usr#cp /tmp/yourfile /usr

24、ARM linux 文件系統(tǒng)生成方法Ram disk制造方法生成一個(gè)空的img文件格式化掛載下面就可以向img里面拷貝他所需求的東西了#cp av rootfs/* /tmp/initrdARM linux 文件系統(tǒng)生成方法Ram disk制造方法 將img緊縮生成我們所需的initrd # umount tmp/initrd # gzip -9 images/initrd.gz Ram disk的緊縮比例高達(dá)60%ARM linux 文件系統(tǒng)生成方法NFS nfs網(wǎng)絡(luò)文件系統(tǒng),需求在宿主機(jī)端運(yùn)轉(zhuǎn)nfs server效力,并將整理好的目的板的根文件系統(tǒng)文件夾export給指定IP客戶(hù)端 內(nèi)核為

25、了支持NFS作為根文件系統(tǒng)需求選擇NFS協(xié)議,如下所示:ARM linux 文件系統(tǒng)生成方法NFS命令行設(shè)置:root=/dev/nfs rw nfsroot=12.345.67.89:/yourpathNFS網(wǎng)絡(luò)文件系統(tǒng)是嵌入式開(kāi)發(fā)中常用手段運(yùn)用程序調(diào)試便利降低FLASH燒寫(xiě)次數(shù)假設(shè)bootloader中支持NFS,那么內(nèi)核也可以經(jīng)過(guò)tftp+nfs進(jìn)展調(diào)試這也是linux下NC的常用實(shí)現(xiàn)手法.如何選擇適宜本人的根文件系統(tǒng)選擇根據(jù)FLASH 空間大小RAM 空間大小啟動(dòng)速度數(shù)據(jù)保管如何選擇適宜本人的根文件系統(tǒng)幾種文件系統(tǒng)的性能對(duì)比常用的幾個(gè)運(yùn)用程序包Busybox 輕量級(jí)linux系統(tǒng)集成工

26、具包/Boa 小型webserver/Mtd-util mtd文件系統(tǒng)工具/Iptables 防火墻軟件包/圖形界面開(kāi)發(fā)圖形界面簡(jiǎn)介常見(jiàn)嵌入式Linux GUI比較Minigui移植QT/Embedded移植圖形界面簡(jiǎn)介GUI graphical user interfaces 為用戶(hù)提供界面友好的所見(jiàn)所得的圖形操作環(huán)境,用戶(hù)經(jīng)過(guò) GUI 與系統(tǒng)進(jìn)展交互。GUI根本框架圖形界面簡(jiǎn)介嵌入式Linux 圖形界面的特點(diǎn)體積小、系統(tǒng)耗費(fèi)低高性能、高可靠性可配置性嵌入式 Linux 下幾種常見(jiàn) GUIMiniguiminiguiQT/EmbeddedtrolltechMicrowindosmicrowindows.censoft常見(jiàn)嵌入式Linux GUI比較MiniGUIMicroWindowsQt-EmbeddedAPIWIN32X、WIN32子集QT(C+)函數(shù)庫(kù)典型大小500k600k1.5M可移植性好很好較好授權(quán)條款GPL/商業(yè)條款MPLQPL/GPL/商業(yè)條款多語(yǔ)種支持獨(dú)特的多字符集支持普通采用UNICODE可配置型好普通復(fù)雜系統(tǒng)資源耗費(fèi)小較大大效率好較差較差運(yùn)用廣泛性中國(guó)地域主要是美國(guó)歐美、韓國(guó)運(yùn)用廣泛Minigui移植

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論