資料介紹
嵌入式Linux是什么
嵌入式Linux跟桌面Linux一樣,是一個操作系統(tǒng)。從單片機走過來的童鞋往往習(xí)慣于直接控制寄存器,事必躬親,從零開始實現(xiàn)想要的功能。而在嵌入式Linux的世界里,我們首先要拋棄這個思想,應(yīng)把它作為最后沒辦法的辦法。
就像我們想要在windows系統(tǒng)中編寫一個程序,首先想到的不是操作CPU芯片的寄存器,而是學(xué)習(xí)Windows API一樣。我們在嵌入式linux編程時,首先想到的應(yīng)該是使用現(xiàn)成的驅(qū)動或軟件或Linux API。沒有的話看看能不能修改一下現(xiàn)成的資源為己所用。還是不行的話才考慮自己從頭開始寫。
我們常說的嵌入式linux系統(tǒng),其實與電腦端運行的linux系統(tǒng)本質(zhì)上是一樣的,都是使用的linux內(nèi)核,相同的文件系統(tǒng)目錄結(jié)構(gòu)。區(qū)別在于嵌入式linux系統(tǒng)多少經(jīng)過裁剪的,可能在操作時你會發(fā)現(xiàn),有些命令不支持,或者有些命令的個別參數(shù)不支持!還有就是內(nèi)核的功能也有裁剪。 ? 對于不同的行業(yè),根據(jù)需求對軟硬件進(jìn)行裁剪選配,這也是嵌入式linux系統(tǒng)廣泛應(yīng)用的特點之一,具體特點包括: ?? 1、C語言即可入門 2、使用命令行
3、強大的網(wǎng)絡(luò) 4、遠(yuǎn)程運維 5、成本低 ?
在學(xué)習(xí)嵌入式Linux之前,肯定要有C語言基礎(chǔ)。匯編基礎(chǔ)有沒有無所謂(就那么幾條匯編指令,用到了一看就會)。
C語言要學(xué)到什么程度呢?越熟當(dāng)然越好,不熟的話也要具備基本技能。比如寫一個數(shù)組排序、輸入數(shù)字求和什么的。
學(xué)C語言唯一的方法是多寫程序多練習(xí),編譯出錯沒關(guān)系,自己去解決;執(zhí)行出錯沒關(guān)系,自己去分析。以前我是用VC來練習(xí)C語言的,經(jīng)常去嘗試著寫一些C語言競賽的題目。它們是純C、純數(shù)學(xué)、純邏輯的題目,不涉及界面這些東西,很適合煅煉你的編程能力。
整體大概是如何的流程
第一,學(xué)習(xí)基本的裸機編程。
對于學(xué)硬件的人而言,必須先對硬件的基本使用方法有感性的認(rèn)識,更必須深刻認(rèn)識該硬件的控制方式,如果一開始就學(xué)linux系統(tǒng)、學(xué)移植那么只會馬上就陷入一個很深的漩渦。我在剛剛開始學(xué)ARM的時候是選擇ARM7(主意是當(dāng)時ARM9還很貴),學(xué)ARM7的時候還是保持著學(xué)51單片機的思維,使用ADS去編程,第一個實驗就是控制led。學(xué)過一段時間ARM的人都會笑這樣很笨,實際上也不是,我倒是覺得有這個過程會好很多,因為無論做多復(fù)雜的系統(tǒng)最終都會落實到這些最底層的硬件控制,因此對這些硬件的控制有了感性的認(rèn)識就好很多了。
?? 學(xué)習(xí)裸機的編程的同時要好好理解這個硬件的構(gòu)架、控制原理,這些我稱他為理解硬件。所謂的理解硬件就是說,理解這個硬件是怎么組織這么多資源的,這些資源又是怎么由cpu、由編程進(jìn)行控制的。比如說,s3c2410中有AD轉(zhuǎn)換器,有GPIO(通用IO口),還有nandflash控制器,這些東西都有一些寄存器來控制,這些寄存器都有一個地址,那么這些地址是什么意思?又怎么通過寄存器來控制這些外圍設(shè)備的運轉(zhuǎn)?還有,norflash內(nèi)部的每一個單元在這個芯片的內(nèi)存中都有一個相應(yīng)的地址單元,那么這些地址與剛剛說的寄存器地址又有什么關(guān)系?他們是一樣的嗎?而與norflash相對應(yīng)的nandflash內(nèi)部的儲存單元并不是線性排放的,那么s3c2410怎么將nandflash的地址映射在內(nèi)存空間上進(jìn)行使用?或者簡單地說應(yīng)該怎么用nandflash?再有,使用ADS進(jìn)對ARM9行編程時都需要使用到一個初始化的匯編文件,這個文件究竟有什么用?他里面的代碼是什么意思?不要這個可以嗎? ?? 諸如此類都是對硬件的理解,理解了這些東西就對硬件有很深的理解了,這對以后更深一步的學(xué)習(xí)將有很大的幫助,如果跳過這一步,我相信越往后學(xué)越會覺得迷茫,越覺得這寫東西深不可測。因為,你的根基沒打好。 ?? 不過先聲明一下,本人并沒有使用ADS對ARM9進(jìn)行編程,我是學(xué)完ARM7后直接就使用ARM9學(xué)linux系統(tǒng)的,因此涉及使用ADS對ARM9進(jìn)行編程的問題我很難回答^_^,自己去研究研究吧。 ??
第二,使用linux系統(tǒng)進(jìn)行一些基本的實驗。
在買一套板子的時候一般會提供一些linux的試驗例程,好好做一段時間這個吧,這個過程也是很有意義的,也是為進(jìn)一步的學(xué)習(xí)積累感性認(rèn)識,你能想象一個從沒有使用過linux系統(tǒng)的人能學(xué)好linux的編程嗎?好好按照手冊上的例程做一做里面的實驗,雖然有點娃娃學(xué)走路,有點弱智,但是我想很多高手都會經(jīng)歷這個過程。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式Linux network
- 【嵌入式Linux(基礎(chǔ)篇)】從標(biāo)準(zhǔn)Linux到嵌入式Linux + 嵌入式Linux知識架構(gòu)
- 嵌入式Linux CAN
- 基于ARM與嵌入式Linux的GPRS無線通訊系統(tǒng)
- 嵌入式LINUX的Qt開發(fā)入門教程
- 基于樹莓派的嵌入式Linux開發(fā)教學(xué)探索
- 嵌入式Linux應(yīng)用程序例程
- 在使用負(fù)載開關(guān)時 時序決定一切資料下載
- 嵌入式的硬件構(gòu)架一覽資料下載
- 長文詳解嵌入式Linux系統(tǒng)移植資料下載
- 嵌入式Linux開發(fā)教程之嵌入式系統(tǒng)介紹資料免費下載
- 嵌入式開發(fā)Linux網(wǎng)絡(luò)編程培訓(xùn)資料的詳細(xì)資料免費下載 35次下載
- Linux嵌入式系統(tǒng)ppt學(xué)習(xí)資料下載 21次下載
- 嵌入式linux教程下載
- 嵌入式LINUX設(shè)計與應(yīng)用
- 文件系統(tǒng)-一切皆文件的設(shè)計理念 1.2k次閱讀
- 單片機步入嵌入式Linux之觸摸屏與tslib 2.8k次閱讀
- 簡化SBC的嵌入式Linux軟件開發(fā) 1.9k次閱讀
- 嵌入式Linux啟動時間優(yōu)化的秘密之五-Bootloader 3.4k次閱讀
- 基于嵌入式Linux內(nèi)核的ARM9運行實現(xiàn)方式介紹 1.9k次閱讀
- 基于Yocto Project的定制嵌入式Linux產(chǎn)品設(shè)計淺析 1.1w次閱讀
- 如何在嵌入式Linux中截屏 6.7k次閱讀
- 關(guān)于嵌入式系統(tǒng)的特點和Linux內(nèi)核的實時應(yīng)用分析 1.5k次閱讀
- 什么是嵌入式Linux內(nèi)核調(diào)試技術(shù)?嵌入式開發(fā)又面臨著哪些問題? 1.6k次閱讀
- 關(guān)于Linux嵌入式操作系統(tǒng)的優(yōu)勢特征詳解 6.1k次閱讀
- 一文告訴你七大嵌入式Linux操作系統(tǒng),你了解多少呢? 1.1w次閱讀
- 學(xué)習(xí)嵌入式linux系統(tǒng)開發(fā),文件類型一定要分清 1.3k次閱讀
- 嵌入式Linux系統(tǒng)的7個重要模塊 7.3k次閱讀
- 用Arduino Uno開發(fā)板和一塊面包板就能輕松搞定這一切 2.6w次閱讀
- 嵌入式Linux的學(xué)習(xí)方法解析 3.7k次閱讀
下載排行
本周
- 1冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費
- 4丹佛斯2800系列變頻器說明書
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開關(guān)型降壓3.5A單節(jié)鋰電池充電管理電路技術(shù)手冊
- 0.74 MB | 1次下載 | 免費
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測距模塊產(chǎn)品手冊
- 0.43 MB | 1次下載 | 免費
- 8SDFM 激光測距模塊模組手冊
- 0.54 MB | 1次下載 | 免費
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場分析及創(chuàng)新應(yīng)用
- 3.11 MB | 43次下載 | 免費
- 3RV1126B系列開發(fā)板產(chǎn)品資料
- 4.19 MB | 18次下載 | 免費
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開發(fā)板 四核異構(gòu)、3路千兆網(wǎng),賦能多元化工業(yè)場景
- 3.05 MB | 12次下載 | 免費
- 6【開源】60余套STM32單片機、嵌入式Linux、物聯(lián)網(wǎng)、人工智能項目案例及入門學(xué)習(xí)資源包
- 10.55 MB | 8次下載 | 免費
- 7冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車載充電機主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論