文章較長,希望耐心閱讀,讀完相信會對你的學習一定有幫助~
嵌入式工程師需要掌握的内容非常廣泛,嵌入式可以說是當下最有前途的IT應用領域,小到電子詞典、手機,大到航空航天設備都是典型的嵌入式系統,因此,通過嵌入式技術人才的職業發展空間是非常大的。要快速學習掌握技術我們要學會抓住重點,學會取舍,達到一通百通,事半功倍的學習效果。
近幾年,嵌入式系統産品漸漸完善,并在全世界各行業得到廣泛應用。2004年,全球嵌入式系統産品的産值已達2000億美元,國内嵌入式軟件的産值也達到600億人民币。目前,嵌入式系統産品的研制和應用已經成為我國信息化帶動工業化、工業化促進信息化發展的新的國民經濟增長點。随着消費家電的智能化,嵌入式更顯重要,像我們平常見到的手機、PDA、電子字典、可視電話、VCD/DVD/MP3 Player、數字相機(DC)、數字攝像機 (DV)、U-Disk、機頂盒(Set Top Box)、高清電視(HDTV)、遊戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等等,都是典型的嵌入式系統。據預測,随着Internet的迅速發展和廉價微處理器的出現,嵌入式系統将在日常生活裡形成更大的應用領域。
嵌入式軟件工程師學習路線詳解及書籍推薦:
一、嵌入式軟件編程的基礎
這一階段重點打好嵌入式軟件編程的基礎,包括學習Linux系統的基本應用,Linux的常用命令、c語言編程基礎、常用的數據結構。
特别是C語言中對指針的理解和應用。這一階段的主要目的是學習編程語言、開發環境、和培養自己的編程思維,為進一步學習嵌入式開發打下良好的基礎。 必學内容有:Linux Ubuntu操作系統安裝、使用、Linux常用命令、samba服務器、SSH遠程登錄GCC編譯器、GDB調試器、VI編輯器
1、嵌入式C語言高級編程
1、C數據類型、控制語句
2、C程序結構設計、數組、函數、預處理:
3、指針及字符串操作
4、結構體、共用體、宏、枚舉
5、文件I/O操作
推薦的嵌入式學習書籍:
《C程序設計語言》
《C語言核心技術》
《數據結構與算法分析--C語言描述》
《C和指針》
《C陷阱與缺陷》
《C++ Primer》
二、嵌入式設備及GUI開發
操作系統的嵌入式系統的構建,包括系統的啟動流程熟悉使用。編寫嵌入式環境配置與開發工具學習。這一階段的主要目的是掌握帶有操作系統的嵌入式系統的構建和燒寫過程,以及對嵌入式系統軟件的總體構成有個整體認識,為我們接下來學習嵌入式應用和驅動開發打下堅實的基礎。
1、Linux下項目管理工具Make以及Makefile工作原理及其編寫
2、Linux下shell腳本相關知識及其編寫
3、嵌入式開發環境的基本概念及其搭建
4、A53開發闆介紹、設備使用、A53開發闆與電腦通信、交叉編譯
GUI圖形界面開發
1、常用控件——button、label、text edit等
2、常用布局方式——水平布局、垂直布局、固定布局、網格布局、相對布局等
3、常用事件及信号處理技術——信息回調、鼠标、鍵盤事件等
4、時間編程、數據存儲、繪圖機制、定時器處理、多任務處理等
這一階段推薦的嵌入式學習書籍:
1、《Linux與Unix Shell 編程指南》
2、《嵌入式Linux應用程序開發詳解》
三、嵌入式Linux高級程序設計
這一階段主要學習上層的嵌入式Linux應用程序開發,包括基于Linux多進程、多線程、網絡、文件與目錄和QT編程。掌握嵌入式Linux環境下應用程序開發技術。嵌入式Linux系統編程。
1、Linux系統調用概念
2、進程相關概念、多進程實現多任務開發
3、進程間通信:無名管道、命名管道、信号、消息隊列、共享内存等
4、多線程實現多任務開發
5、多任務的同步互斥開發:互斥鎖、信号量
四、Linux高級網絡程序設計
Linux高級網絡編程
1、網絡相關概念及網絡發展
2、TCP/IP協議
3、socket編程、TCP網絡編程、UDP網絡編程、Web編程開發等
4、Linux網絡應用程序開發,Linux網絡編程相關API
5、TCP協議服務器的編程方法和并發服務器的實現
6、HTTP協議及其實現方法,熟悉UDP廣播、多播的原理及編程方法,掌握混合C/S架構網絡通信系統的設計
7、IPv6與IPv4協議,及其編程接口
8、網絡數據通信過程
9、網絡原始套接字概念及編程接口
這一階段推薦的書籍:
《UNIX環境高級編程》
《Unix網絡編程》
《Qt Creator快速入門》
《精通Qt4編程》
《Linux設備驅動程序》
《Linux設備驅動開發詳解》
五、數據庫開發
1、數據庫概念、數據庫類型、常見數據庫
2、SQLite數據庫介紹及其安裝與移植
3、SQL數據庫語言( 數據定義語言(DDL)、數據操作語言(DML)、數據查詢語言(DQL)、數據控制語言(DCL) )
4、sqlite數據庫C語言編程中的各種SQL指令執行函數完成對數據庫的控制。
六、C 面向對象高級語言程序設計
C 語言高級語言開發
1.熟悉面向對象的語言概述
2.熟練掌握c 語言的基本知識和類與對象及其高級應用
3、作用域運算符、内聯函數、強制類型轉換
4、new、delete内存管理
5、對象成員、成員函數
6、構造函數、析構函數、拷貝構造函數、函數重載
7、對象數組、this指針、枚舉、
8、靜态成員、靜态成員函數
9、對象成員
10、友元
11、封裝、繼承、多繼承、多态
12、虛函數、純虛函數、抽象類、虛析構函數 等
七、物聯網開發
1、了解物聯網、泛在網、互聯網基本要領及其關系
2、熟悉RFID從低頻段到高頻段的基本工作原理,以及RFID标簽的種類與行業應用,讀卡器原理與通信過程
3、熟悉TI的cc2530的基本應用,包含基本硬件資源,協議棧相關接口使用,以及點對點通信、星形通信、廣播通信、綁定通信,三種網絡結構star、tree、mesh,掌握zibgee相關微控制處理芯片
4、了解zigbe協議棧組成,以及zigbee在通信、組網、搖控等領域的不同應用
5、通過Bluetooth、wifi和zigbee技術對比各自的優缺點,并重點介紹zigbee的各種應用
6、掌握溫度、濕度、光照、PH值、二氧化碳等傳感器的工作原理及通信接口
7、了解NB-IOT基本概念及移運BC95模塊
8、熟悉CoAP協議在NB-IOT中的應用
9、掌握常用AT指定集
嵌入式技術關鍵在于理論和實踐的結合,要能夠學以緻用,完成了以上的所有階段的知識點學習後,到底有沒有學會,會不會用,能不能應用所學知識來解決實際開發中的問題,我們需要來完成一個綜合的嵌入式實訓項目,例如:
項目一:智能家居項目
本項目實現設備的本地控制與遠程控制,對開關量設備,能夠實現信息采集類設備的控制如溫濕度,能夠實現監控類設備的控制如視頻監控,安全系統如外人入侵能夠自動通過GPRS報警。項目涉及技術c語言、多任務開發、網絡socket開發、boa網絡服務器、CGI編程、html網頁設計等
項目二:智能人臉識别項目
本項目首先通過opencv庫的使用來實現人臉基本訓練模型檢測、再深入學習通過人臉識别以及實時抓取圖像分析并識别,了解認識opencv、dlib等開源工具
項目三:RFID智能門禁項目
本項目實現RFID卡識别,用戶信息注冊、修改、删除、語音播報提示可按不同的查詢條件查詢,可實現考勤
項目四:多媒體播放器項目
實現帶有圖形界面的音樂播放、暫停、上一曲、下一曲、歌曲列表歌詞同步等播放器功能,涉及到的知識點有c語言、數據結構鍊表、Linux多進程、多線程、進程間通信、同步互斥等
項目五:智能手機設計項目
本項目能夠實現智能手機接打電話、來電顯示、收發中英文短信,查看短信、信号強度檢測、運營商檢測。項目涉及到的技術GPRS AT指令集、Linux多進程、多線程、進程間通信、同步互斥、GUI圖形開發等
項目六:智慧教室項目
本項目可通過NB-IOT等标準物聯網通信協議是實現現代化資源統籌管理,基本功能是實現教室燈控、空調、通風、窗簾、門禁、人流等實時遠程監控,以實現聯動、手動控制和數據采集分析
這些項目都綜合應用了嵌入式開發當中的應用,驅動和QT開發技術。以上就是我建議的比較系統的嵌入式學習路線。系統學習并能靈活應用以上知識後,嵌入式基本上就算入門了,具備企業項目的嵌入式研發能力了,這時候去應聘企業的嵌入式研發工程師崗位就不會有什麼問題了。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!