arm+linux路線,主攻嵌入式linux作業系統及其上應用軟體開發目標:
(1) 掌握主流嵌入式微處理器的結構與原理(初步定為arm9)
(2) 必須掌握乙個嵌入式作業系統 (初步定為uclinux或linux,版本待定)
(3) 必須熟悉嵌入式軟體開發流程並至少做乙個嵌入式軟體專案。
從事嵌入式軟體開發的好處是:
(1)目前國內外這方面的人都很稀缺。這一領域入門門檻較高,所以非專業it人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,大多數人無條件接觸。
(2)與企業計算等應用軟體不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。
(3)哪天若想創業,搞自已的產品,嵌入式不像應用軟體那樣容易被盜版。硬體設計一般都是請其它公司給訂做(這叫「貼牌」:oem),都是通用的硬體,我們只管設計軟體就變成自己的產品了。
(4)興趣所在,這是最主要的。
從事嵌入式軟體開發的缺點是:
(1)入門起點較高,所用到的技術往往都有一定難度,若軟硬體基礎不好,特別是作業系統級軟體功底不深,則可能不適於此行。
(2)這方面的企業數量要遠少於企業計算類企業。
(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基於嵌入式的難度。但大多數公司也並無此要求,只要有經驗即可。
(4)平台依託強,換平台比較辛苦。
方法步驟:
1、基礎知識:
目的:能看懂硬體工作原理,但重點在嵌入式軟體,特別是作業系統級軟體,那將是我的優勢。
科目:數位電路、計算機組成原理、嵌入式微處理器結構。
組合語言、c/c++、編譯原理、離散數學。
資料結構和演算法、作業系統、軟體工程、網路、資料庫。
方法:雖科目眾多,但都是較簡單的基礎,且大部分已掌握。不一定全學,可根據需要選修。
主攻書籍:the c++ programming language(一直沒時間讀)、資料結構-c2。
2、學習linux:
目的:深入掌握linux系統。
方法:使用linux—〉linxu系統程式設計開發—〉驅動開發和分析linux核心。先看深,那主講原理。看幾遍後,看情景分析,對照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學習。最後深入**。
主攻書籍:linux核心完全剖析、unix環境高階程式設計、深入理解linux核心、情景分析和源代。
3、學習嵌入式linux:
目的:掌握嵌入式處理器其及系統。
方法:(1)嵌入式微處理器結構與應用:直接arm原理及彙編即可,不要重複x86。
(2)嵌入式作業系統類:ucos/ii簡單,開源,可供入門。而後深入研究uclinux。
(3)必須有塊開發板(arm9以上),有條件可參加培訓(進步快,能認識些朋友)。
主攻書籍:毛德操的《嵌入式系統》及其他arm9手冊與arm彙編指令等。
4、深入學習:
a、數字影象壓縮技術:主要是應掌握mpeg、***等編譯碼演算法和技術。
b、通訊協議及程式設計技術:tcp/ip協議、802.11,bluetooth,gprs、gsm、cdma等。
c、網路與資訊保安技術:如加密技術,數字證書ca等。
d、dsp技術:digital signal process,dsp處理器通過硬體實現數字訊號處理演算法。
說明:太多細節未說明,可根據實際情況調整。重點在於1、3,不必完全按照順序作。對於學習c++,理由是c++不只是一種語言,一種工具,她還是一 種藝術,一種文化,一種哲學理念、但不是拿來炫耀得東西。對於linux核心,學習程式設計,讀一些優秀**也是有必要的。
注意: 要學會舉一反多,有強大的基礎,很多東西簡單看看就能會。想成為合格的程式設計師,前提是必須熟練至少一種程式語言,並具有良好的邏輯思維。一定要理論結合實踐。
不要一味鑽研技術,雖然擠出時間是很難做到的,但還是要留點餘地去完善其他的愛好,比如宇宙,素描、機械、管理,心理學、遊戲、科幻電影。還有一些不願意做但必須要做的!
技術是通過程式設計程式設計在程式設計編出來的。永遠不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要程式設計程式設計在程式設計,完了在程式設計,在程式設計!等機會來了在創業(不要相信有奇蹟發生,盲目創業很難成功,即便成功了發展空間也不一定很大)。
Linux 嵌入式學習入門(1)
1 微機原理 乙個月 2 數字電子技術 數位電路 乙個月 1 gpio 管腳類的引腳 和閘電路 1.輸入輸入引腳 上拉引腳 上拉電阻三極體 2 協議類的 uart i2c spi nand lcd 3 類似記憶體的 nor sdram 網絡卡 引腳 則為給予電流的的乙個口。引腳分為 輸入引腳和輸出引...
如何學習嵌入式 嵌入式如何入門?
學習嵌入式,該學習什麼基本的知識呢?嵌入式如何入門?其次,應該對作業系統有所了解,這對你對硬體和軟體的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如程序 執行緒,系統如何來分配資源的,系統如何來管理硬體的,當然,不是看書就能把這些理解透,如果不是一時能理解,沒關係,多看看,結合以後的專案經驗...
嵌入式的學習規劃
1 嵌入式的整體學習規劃參考 朱老師物聯網大講堂 的 嵌入式核心課程 和 stm32完全學習 2 嵌入式linux整體分為 arm裸機 uboot和系統移植 linux應用程式設計和網路程式設計 linux驅動開發四個部分 3 stm32學習分為 stm32完全學習 ucos32系統移植 專案綜合篇...