資料介紹
嵌入式Linux是什么
嵌入式Linux跟桌面Linux一樣,是一個操作系統。從單片機走過來的童鞋往往習慣于直接控制寄存器,事必躬親,從零開始實現想要的功能。而在嵌入式Linux的世界里,我們首先要拋棄這個思想,應把它作為最后沒辦法的辦法。
就像我們想要在windows系統中編寫一個程序,首先想到的不是操作CPU芯片的寄存器,而是學習Windows API一樣。我們在嵌入式linux編程時,首先想到的應該是使用現成的驅動或軟件或Linux API。沒有的話看看能不能修改一下現成的資源為己所用。還是不行的話才考慮自己從頭開始寫。
我們常說的嵌入式linux系統,其實與電腦端運行的linux系統本質上是一樣的,都是使用的linux內核,相同的文件系統目錄結構。區別在于嵌入式linux系統多少經過裁剪的,可能在操作時你會發現,有些命令不支持,或者有些命令的個別參數不支持!還有就是內核的功能也有裁剪。 ? 對于不同的行業,根據需求對軟硬件進行裁剪選配,這也是嵌入式linux系統廣泛應用的特點之一,具體特點包括: ?? 1、C語言即可入門 2、使用命令行
3、強大的網絡 4、遠程運維 5、成本低 ?
在學習嵌入式Linux之前,肯定要有C語言基礎。匯編基礎有沒有無所謂(就那么幾條匯編指令,用到了一看就會)。
C語言要學到什么程度呢?越熟當然越好,不熟的話也要具備基本技能。比如寫一個數組排序、輸入數字求和什么的。
學C語言唯一的方法是多寫程序多練習,編譯出錯沒關系,自己去解決;執行出錯沒關系,自己去分析。以前我是用VC來練習C語言的,經常去嘗試著寫一些C語言競賽的題目。它們是純C、純數學、純邏輯的題目,不涉及界面這些東西,很適合煅煉你的編程能力。
整體大概是如何的流程
第一,學習基本的裸機編程。
對于學硬件的人而言,必須先對硬件的基本使用方法有感性的認識,更必須深刻認識該硬件的控制方式,如果一開始就學linux系統、學移植那么只會馬上就陷入一個很深的漩渦。我在剛剛開始學ARM的時候是選擇ARM7(主意是當時ARM9還很貴),學ARM7的時候還是保持著學51單片機的思維,使用ADS去編程,第一個實驗就是控制led。學過一段時間ARM的人都會笑這樣很笨,實際上也不是,我倒是覺得有這個過程會好很多,因為無論做多復雜的系統最終都會落實到這些最底層的硬件控制,因此對這些硬件的控制有了感性的認識就好很多了。
?? 學習裸機的編程的同時要好好理解這個硬件的構架、控制原理,這些我稱他為理解硬件。所謂的理解硬件就是說,理解這個硬件是怎么組織這么多資源的,這些資源又是怎么由cpu、由編程進行控制的。比如說,s3c2410中有AD轉換器,有GPIO(通用IO口),還有nandflash控制器,這些東西都有一些寄存器來控制,這些寄存器都有一個地址,那么這些地址是什么意思?又怎么通過寄存器來控制這些外圍設備的運轉?還有,norflash內部的每一個單元在這個芯片的內存中都有一個相應的地址單元,那么這些地址與剛剛說的寄存器地址又有什么關系?他們是一樣的嗎?而與norflash相對應的nandflash內部的儲存單元并不是線性排放的,那么s3c2410怎么將nandflash的地址映射在內存空間上進行使用?或者簡單地說應該怎么用nandflash?再有,使用ADS進對ARM9行編程時都需要使用到一個初始化的匯編文件,這個文件究竟有什么用?他里面的代碼是什么意思?不要這個可以嗎? ?? 諸如此類都是對硬件的理解,理解了這些東西就對硬件有很深的理解了,這對以后更深一步的學習將有很大的幫助,如果跳過這一步,我相信越往后學越會覺得迷茫,越覺得這寫東西深不可測。因為,你的根基沒打好。 ?? 不過先聲明一下,本人并沒有使用ADS對ARM9進行編程,我是學完ARM7后直接就使用ARM9學linux系統的,因此涉及使用ADS對ARM9進行編程的問題我很難回答^_^,自己去研究研究吧。 ??
第二,使用linux系統進行一些基本的實驗。
在買一套板子的時候一般會提供一些linux的試驗例程,好好做一段時間這個吧,這個過程也是很有意義的,也是為進一步的學習積累感性認識,你能想象一個從沒有使用過linux系統的人能學好linux的編程嗎?好好按照手冊上的例程做一做里面的實驗,雖然有點娃娃學走路,有點弱智,但是我想很多高手都會經歷這個過程。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式Linux network
- 【嵌入式Linux(基礎篇)】從標準Linux到嵌入式Linux + 嵌入式Linux知識架構
- 嵌入式Linux CAN
- 基于ARM與嵌入式Linux的GPRS無線通訊系統
- 嵌入式LINUX的Qt開發入門教程
- 基于樹莓派的嵌入式Linux開發教學探索
- 嵌入式Linux應用程序例程
- 在使用負載開關時 時序決定一切資料下載
- 嵌入式的硬件構架一覽資料下載
- 長文詳解嵌入式Linux系統移植資料下載
- 嵌入式Linux開發教程之嵌入式系統介紹資料免費下載
- 嵌入式開發Linux網絡編程培訓資料的詳細資料免費下載 34次下載
- Linux嵌入式系統ppt學習資料下載 21次下載
- 嵌入式linux教程下載
- 嵌入式LINUX設計與應用
- 文件系統-一切皆文件的設計理念 629次閱讀
- 單片機步入嵌入式Linux之觸摸屏與tslib 1685次閱讀
- 簡化SBC的嵌入式Linux軟件開發 1170次閱讀
- 嵌入式Linux啟動時間優化的秘密之五-Bootloader 2863次閱讀
- 基于嵌入式Linux內核的ARM9運行實現方式介紹 1573次閱讀
- 基于Yocto Project的定制嵌入式Linux產品設計淺析 1w次閱讀
- 如何在嵌入式Linux中截屏 6108次閱讀
- 關于嵌入式系統的特點和Linux內核的實時應用分析 1141次閱讀
- 什么是嵌入式Linux內核調試技術?嵌入式開發又面臨著哪些問題? 1220次閱讀
- 基于PXA255開發板外圍字符設備的嵌入式Linux字符設備驅動設計與應用 1199次閱讀
- 關于Linux嵌入式操作系統的優勢特征詳解 5690次閱讀
- 一文告訴你七大嵌入式Linux操作系統,你了解多少呢? 1w次閱讀
- 學習嵌入式linux系統開發,文件類型一定要分清 895次閱讀
- 用Arduino Uno開發板和一塊面包板就能輕松搞定這一切 2.4w次閱讀
- 嵌入式Linux的學習方法解析 3234次閱讀
下載排行
本周
- 1AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 2嵌入式軟件開發符合ISO 26262 功能安全標準
- 1.61 MB | 1次下載 | 免費
- 3AN148 GD32VW553射頻硬件開發指南
- 2.07MB | 1次下載 | 免費
- 4PZT驅動開關電路
- 0.09 MB | 1次下載 | 免費
- 5模擬電路仿真實現
- 2.94MB | 1次下載 | 免費
- 6PCB繪制基礎知識
- 2.44MB | 1次下載 | 免費
- 7EE-38:ADSP-2181 IDMA端口-周期竊取時序
- 75.0KB | 次下載 | 免費
- 8EE-82:使用ADSP-2181 DSP的IO空間對另一個ADSP-2181進行IDMA引導
- 86.86KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 139次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 132次下載 | 免費
- 4美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 5如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 6感應筆電路圖
- 0.06 MB | 10次下載 | 免費
- 7LZC3106G高性能諧振控制器中文手冊
- 1.29 MB | 9次下載 | 1 積分
- 8萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多