(1)首先學嵌入不是為了跟風,而是為了逐浪。不是要看大家都去做 這一行才去做。是真的喜歡,這樣才能精,才能做到"逐浪"!
(2)成功的歷程是漫長、艱辛的,要有一顆艱韌不拔的心:P
(3)文章中說的學習過程和資料大致差不多。但可惜的是在我花了很 長時間入門后才發現這篇文章,要不那短時間會縮減不少。
個人覺得需要注意的一點是:文中提到的步驟不是按步就班的,根據 個人的情況補全即可:P
近來嵌入式挺火,于是大家都往這里擠。我想提醒大家的是,嵌入式馬上也會成為如今的軟件業。在你進來之前請先考慮清楚。但只要我們真的學精了一樣東西,不管它將來變成什么樣,哪怕后只剩下一個人,那個人也一定就是你自己。
很多人以為搞嵌入式就是隨便找本書看看,在電腦上編幾個程序就完事。非也,其實嵌入式的門檻是比較高的。具體如下:
1、您得有一定數量的Money。
(1)開發板貴
(2)培訓費更貴
(3)開發平臺是貴得不能再貴。(除非您只是想玩玩而已)
2、需要學習的東西多。
(1)window環境編程;
(2)Linux環境編程;
(3)單片機
3、后也是重要的一點,你得有堅韌不拔之志和一顆平常之心。
(1)自信 堅強 積極 勤快 (注:好的自信是自覺的!)
(2)成功其實就是成為好的您自己
嵌入式門檻雖然較高,但也跟其他事物一樣,并不是牢不可破。只要我們用心去對待,東雪終將化去,春風定會吹來。具體步驟如下:
1、《C語言》第二版 譚浩強 ; 《C程序設計語言》第二版 徐寶文譯機戒工業出版社
你能區分開指針數組和數組指針嗎?你知道函數指針嗎?
你能區分開定義一個變量時系統給它分配的空間與用malloc()函數給一個變量分配的空間有什么不一樣嗎?
2、《數據結構》C語言版 黃國愉、葉乃青編 清華大學出版社
你能合上書本,用C語言實現書中的單鏈表、雙鏈表數據結構嗎?
3、《實用C++程序設計》第二板 電力出版社 Steve_Oualline著
此階段主要是學習其面向對象的編程思想,加深對C語言和數據結構的理解。
4、學習單片機,好能找個前輩帶一帶。
你能用51單片機做出一樣實際的東西嗎?即使它再簡單!
要注意加深對中斷的理解。
5、學習ARM單片機。
(1)細讀《ARM微控制器基礎與實戰》周立工編寫 (注:即使你不用書中的開發板)
(2)細讀相關芯片的原版英文文檔。如:arm920TE.pdfS3C2410_1.2.pdf
6、學習uCOSII操作系統。
(1)細讀《嵌入式實時操作系統uC/OS-II》第二版 召貝貝譯
你能把uCOSII移植到自己的平臺上嗎?
(2)能編寫在uCOSII操作系統環境下運行的針對具體硬件的驅動程序
7、熟悉Linux環境,學習Linux環境編程,學習交叉編程
(1)細讀《linux命令大全.pdf》
(2)細讀《GNU Make 使用手冊(中譯版).pdf》
(3)學習創建交叉編程環境
8、學習Linux操作系統。
(1)《UNIX環境高級編程》
(2)細讀"joyfire 筆記",可在"www.qianrushi.com"網站的好書下載欄目獲取
(3)細讀《linux內核完全注釋》
(4)細讀《understanding the linux kernel 2》
(5)利用源代碼閱讀利器工具"Source Insight"進行真正的linux內核原碼刨析
(6)后進行內核移植,并能編寫在linux操作系統環境下運行的針對具體硬件的驅動程序
9、學習Linux設備驅動編寫。可參考《Linux設備驅動程序》
10、復習C++,學習用QT進行圖形界面編程
(1)細讀《QT編程寶典》
(2)學會通過查看QT電子文檔進行QT GUI實地編程
(3)學習交叉編程.(其實就是把命令qmake變為tmake)
11、當然,你也可學習一下PCB的制作和設計一個自己的CPU(即軟殼)
至此,你已學完嵌入式的整流程!但謹記:一個有思想的人才真是一個力量無邊的人;有容乃大,能予方強!