《嵌入式Linux開發(fā)技術(shù)及實踐》是2015年西安電子科技大學(xué)出版社出版的圖書,作者是青島東合信息技術(shù)有限公司。
書名 | 嵌入式Linux開發(fā)技術(shù)及實踐 | 作者 | 青島東合信息技術(shù)有限公司 |
---|---|---|---|
ISBN | 978-7-5606-3313-8 | 定價 | 57.8元 |
出版社 | 西安電子科技大學(xué)出版社 | 出版時間 | 2015-05 |
linux嵌入式開發(fā)板 買哪種的比較好 我是一個初學(xué)者
買arm11內(nèi)核的吧,6410芯片,聽說arm9要停產(chǎn)了。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ———答案來自希賽教育Linux...
無所不在的嵌入式系統(tǒng) 多年前,比爾.蓋茨曾經(jīng)預(yù)言,隨著后PC時代的到來,PC將無處不在。今天,伴隨著二十一世紀(jì)的曙光,嵌入式系統(tǒng)和3G移動互聯(lián)網(wǎng)的迅猛發(fā)展正驗證了比爾.蓋茨的預(yù)言,人類正迎來一個充滿希...
無所不在的嵌入式系統(tǒng)多年前,比爾.蓋茨曾經(jīng)預(yù)言,隨著后PC時代的到來,PC將無處不在。今天,伴隨著二十一世紀(jì)的曙光,嵌入式系統(tǒng)和3G移動互聯(lián)網(wǎng)的迅猛發(fā)展正驗證了比爾.蓋茨的預(yù)言,人類正迎來一個充滿希望...
格式:pdf
大小:1.3MB
頁數(shù): 未知
評分: 4.6
簡要介紹了基于嵌入式ARM處理器芯片LPC3250的嵌入式Linux的LED驅(qū)動程序的開發(fā)原理、流程以及相關(guān)主要接口硬件電路的設(shè)計。實際運(yùn)行結(jié)果表明,該設(shè)計完全達(dá)到預(yù)期效果。
嵌入式學(xué)習(xí)是一個循序漸進(jìn)的過程,如果是希望向嵌入式軟件方向發(fā)展的話,目前最常見的是嵌入式Linux方向,關(guān)注這個方向,大概分3個階段:
1、嵌入式Linux上層應(yīng)用,包括QT的GUI開發(fā)
2、嵌入式Linux系統(tǒng)開發(fā)
3、嵌入式Linux驅(qū)動
Linux是開源免費(fèi)的,而且其源代碼是開放的,更加適合學(xué)習(xí)嵌入式。
(1) C語言是所有編程語言中的強(qiáng)者,因此必須非常熟練的掌握。
(2)Linux操作系統(tǒng)就是用C語言編寫的,所以也應(yīng)該先學(xué)習(xí)下Linux方面的編程,只有會應(yīng)用了,才能近一步去了解其內(nèi)核的精髓。
(4) 了解ARM的架構(gòu),原理,以及其匯編指令,我們在嵌入式開發(fā)中,一般很少去寫匯編,但是最起碼的要求是能夠看懂a(chǎn)rm匯編。
(5) 系統(tǒng)移植的時候,就需要你從最下層的bootloader開始,然后內(nèi)核移植,文件系統(tǒng)移植等。
(6) 驅(qū)動開發(fā)
linux驅(qū)動程序設(shè)計既是個極富有挑戰(zhàn)性的領(lǐng)域,又是一個博大精深的內(nèi)容。
以上是大概的框架,
推薦學(xué)習(xí)平臺:
iTOP-4412開發(fā)板涵蓋嵌入式技術(shù)熱點(diǎn),支持linux,android,QT,Ubuntu系統(tǒng)
核心板參數(shù)
尺寸:50mm*60mm
高度:連同連接器在內(nèi)0.26cm
CPU:Exynos4412,四核Cortex-A9,主頻為1.4GHz-1.6GHz
內(nèi)存:1GB 雙通道 DDR3(2GB 可選)
存儲4GB EMMC(16GB 可選)
電源管理:低功耗動態(tài)三星S5M8767電源管理,最優(yōu)架構(gòu)!
工作電壓:2.65V--5.5V (推薦4.0V)
系統(tǒng)支持:Linux-QT/Android4.2/Ubuntu操作系統(tǒng)
USB HOST:板載USB3503,引出高性能HSIC,實現(xiàn)2路USB HOST輸出
引角擴(kuò)展:引出腳多達(dá)320個,滿足用戶各類擴(kuò)展需求
運(yùn)行溫度:-25度至+80度區(qū)間,設(shè)備工作正常,運(yùn)行良好!
底板參數(shù)
尺寸:110mm*190mm
SWITCH:電源接口
RESET:1個復(fù)位按鍵
POWER:電直流電源輸入接口,5V/2A電源輸入
TF Card:1個標(biāo)準(zhǔn)TF卡接口
USB Host:2路USB Host,支持USB2.0協(xié)議
USB OTG:1路USB OTG 2.0
以太網(wǎng)口:10M/100M自適應(yīng)網(wǎng)口
PHONE:支持耳機(jī)輸出
MIC:支持MIC輸入
串口:2路串口
A/D:1路
User Key:5個功能按鍵
DIP SWITCH:1個
GPIO:20PIN(電源和地)
CAMERA接口:1個(可支持200萬和500萬攝像頭)
WIFI接口:1個
HDMI接口:標(biāo)準(zhǔn)HDMI v1.4,1080p高清分辨率輸出
LCD接口:共3個,2個LVDS接口,1個RGB接口
LCD電源開關(guān):1個
MIPI接口:1個
實時時鐘:內(nèi)部實時時鐘,帶有后備鋰電池座,斷電后系統(tǒng)時間不丟失
BUZZER:1個蜂鳴器
JTAG接口:1個
串口、矩陣鍵盤、GPS接口:1個
Linux系統(tǒng)中有關(guān)/dev/null和/dev/zero文件說明
提示:這個題目完全可以作為一個面試題考考運(yùn)維的應(yīng)聘者:
面試題:請解釋Linux中/dev/null和/dev/zero兩個文件的作用和區(qū)別。
在類Unix操作系統(tǒng)中,設(shè)備節(jié)點(diǎn)并不一定要對應(yīng)物理設(shè)備。沒有這種對應(yīng)關(guān)系的設(shè)備被稱之為偽設(shè)備。操作系統(tǒng)運(yùn)用了它們實現(xiàn)多種多樣的功能,/dev/null和/dev/zero就是這樣的設(shè)備,類似的還有/dev/urandom、/dev/tty等。
先檢查下/dev/null和/dev/zero兩個文件的屬性:
[root@oldboy ~]# ls -l/dev/null /dev/zero
crw-rw-rw-. 1 root root 1, 3Jul 15 00:11 /dev/null
crw-rw-rw-. 1 root root 1, 5Jul 15 00:11 /dev/zero
提示:從文件屬性可以看出這兩個文件都是字符設(shè)備文件。
1、/dev/null
1)/dev/null介紹
大家都知道宇宙中“太陽黑洞”吧,所有的天體(含地球)一旦進(jìn)入了太陽黑洞都會消失的無影無蹤。這里的/dev/null就是Linux系統(tǒng)中的"黑洞"。
在類Unix系統(tǒng)中,/dev/null(空設(shè)備文件或黑洞文件)是一個特殊的設(shè)備文件,所有寫入其中的數(shù)據(jù),都會被丟棄的無影無蹤,/dev/null通常被用于丟棄不需要的數(shù)據(jù)輸出,或作為用于輸入流的空文件。這些操作通常由重定向完成。
2)/dev/null實踐
范例1-1:清空文件。
[root@oldboy ~]# cp/etc/hosts{,.ori} #<==備份。
[root@oldboy ~]# cat /dev/null>/etc/hosts #<==將讀取黑洞設(shè)備寫入到/etc/hosts,表示清空hosts文件。
[root@oldboy ~]# cat/etc/hosts #<==果然沒了。使用上述備份恢復(fù)回來。
范例1-2:將無用的輸出流寫入到黑洞丟棄。
當(dāng)取一個地址響應(yīng)頭的第一行時,加上管道就會出現(xiàn)下面的特殊結(jié)果:
[root@oldboy ~]# curl -Iwww.oldboyedu.com|head -1
% Total % Received % Xferd AverageSpeed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
HTTP/1.1 200 OK
執(zhí)行上述命令時,會憑空多出來的幾行無用信息,此時就可以使用將錯誤信息定向到黑洞(2>/dev/null)的方式丟棄無用信息。
[root@oldboy ~]# curl -Iwww.oldboyedu.com 2>/dev/null|head -1 #<==將錯誤信息定向到黑洞。
HTTP/1.1 200 OK
當(dāng)然了curl命令也提供了實現(xiàn)參數(shù),這里暫且不多表。
[root@oldboy ~]# curl -I -s www.oldboyedu.com|head-1
HTTP/1.1 200 OK
范例1-3:將定時任務(wù)腳本結(jié)尾加上>/dev/null 2>&1
在書寫定時任務(wù)總,規(guī)范的寫法就是將所有定時任務(wù)腳本結(jié)尾加上>/dev/null 2>&1,讓所有的輸出流(包括錯誤的和正確的)都定向到空設(shè)備丟棄。
[root@oldboy ~]# crontab -l
#time sync by oldboy at2010-2-1
*/5 * * * * /usr/sbin/ntpdatetime.windows.com >/dev/null 2>&1
#bak all db
00 01 * * * /bin/sh/server/s/mysqlbak.sh >/dev/null 2>&1
2、/dev/zero
1) /dev/zero介紹
和/dev/null類似,/dev/zero也是一個特殊的字符設(shè)備文件,當(dāng)我們使用或讀取它的時候,它會提供無限連續(xù)不斷的空的數(shù)據(jù)流(特殊的數(shù)據(jù)格式流)。
/dev/zero文件的常見應(yīng)用場景有二:
a./dev/zero文件覆蓋其他文件信息。
b.產(chǎn)生指定大小的空文件,例如:交換文件、模擬虛擬文件系統(tǒng)等。
2)/dev/zero實踐
范例1-5:產(chǎn)生指定大小的空文件。
[root@oldboy ~]# dd if=/dev/zeroof=test.data bs=1M count=2 #<==生成塊大小1M,含有2個塊的文件。
2+0 records in
2+0 records out
2097152 bytes (2.1 MB) copied,0.00279345 s, 751 MB/s
[root@oldboy ~]# ls -lhtest.data
-rw-r--r--. 1 root root 2.0MJul 15 20:20 test.data #<==一共2M大小。
[root@oldboy ~]# filetest.data
test.data: data #<==特殊的數(shù)據(jù)文件格式。
提示:在使用dd命令產(chǎn)生空文件時常用/dev/zero作為字符流的源。
范例1-4:利用/dev/zero文件覆蓋其他文件信息
[root@oldboy ~]# echo oldboy>new.txt #<==生成一個新文件寫入oldboy字符串。
[root@oldboy ~]# ddif=/dev/zero of=new.txt bs=1M count=10 #<==用空的字符流覆蓋存在的new.txt文件。
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied,0.0475368 s, 221 MB/s
[root@oldboy ~]# cat new.txt #<==數(shù)據(jù)丟失了。
更多干貨請關(guān)注老男孩公眾號
本書由田澤編著。
田澤,現(xiàn)任中航工業(yè)西安航空計算技術(shù)研究所副總工程師兼航空微電子技術(shù)研究室主任。長期以來從事VLSI設(shè)計、SoC設(shè)計方法學(xué)、嵌入式微處理器體系結(jié)構(gòu)與VLSI實現(xiàn)、嵌入式應(yīng)用系統(tǒng)開發(fā)的科研及管理工作。榮獲“2008年陜航局優(yōu)秀共產(chǎn)黨員”、“2007—2008年六三一所優(yōu)秀干部”等光榮稱號。出版著作、譯著、教材14本,獲授權(quán)的國家發(fā)明專利兩項,主持國家及省部級項目20多項,發(fā)表學(xué)術(shù)論文60多篇,獲“2009年中國嵌入式系統(tǒng)十大杰出青年”。