資料介紹
嵌入式Linux是什么
嵌入式Linux跟桌面Linux一樣,是一個操作系統(tǒng)。從單片機走過來的童鞋往往習慣于直接控制寄存器,事必躬親,從零開始實現(xiàn)想要的功能。而在嵌入式Linux的世界里,我們首先要拋棄這個思想,應把它作為最后沒辦法的辦法。
就像我們想要在windows系統(tǒng)中編寫一個程序,首先想到的不是操作CPU芯片的寄存器,而是學習Windows API一樣。我們在嵌入式linux編程時,首先想到的應該是使用現(xiàn)成的驅動或軟件或Linux API。沒有的話看看能不能修改一下現(xiàn)成的資源為己所用。還是不行的話才考慮自己從頭開始寫。
我們常說的嵌入式linux系統(tǒng),其實與電腦端運行的linux系統(tǒng)本質上是一樣的,都是使用的linux內核,相同的文件系統(tǒng)目錄結構。區(qū)別在于嵌入式linux系統(tǒng)多少經過裁剪的,可能在操作時你會發(fā)現(xiàn),有些命令不支持,或者有些命令的個別參數(shù)不支持!還有就是內核的功能也有裁剪。 ? 對于不同的行業(yè),根據(jù)需求對軟硬件進行裁剪選配,這也是嵌入式linux系統(tǒng)廣泛應用的特點之一,具體特點包括: ?? 1、C語言即可入門 2、使用命令行
3、強大的網絡 4、遠程運維 5、成本低 ?
在學習嵌入式Linux之前,肯定要有C語言基礎。匯編基礎有沒有無所謂(就那么幾條匯編指令,用到了一看就會)。
C語言要學到什么程度呢?越熟當然越好,不熟的話也要具備基本技能。比如寫一個數(shù)組排序、輸入數(shù)字求和什么的。
學C語言唯一的方法是多寫程序多練習,編譯出錯沒關系,自己去解決;執(zhí)行出錯沒關系,自己去分析。以前我是用VC來練習C語言的,經常去嘗試著寫一些C語言競賽的題目。它們是純C、純數(shù)學、純邏輯的題目,不涉及界面這些東西,很適合煅煉你的編程能力。
整體大概是如何的流程
第一,學習基本的裸機編程。
對于學硬件的人而言,必須先對硬件的基本使用方法有感性的認識,更必須深刻認識該硬件的控制方式,如果一開始就學linux系統(tǒng)、學移植那么只會馬上就陷入一個很深的漩渦。我在剛剛開始學ARM的時候是選擇ARM7(主意是當時ARM9還很貴),學ARM7的時候還是保持著學51單片機的思維,使用ADS去編程,第一個實驗就是控制led。學過一段時間ARM的人都會笑這樣很笨,實際上也不是,我倒是覺得有這個過程會好很多,因為無論做多復雜的系統(tǒng)最終都會落實到這些最底層的硬件控制,因此對這些硬件的控制有了感性的認識就好很多了。
?? 學習裸機的編程的同時要好好理解這個硬件的構架、控制原理,這些我稱他為理解硬件。所謂的理解硬件就是說,理解這個硬件是怎么組織這么多資源的,這些資源又是怎么由cpu、由編程進行控制的。比如說,s3c2410中有AD轉換器,有GPIO(通用IO口),還有nandflash控制器,這些東西都有一些寄存器來控制,這些寄存器都有一個地址,那么這些地址是什么意思?又怎么通過寄存器來控制這些外圍設備的運轉?還有,norflash內部的每一個單元在這個芯片的內存中都有一個相應的地址單元,那么這些地址與剛剛說的寄存器地址又有什么關系?他們是一樣的嗎?而與norflash相對應的nandflash內部的儲存單元并不是線性排放的,那么s3c2410怎么將nandflash的地址映射在內存空間上進行使用?或者簡單地說應該怎么用nandflash?再有,使用ADS進對ARM9行編程時都需要使用到一個初始化的匯編文件,這個文件究竟有什么用?他里面的代碼是什么意思?不要這個可以嗎? ?? 諸如此類都是對硬件的理解,理解了這些東西就對硬件有很深的理解了,這對以后更深一步的學習將有很大的幫助,如果跳過這一步,我相信越往后學越會覺得迷茫,越覺得這寫東西深不可測。因為,你的根基沒打好。 ?? 不過先聲明一下,本人并沒有使用ADS對ARM9進行編程,我是學完ARM7后直接就使用ARM9學linux系統(tǒng)的,因此涉及使用ADS對ARM9進行編程的問題我很難回答^_^,自己去研究研究吧。 ??
第二,使用linux系統(tǒng)進行一些基本的實驗。
在買一套板子的時候一般會提供一些linux的試驗例程,好好做一段時間這個吧,這個過程也是很有意義的,也是為進一步的學習積累感性認識,你能想象一個從沒有使用過linux系統(tǒng)的人能學好linux的編程嗎?好好按照手冊上的例程做一做里面的實驗,雖然有點娃娃學走路,有點弱智,但是我想很多高手都會經歷這個過程。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式Linux network
- 【嵌入式Linux(基礎篇)】從標準Linux到嵌入式Linux + 嵌入式Linux知識架構
- 嵌入式Linux CAN
- 基于ARM與嵌入式Linux的GPRS無線通訊系統(tǒng)
- 嵌入式LINUX的Qt開發(fā)入門教程
- 基于樹莓派的嵌入式Linux開發(fā)教學探索
- 嵌入式Linux應用程序例程
- 在使用負載開關時 時序決定一切資料下載
- 嵌入式的硬件構架一覽資料下載
- 長文詳解嵌入式Linux系統(tǒng)移植資料下載
- 嵌入式Linux開發(fā)教程之嵌入式系統(tǒng)介紹資料免費下載
- 嵌入式開發(fā)Linux網絡編程培訓資料的詳細資料免費下載 34次下載
- Linux嵌入式系統(tǒng)ppt學習資料下載 21次下載
- 嵌入式linux教程下載
- 嵌入式LINUX設計與應用
- 文件系統(tǒng)-一切皆文件的設計理念 398次閱讀
- 單片機步入嵌入式Linux之觸摸屏與tslib 1347次閱讀
- 簡化SBC的嵌入式Linux軟件開發(fā) 998次閱讀
- 嵌入式Linux啟動時間優(yōu)化的秘密之五-Bootloader 2743次閱讀
- 基于嵌入式Linux內核的ARM9運行實現(xiàn)方式介紹 1475次閱讀
- 基于Yocto Project的定制嵌入式Linux產品設計淺析 1w次閱讀
- 如何在嵌入式Linux中截屏 5907次閱讀
- 關于嵌入式系統(tǒng)的特點和Linux內核的實時應用分析 1037次閱讀
- 什么是嵌入式Linux內核調試技術?嵌入式開發(fā)又面臨著哪些問題? 1134次閱讀
- 基于PXA255開發(fā)板外圍字符設備的嵌入式Linux字符設備驅動設計與應用 1138次閱讀
- 關于Linux嵌入式操作系統(tǒng)的優(yōu)勢特征詳解 5521次閱讀
- 一文告訴你七大嵌入式Linux操作系統(tǒng),你了解多少呢? 1w次閱讀
- 學習嵌入式linux系統(tǒng)開發(fā),文件類型一定要分清 809次閱讀
- 用Arduino Uno開發(fā)板和一塊面包板就能輕松搞定這一切 2.4w次閱讀
- 嵌入式Linux的學習方法解析 3091次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發(fā)板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多