第一篇:嵌入式linux學(xué)習(xí)內(nèi)容
知識(shí)結(jié)構(gòu)
1. 嵌入式處理器與裸機(jī)程序開(kāi)發(fā) 2. linux系統(tǒng)管理 3. linux應(yīng)用程序開(kāi)發(fā) 4. linux驅(qū)動(dòng)程序開(kāi)發(fā) 5. linux內(nèi)核開(kāi)發(fā)與系統(tǒng)移植
一、處理器
1. arm處理器工作模式 2. arm系統(tǒng)寄存器 3. arm尋址方式 4. arm 匯編指令集 5. arm環(huán)境c語(yǔ)言編程 6. arm中斷與異常 7. ads集成開(kāi)發(fā)環(huán)境
8. 裸機(jī)程序開(kāi)發(fā)(串口、lcd、時(shí)鐘、led、按鍵……)
二、系統(tǒng)管理
1. linux定制安裝 2. linux命令詳解
3. samba、nfs、tftp、m.seogis.commc卡驅(qū)動(dòng)程序 分析一個(gè)文件系統(tǒng) 對(duì)比linux2.6內(nèi)核與2.4內(nèi)核中塊設(shè)備驅(qū)動(dòng)的不同
11、文件系統(tǒng)
虛擬文件系統(tǒng) 文件系統(tǒng)的建立 ramfs內(nèi)存文件系統(tǒng) proc文件系統(tǒng) devfs 文件系統(tǒng) mtd技術(shù)簡(jiǎn)介 mtd塊設(shè)備初始化 mtd塊設(shè)備的讀寫(xiě)操作了解linux系統(tǒng)的文件系統(tǒng) 了解嵌入式linux的文件系統(tǒng) 了解mtd技術(shù) 能夠編寫(xiě)簡(jiǎn)單的文件系統(tǒng)為 arm9開(kāi)發(fā)板添加 mtd支持 移植jffs2文件系統(tǒng) 通過(guò)proc文件系統(tǒng)修改操作系統(tǒng)參數(shù) 分析romfs 文件系統(tǒng)源代碼 創(chuàng)建一個(gè)cramfs 文件系統(tǒng)
第三篇:嵌入式linux學(xué)習(xí)經(jīng)驗(yàn)談
打印版本,(轉(zhuǎn)載)前面廢話(huà)省略,進(jìn)入正題:一、廢話(huà)(已刪)。
二、起步:你應(yīng)該為自己創(chuàng)造一個(gè)學(xué)習(xí)linux的環(huán)境--在電腦上裝一個(gè)linux或unix
如何選擇版本:北美用redhat,歐洲用suse,桌面mandrake較多,而debian是技術(shù)最先進(jìn)的linux開(kāi)發(fā)人員中用debian的最多,其次是redhat,從全球linux各應(yīng)用領(lǐng)域市場(chǎng)份額來(lái)看無(wú)疑redhat是最多的,此外還有很多出名的發(fā)行版本,不再列舉。
對(duì)于初學(xué)linux的人來(lái)說(shuō),我建議是使用redhat,原因如下:
1)現(xiàn)在很多書(shū)都是以redhat為例講的,為了與書(shū)本協(xié)調(diào)一致
2)周?chē)娜硕加胷edhat,交流比較方便
3)redhat應(yīng)用范圍廣,有典型性和代表性
4)它易于使用和安裝,我們沒(méi)有必要把時(shí)間浪費(fèi)在“裝系統(tǒng)”上而應(yīng)集中精力學(xué)習(xí)最有用的東西。
【注】現(xiàn)在覺(jué)得rh很死板,as,es等用在服務(wù)器上或許不錯(cuò),personal desktop用mandrake,debian,suse都不錯(cuò),筆者現(xiàn)在用mandrake,因?yàn)樗L(zhǎng)得漂亮:)
如果你并不打算深入學(xué)習(xí)linux,而是有諸如適應(yīng)北京市政府辦公平臺(tái)遷移到linux上這種需要,那么中軟,紅旗等中文linux是不錯(cuò)的選擇
我強(qiáng)烈建議:自己親自動(dòng)手把linux裝到你的硬盤(pán)上,你必須學(xué)會(huì)獨(dú)立安裝linux系統(tǒng)的技能,對(duì)于現(xiàn)在的版本來(lái)說(shuō),其實(shí)跟裝m.seogis.com
系統(tǒng)底層及內(nèi)核,硬件,設(shè)備驅(qū)動(dòng)程序,嵌入式開(kāi)發(fā)都需要。//走核心路線(xiàn)的話(huà),cc++,asm最重要
6.java,python,tcl,xml
五、系統(tǒng)管理篇
在熟悉linux的基礎(chǔ)上還需要掌握至少一種unix。我首推solaris,其次是freebsd比如運(yùn)營(yíng)級(jí)系統(tǒng)一般是
solaris+oracle/db2之類(lèi)的學(xué)習(xí)apache、ssh、sendmail/qmail、proftp/vsftp、samba、squid、mysql/postgresql/oracle、bind等各種應(yīng)用服務(wù)器的構(gòu)架及電子商務(wù)的應(yīng)用熟悉tcp/ip協(xié)議族,學(xué)習(xí)諸如apache+php+proftp+mysql+quota的實(shí)現(xiàn)以及大型局域網(wǎng),分布式集群等各種企業(yè)級(jí)應(yīng)用解決方案熟悉多用戶(hù)管理,數(shù)據(jù)庫(kù)管理,文件系統(tǒng),邏輯存儲(chǔ)管理,日志分析,備份與災(zāi)難數(shù)據(jù)修復(fù)系統(tǒng)補(bǔ)丁,內(nèi)核升級(jí),以及在此基礎(chǔ)上的防火墻構(gòu)架等以保障系統(tǒng)安全在內(nèi)的各種系統(tǒng)管理技能。 我覺(jué)得,如果在此基礎(chǔ)上再掌握路由/交換設(shè)備便是一個(gè)不錯(cuò)的系統(tǒng)管理員
各種基于linux的解決方案可參考相關(guān)書(shū)籍和文獻(xiàn),必要時(shí)用google或各大linux站點(diǎn)站內(nèi)搜索引擎尋找最新文檔,以避免錯(cuò)誤和漏洞有幾本技術(shù)大全和技術(shù)內(nèi)幕我認(rèn)為都是這方面不錯(cuò)的書(shū)
六、深入學(xué)習(xí)linux
我個(gè)人理解的讀linux內(nèi)核需要的基礎(chǔ):在此之前,希望先把應(yīng)用層的東西學(xué)一下,那樣會(huì)比較好理解
1.c
如果學(xué)過(guò)潭浩強(qiáng)的大學(xué)教科書(shū)(除了編幾個(gè)數(shù)學(xué)模型好像什么也做不了的那種),建議再看一下《the c programming language》second edition這本圣經(jīng)(如果想學(xué)緩沖區(qū)溢出,這點(diǎn)c的功力可能是不夠的,還有<c陷阱與缺陷>,<c專(zhuān)家編程>,<cc++深層探索>,反正經(jīng)典書(shū)看多了是沒(méi)有壞處的)
2.asm (at&t語(yǔ)法,保護(hù)模式)
保護(hù)模式下的比較復(fù)雜,基本上每本講內(nèi)核的書(shū)都會(huì)有介紹有80x86 intel語(yǔ)法的基礎(chǔ)就行, 有興趣可以看看intel的官方網(wǎng)站
3.數(shù)據(jù)結(jié)構(gòu)(離散數(shù)學(xué))
計(jì)算機(jī)專(zhuān)業(yè)的核心課程,重要性我就不說(shuō)了
4.操作系統(tǒng)原理
看懂這個(gè)再去讀linux吧
5.微機(jī)原理/組成原理(數(shù)字電路)
底層直接和硬件打交道,所以這個(gè)也要
6.了解linux/unix
我想至少你要會(huì)操作吧,了解unix的api
7.軟件工程/編譯原理
這方面的經(jīng)典書(shū)去可以搜到很多我覺(jué)得apue這種書(shū)不適合初學(xué)者,還是先看看upe之類(lèi)的吧。 apue: 《advanced programming in the unix environment》,中文名《unix環(huán)境高級(jí)編程》,作者:m.seogis.comod,可連這個(gè)命令在主機(jī)還是arm上用都沒(méi)搞明白,那叫一個(gè)汗。〈蠹椅鹦,嵌入式linux的初學(xué)者確實(shí)對(duì)交叉環(huán)境比較不懂,我是其一啊。?
現(xiàn)在適逢好友小布丁要學(xué)習(xí)嵌入式linux,就將近一年來(lái)的學(xué)習(xí)體會(huì)總結(jié)下,整理了一個(gè)總體的學(xué)習(xí)計(jì)劃,希望給那些曾經(jīng)像我一樣彷徨的人一些幫助。后續(xù)將完善此文檔,上傳到個(gè)人空間上,先貼出目錄。本人水平有限,不當(dāng)之處,還請(qǐng)大家指正!
?
小布丁同學(xué)曾在我處于困境時(shí)一如既往的理解我支持我,給我信心給我鼓勵(lì),謝謝你,美麗開(kāi)懷的小布丁,希望你能happy and fascinating forever!
?
謹(jǐn)以此文獻(xiàn)給我們永遠(yuǎn)可愛(ài)迷人的小布!
?
sailor_forever
september 3, 201*
?
*****************************************************************************?
?
第一篇 linux主機(jī)開(kāi)發(fā)環(huán)境(15天)
?
1.1 vmvare下linux的安裝(優(yōu)先)
1.2 m.seogis.com端網(wǎng)絡(luò)服務(wù)2.4.2 編譯arm-gdb ? 2.5 交叉調(diào)試應(yīng)用程序 2.6 arm上的簡(jiǎn)單模塊編程 ? 第三篇 linux系統(tǒng)bootlaoder移植(7天) 3.1 bootloader介紹 3.2 u-boot命令及環(huán)境變量 3.3 u-boot的編譯配置 3.4 u-boot源碼分析 3.5 u-boot移植過(guò)程? 第四篇 linux的內(nèi)核移植(15天) 4.1 配置編譯linux內(nèi)核 4.1.1 linux內(nèi)核源代碼結(jié)構(gòu) 4.1.2 linux內(nèi)核編譯選項(xiàng)解析 4.1.3linux內(nèi)核編譯鏈接 4.2linux啟動(dòng)過(guò)程源代碼分析 4.3linux內(nèi)核移植平臺(tái)相關(guān)代碼分析 ? 第五篇 linux的驅(qū)動(dòng)編程(15天) 5.1 linux的設(shè)備管理 5.2 linux的驅(qū)動(dòng)程序結(jié)構(gòu) 5.3 簡(jiǎn)單的字符設(shè)備驅(qū)動(dòng)程序 5.4 linux內(nèi)核模塊的加載卸載 5.5 linux的打印調(diào)試方法 5.6 字符設(shè)備的高級(jí)屬性-中斷 5.6 常見(jiàn)的串口網(wǎng)口驅(qū)動(dòng)分析 ? 第六篇 文件系統(tǒng)制作(5天)
6.2 文件系統(tǒng)和存儲(chǔ)設(shè)備的選擇 6.3 部署ramdisk文件系統(tǒng)的過(guò)程 ? 第七篇 linux的高級(jí)應(yīng)用編程(5天) ? 總用時(shí) 15+7+7+15+15+5+5 大概兩個(gè)半月
第五篇:嵌入式linux驅(qū)動(dòng)學(xué)習(xí)總結(jié)
調(diào)用gcc: export path=$path:/usr/(請(qǐng)幫助宣傳好范文 網(wǎng):m.seogis.comons
portmap: 192.168.1.
lockd: 192.168.1.
rquotad: 192.168.1.
mountd: 192.168.1.
statd: 192.168.1.
/etc/hosts.deny 和 /etc/hosts.allom.seogis.comap restart
重啟portmap daemon.
(4)配置/etc/exports
nfs掛載目錄及權(quán)限由/etc/exports文件定義
比如我要將將我的/opt/friendlyarm/mini2440/root_nfs目錄讓用戶(hù)的ip共享, 則在該文件末尾添加下列語(yǔ)句:
/opt/friendlyarm/mini2440/root_nfs *(rm.seogis.comount -e 查看nfs server的export list.
若更改了/etc/exports, 運(yùn)行 sudo exportfs -r 更新
運(yùn)行 /etc/init.d/nfs-kernel-server restart 重啟nfs服務(wù)
(5)測(cè)試nfs
可以嘗試一下掛載本地磁盤(pán)
我前面開(kāi)始時(shí)已經(jīng)提到了我的主機(jī)ip是192.168.1.101
我現(xiàn)在試把/opt/friendlyarm/mini2440/root_nfs目錄掛載到/mnt目錄下 mount -t nfs 192.168.1.101:/opt/friendlyarm/mini2440/root_nfs /mnt 就101和:之間的空格我耗了1個(gè)小時(shí)
成功的掛載上的話(huà)你會(huì)在/mnt目錄下看到root_nfs這個(gè)文件夾下的內(nèi)容 arm9之家賬戶(hù):李向陽(yáng)85
安裝ncurses
ncurses是字符終端下屏幕控制的基本庫(kù)。可能很多新開(kāi)發(fā)的程序都不使用了,不過(guò)如果要編譯一些老程序,還經(jīng)常遇得到。
安裝:ncurses
http://ftp.gnu.org/pub/gnu/ncurses/
./configure --without-debug #以及其它自己需要的參數(shù)
make
make install
3,繼續(xù)你的make menuconfig。
圖形界面出來(lái)了。
允
23:22:22
小允
23:22:31
小允 23:22:40
有用不同的名字的嗎
寂寞沙洲冷 23:22:42
我把drivers下面的makefile都添加上了 寂寞沙洲冷 23:23:17
叫misc devices 可以吧
小允 23:23:22
2410adc_driver和2410adc_featuresnengbutongma小允 23:23:33
這兩個(gè)必須一樣
小允 23:23:42
這才是kconfig的工作原理
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。