1.掌握C語言高級編程。
無論是對嵌入式軟件還是硬件開發(fā)編程,都是不可缺少的一部分。因此不管您是自尋、還是拜師我堅信這都是他們教您的第一步。
2. 要了解嵌入式Linux操作系統(tǒng)。你得首先對這個系統(tǒng)有一定的認識,就好比你想蓋房子、你得需要水泥、磚頭、鋼筋。
那么嵌入式Linux系統(tǒng)同樣如此。這個比喻也許很粗糙,但容易理解。
3.了解Linux或者wince下的編程。 4.具有單機片或者ARM或者MIPS等相關基礎。
5.其他知識的擴充。我們還可以通過閱讀一些優(yōu)秀的代碼,了解UBOOT的源代碼,或者是學習下linux的源代碼等等。
以上就是學嵌入式需要的一些基礎,如果你基礎不牢固,也不要擔心。一點一點的學習嘛。
華清遠見星創(chuàng)客,是面向中高端嵌入式工程師的培訓,對基礎有一點的限制,因為是長期就業(yè)課程體系,不管你多厲害,還是多么小白,但都要從基礎學起。這樣有基石才能對后續(xù)的課程保證不掉隊。
嵌入式Linux操作系統(tǒng)學習規(guī)劃 ARM+LINUX路線,主攻嵌入式Linux操作系統(tǒng)及其上應用軟件開發(fā)目標: (1) 掌握主流嵌入式微處理器的結構與原理(初步定為arm9) (2) 必須掌握一個嵌入式操作系統(tǒng) (初步定為uclinux或linux,版本待定) (3) 必須熟悉嵌入式軟件開發(fā)流程并至少做一個嵌入式軟件項目。
從事嵌入式軟件開發(fā)的好處是: (1)目前國內外這方面的人都很稀缺。這一領域入門門檻較高,所以非專業(yè)IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發(fā)展太快,大多數人無條件接觸。
(2)與企業(yè)計算等應用軟件不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。 (3)哪天若想創(chuàng)業(yè),搞自已的產品,嵌入式不像應用軟件那樣容易被盜版。
硬件設計一般都是請其它公司給訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設計軟件就變成自己的產品了。 (4)興趣所在,這是最主要的。
從事嵌入式軟件開發(fā)的缺點是: (1)入門起點較高,所用到的技術往往都有一定難度,若軟硬件基礎不好,特別是操作系統(tǒng)級軟件功底不深,則可能不適于此行。 (2)這方面的企業(yè)數量要遠少于企業(yè)計算類企業(yè)。
(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數公司也并無此要求,只要有經驗即可。
(4)平臺依托強,換平臺比較辛苦。 興趣的由來: 1、成功觀念不同,不虛度此生,就是我的成功。
2、喜歡思考,挑戰(zhàn)邏輯思維。 3、喜歡C C是一種能發(fā)揮思維極限的語言。
關于C的精神的一些方面可以被概述成短句如下: 相信程序員。 不要阻止程序員做那些需要去做的。
保持語言短小精干。 一種方法做一個操作。
使得它運行的夠快,盡管它并不能保證將是可移植的。 4、喜歡底層開發(fā),討厭vb類開發(fā)工具(并不是說vb不好)。
5、發(fā)展前景好,適合創(chuàng)業(yè),不想自己要死了的時候還是一個工程師。 方法步驟: 1、基礎知識: 目的:能看懂硬件工作原理,但重點在嵌入式軟件,特別是操作系統(tǒng)級軟件,那將是我的優(yōu)勢。
科目:數字電路、計算機組成原理、嵌入式微處理器結構。 匯編語言、C/C++、編譯原理、離散數學。
數據結構和算法、操作系統(tǒng)、軟件工程、網絡、數據庫。 方法:雖科目眾多,但都是較簡單的基礎,且大部分已掌握。
不一定全學,可根據需要選修。 主攻書籍:the c++ programming language(一直沒時間讀)、數據結構-C2。
2、學習linux: 目的:深入掌握linux系統(tǒng)。 方法:使用linux—〉linxu系統(tǒng)編程開發(fā)—〉驅動開發(fā)和分析linux內核。
先看深,那主講原理。看幾遍后,看情景分析,對照深看,兩本交叉,深是綱,情是目。
剖析則是0.11版,適合學習。最后深入代碼。
主攻書籍:linux內核完全剖析、unix環(huán)境高級編程、深入理解linux內核、情景分析和源代。 3、學習嵌入式linux: 目的:掌握嵌入式處理器其及系統(tǒng)。
方法:(1)嵌入式微處理器結構與應用:直接arm原理及匯編即可,不要重復x86。 (2)嵌入式操作系統(tǒng)類:ucOS/II簡單,開源,可供入門。
而后深入研究uClinux。 (3)必須有塊開發(fā)板(arm9以上),有條件可參加培訓(進步快,能認識些朋友)。
主攻書籍:毛德操的《嵌入式系統(tǒng)》及其他arm9手冊與arm匯編指令等。 4、深入學習: A、數字圖像壓縮技術:主要是應掌握MPEG、mp3等編解碼算法和技術。
B、通信協(xié)議及編程技術:TCP/IP協(xié)議、802.11,Bluetooth,GPRS、GSM、CDMA等。 2010-8-21 16:46 回復 122.90.173.* 2樓 C、網絡與信息安全技術:如加密技術,數字證書CA等。
D、DSP技術:Digital Signal Process,DSP處理器通過硬件實現(xiàn)數字信號處理算法。 說明:太多細節(jié)未說明,可根據實際情況調整。
重點在于1、3,不必完全按照順序作。對于學習c++,理由是c++不只是一種語言,一種工具,她還是一種藝術,一種文化,一種哲學理念、但不是拿來炫耀得東西。
對于linux內核,學習編程,讀一些優(yōu)秀代碼也是有必要的。 注意: 要學會舉一反多,有強大的基礎,很多東西簡單看看就能會。
想成為合格的程序員,前提是必須熟練至少一種編程語言,并具有良好的邏輯思維。一定要理論結合實踐。
不要一味鉆研技術,雖然擠出時間是很難做到的,但還是要留點余地去完善其他的愛好,比如宇宙,素描、機械、管理,心理學、游戲、科幻電影。還有一些不愿意做但必須要做的! 技術是通過編程編程在編程編出來的。
永遠不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程在編程,完了在編程,在編程!等機會來了在創(chuàng)業(yè)(不要相信有奇跡發(fā)生,盲目創(chuàng)業(yè)很難成功,即便成功了發(fā)展空間也不一定很大)。
嵌入式書籍推薦 Linux基礎 1、《Linux與Unix Shell 編程指南》 C語言基礎 1、《C Primer Plus,5th Edition》【美】Stephen Prata著 2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)著 3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE) 4、《嵌入式Linux應用程序開發(fā)詳解》 Linux內核 1、《深入理解Linux內核》(第三版) 2、《Linux內核源代碼情景分析》毛德操 胡希。
大致分為三個階段:基礎篇、進階篇、大咖篇。
入門嵌入式工程師此階段主要是前期的入門過程,主要針對入行沒多久的新人。其實成功沒有捷徑,所以打好基礎才是關鍵。
嵌入式開發(fā)要學什么主要包含以下4個方面的內容:1.電路知識 首先你要學習電路、模電、數電,認識電阻、電容、三極管,基礎器件要知道,放大電路、集成運放、時序電路基本電路能看懂,不然看電路圖一定是云里霧里,也就無法進行后續(xù)的工作。硬件產品的設計實現(xiàn),包括器件選型、原理圖和PCB設計、電路調試,都需要過硬的電路基礎。
2.C語言C語言是嵌入式開發(fā)中最重要的編程語言,要對這門語言有深入的理解,畢竟不僅僅要會寫程序,看懂他人程序也很重要。最基本的數據類型、數組、指針、結構體,鏈表、文件操作等都要會,掌握基本語法和語句,不然你要能區(qū)分指針數組與數組指針嗎?3.單片機 單片機入門相對簡單,通過單片機的學習可以熟悉單片機的硬件結構,包括I/O口、AD轉換、通信(串口、并口、I2C、CAN、USB、以太網、ZigBee技術等)、顯示(LED、LCD等)、控制(PWM等控制技術)、數據處理(圖形、圖像、語音、視頻等的處理或識別)等,學好單片機可以為采用嵌入式系統(tǒng)奠定良好的基礎。
4Linux基礎Linux的源碼和架構都是開放的,在嵌入式系統(tǒng)中應用尤為廣泛,學習Linux對于系統(tǒng)的開發(fā)會有很大的幫助。詳細了解Linux下的目錄結構、基本命令、編輯器VI、編譯器GCC、調試器GDB和 Make 項目管理工具,Shell Makefile腳本編寫等知識,以及嵌入式開發(fā)環(huán)境的搭建。
中級嵌入式工程師經過第一個階段的學習,你已經可以進行嵌入式開發(fā)工作了,但是要進階依舊還有很多知識要學,而這個階段也將是第一個分水嶺,使得優(yōu)秀的嵌入式工程師得以脫穎而出。此階段雖然只有三項,但涉及的知識非常廣,要想學好需要花費大量的精力。
1.Linux編程系統(tǒng)編程可以直接跟內核及核心系統(tǒng)程序庫對話,深入了解Linux內核。掌握Linux系統(tǒng)編程主要提升對Linux應用開發(fā)的理解和代碼調試的能力。
由于網絡應用開發(fā)越來越廣泛,通過Linux網絡發(fā)展、TCP/IP協(xié)議、socket編程、TCP網絡編程、UDP網絡編程、Web編程開發(fā)等方面入手,可以全面了解Linux網絡應用程序開發(fā)。2數據結構與算法 數據結構及算法在嵌入式底層驅動、通信協(xié)議及各種引擎開發(fā)中得到了廣泛的應用,語言編譯要使用棧、散列表以及語法樹;操作系統(tǒng)中用隊列、存儲管理表及目錄樹等;數據庫系統(tǒng)運用線型表、多鏈表及索引表進行數據管理等等,對其掌握的好壞直接影響程序的效率、簡潔及健壯性。
3.QT、DSP、FPGALinux沒有自己界面,學習QT編程可以創(chuàng)建藝術級的圖形用戶界面所需的所有功能,從而更好的實現(xiàn)人機交互控制。而如今用戶對于圖形圖像的要求也越來越高,這就需要DSP、FPGA技術來設計開發(fā)更好的嵌入式視覺系統(tǒng)。
高級嵌入式工程師學習了前兩個階段的知識,你已經可以勝任大部分嵌入式工作了,但是距離大咖仍有一定的差距,其實已經到了第二個分水嶺。這部分更多涉及系統(tǒng)層面,沒有全方位的知識將會很難下手。
1操作系統(tǒng)平臺開發(fā) 除了Linux外,嵌入式操作系統(tǒng)還有ARM、WINCE、uC/OS II、Vxworks、uClinux等,不同的系統(tǒng)有著不同的使用環(huán)境,你需要學習掌握系統(tǒng)的各個模塊,為底層平臺搭建做好準備。熟悉各個操作系統(tǒng)的特點以及系統(tǒng)的內核移植,確保操作系統(tǒng)能在某個微處理器或微控制器上運行。
隨著手機智能硬件的快速興起,Android操作系統(tǒng)開發(fā)也越來越重要。2驅動開發(fā) 驅動程序設計是嵌入式Linux開發(fā)工作中非常重要的一部分。
不僅要熟悉Linux的內核機制、驅動程序與用戶級應用程序的接口,掌握系統(tǒng)對設備的并發(fā)操作。還要具備ARM硬件接口的基礎知識,熟悉ARM Cortex處理器各資源、掌握Linux設備驅動原理框架,以及工程中常見Linux高級字符設備、塊設備、網絡設備、USB設備的驅動開發(fā)。
當你到達這個位置的時候,可以說你已經是一個人生贏家了,而真正的學習過程如同一場漫長的修行,在這個過程中,必定有各種各樣的困難。當然了,嵌入式工作中更多的需要實踐以及經驗的積累,相信守得云開見月明,你也可成為一名優(yōu)秀的嵌入式工程師。
需要嵌入式培訓,可以來到華清的星創(chuàng)客精英訓練營,專門培訓中高端嵌入式工程師。
對于嵌入式來說,C語言是一個工具,就像如果你想從事出租車司機或者公交車司機,駕駛技術就是你的一個工具。
現(xiàn)回答你問的問題:如應該掌握C語言:C語言基礎部分的難度并不大,只要有時間,估計正常的初學者1-2個星期的認真學習,都可以數量掌握基本語法和語句,C語言的關鍵在于“數據結構”,例如:鏈表、圖、位、樹等等,這些都是實際工作中變化性比較大的知識點,但是實際工作中,根據你的工作類別,要求并不會非常高。還應掌握什么基礎:當你的C語言(包括數據結構)等有了一定的知識積累,那么你就可以學習系統(tǒng)編程和網絡編程了,這是日后應用類程序開發(fā)公司比較常用的知識點;然后就是學習匯編語言、C++、內核、嵌入式系統(tǒng)開發(fā)等,當然,你的操作平臺首先是需要你了解的,基本上常用的是linux平臺,而你對linux的熟悉程度,也需要時間的積累,以上這些知識都不是幾天、幾個星期或者幾個月就可以完全掌握的,要根據你未來想從事的工作具體去學習,因為每一個知識點都可以工作。
數據庫要嗎? :如果你會當然最好,基本上一般工作單位不會要求你學習,因為畢竟嵌入式開發(fā)跟數據庫開發(fā)是兩個不同的類別。最后送你一句話:請根據自己的實際情況考慮是否進入這一行,因為如果你想從事嵌入式開發(fā)工作,以上說的每一個知識點你都需要掌握,這是一個非常漫長的過程,不要心急,多看好的參考書,不要亂看書。
推薦你基本書:C語言初學者:譚浩強《C程序設計》C語言進階者:Stephen Prata《C Primer Plus》系統(tǒng)和網絡編程初學者:童永清《Linux C編程實戰(zhàn)》系統(tǒng)和網絡編程進階者:W.Richard Stevens/Stephen A.Rago《UNIX環(huán)境高級編程》等你看完這些書,基本上你就符合了進入嵌入式開發(fā)資格。
嵌入式簡單來講,就是軟硬結合的東西,嵌入式開發(fā)又分為兩類,這兩類各有特點,當然需要的資質也完全不同:一類是學電子工程、通信工程等偏硬件專業(yè)出身的人,主要是搞硬件設計,有時要開發(fā)一些與硬件關系最密切的最底層軟件,如BootLoader和最初級的硬件驅動程序等,他們的優(yōu)勢是對硬件原理非常清楚,當然也會有不足之處,不足的是他們更擅長定義各種硬件接口,但對復雜軟件系統(tǒng)往往表現(xiàn)的力不從心。
另一類就是學軟件、計算機專業(yè)出身的人,主要從事嵌入式操作系統(tǒng)和應用軟件的開發(fā)。嵌入式設備的增值很大程度上取決于嵌入式軟件,這一領域占了嵌入式系統(tǒng)的最主要的工作部分,因為很多公司都知道,嵌入式產品的差異很大程度在軟件上,所以都會將硬件設計外包給專門的硬件公司。
樓主可以先嘗試買個arm9的開發(fā)板,然后做一下幾個方面1.學習編寫arm裸機程序,也就是不帶操作系統(tǒng)的(例如跑馬燈和數碼管),這個階段用什么學什么,沒必要深究的先跳過去,同時學習使用仿真器來仿真和燒寫程序。
2.熟悉arm體系架構,學習arm的存儲機制,包括ram,flash,sdram。3.學習bootloader和arm匯編4.在網上下載linux嵌入式視頻教程,很多的,電驢上就有。
基本都是講uboot移植,驅動開發(fā)和linux移植。5.最后學習linux的應用程序編程。
當然你可以做多面手,但是看你個人精力了,我認為還是專一一點比較好,至于應用軟件有時間再學。
近來嵌入式挺火,于是大家都往這里擠。
我想提醒大家的是,嵌入式馬上也會成為如今的軟件業(yè)。在你進來之前請先考慮清楚。
但只要我們真的學精了一樣東西,不管它將來變成什么樣,哪怕最后只剩下一個人,那個人也一定就是你自己。很多人以為搞嵌入式就是隨便找本書看看,在電腦上編幾個程序就完事。
非也,其實嵌入式的門檻是比較高的。具體如下: 1、您得有一定數量的Money。
(1)、開發(fā)板貴(2)、培訓費更貴(3)、開發(fā)平臺是貴得不能再貴。(除非您只是想玩玩而已)2、需要學習的東西多。
(1)、window環(huán)境編程;(2)、Linux環(huán)境編程;(3)、單片機3、最后也是最重要的一點,你得有堅韌不拔之志和一顆平常之心。(1)、自信 堅強 積極 勤快 (注:好的自信是自覺的!)(2)、成功其實就是成為最好的您自己 嵌入式門檻雖然較高,但也跟其他事物一樣,并不是牢不可破。
只要我們用心去對待,東雪終將化去,春風定會吹來。具體步驟如下:1、《C語言》第二版 譚浩強 ; 《C程序設計語言》第二版 徐寶文譯 機戒工業(yè)出版社你能區(qū)分開指針數組和數組指針嗎?你知道函數指針嗎?你能區(qū)分開定義一個變量時系統(tǒng)給它分配的空間與用malloc()函數給一個變量分配的空間有什么不一樣嗎?2、《數據結構》C語言版 黃國愉、葉乃青編 清華大學出版社你能合上書本,用C語言實現(xiàn)書中的單鏈表、雙鏈表數據結構嗎?3、《實用C++程序設計》第二板 中國電力出版社 Steve_Oualline著此階段主要是學習其面向對象的編程思想,加深對C語言和數據結構的理解。
4、學習單片機,最好能找個前輩帶一帶。 你能用51單片機做出一樣實際的東西嗎?即使它再簡單! 要注意加深對中斷的理解。
5、學習ARM單片機。(1)、細讀《ARM微控制器基礎與實戰(zhàn)》周立工編寫 (注:即使你不用書中的開發(fā)板)(2)、細讀相關芯片的原版英文文檔。
如:arm920TE.pdf S3C2410_1.2.pdf6、學習uCOS!!操作系統(tǒng)。(1)、細讀《嵌入式實時操作系統(tǒng)uC/OS-!!》第二版 召貝貝譯你能把uCOS!!移植到自己的平臺上嗎?(2)、能編寫在uCOS!!操作系統(tǒng)環(huán)境下運行的針對具體硬件的驅動程序7、熟悉Linux環(huán)境,學習Linux環(huán)境編程,學習交叉編程(1)、細讀《linux命令大全.pdf》(2)、細讀《GNU Make 使用手冊(中譯版).pdf》(3)、學習創(chuàng)建交叉編程環(huán)境.8、學習Linux操作系統(tǒng)。
(1)、《UNIX環(huán)境高級編程》(2)、細讀《linux內核完全注釋》(3)、細讀《understanding the linux kernel 2》(4)、利用源代碼閱讀利器工具”Source Insight”進行真正的linux內核原碼刨析(5)、最后進行內核移植,并能編寫在linux操作系統(tǒng)環(huán)境下運行的針對具體硬件的驅動程序9、學習Linux設備驅動編寫。可參考《Linux設備驅動程序》10、復習C++,學習用QT進行圖形界面編程(1)、細讀《QT編程寶典》(2)、學會通過查看QT電子文檔進行QT GUI實地編程(3)、學習交叉編程.(其實就是把命令qmake變?yōu)閠make)11、當然,你也可學習一下PCB的制作和設計一個自己的CPU(即軟殼) 至此,你已學完嵌入式的整流程!但謹記:一個有思想的人才真是一個力量無邊的人;有容乃大,能予方強。
聲明:本網站尊重并保護知識產權,根據《信息網絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:2.923秒