二、Linux基本Linux操作系統的概念和安裝方法,詳細了解目錄結構、基本命令、編輯器VI、編譯器GCC、調試器GDB和Make項目管理工具、Shell Makefile腳本等知識,構建嵌入式開發環境。
三:Linux系統編程重點學習Linux多任務編程中的標準I/O庫,多進程多線程,以及進程間通信(管道,FIFO,消息隊列,* * *共享內存,信號,信號量等。),同步和互斥共享資源訪問控制等重要知識,主要提高對Linux應用開發的理解和代碼調試的能力。
四:Linux網絡編程計算機網絡廣泛應用於嵌入式Linux系統的應用開發。通過Linux網絡開發、TCP/IP協議、socket編程、TCP網絡編程、UDP網絡編程、Web編程等方面,可以全面了解Linux網絡應用程序的開發。重點學習網絡編程相關的API,熟悉TCP協議服務器的編程方法和並發服務器的實現,了解HTTP協議及其實現方法,熟悉UDP廣播和組播的原理和編程方法,掌握混合C/S架構的網絡通信系統的設計,熟悉HTML、JavaScript等Web編程技術和實現方法。
五:數據結構和算法數據結構和算法將廣泛應用於嵌入式底層驅動、通信協議、各種引擎開發中,其掌握程度將直接影響程序的效率、簡單性和健壯性。在這個學習階段,要重點理解數據結構和算法的基本內容,包括順序表、鏈表、隊列、棧、樹、圖、哈希表、各種搜索和排序算法及其C語言實現過程。
六:C和QT C是Linux應用開發的主要語言之壹。這個階段重點掌握面向對象編程的基本思想和c的重要內容,圖形界面編程是嵌入式開發中非常重要的壹個環節。QT以其強大的跨平臺、面向對象、豐富的API、支持2D/3D渲染、支持XML和多語言等功能,在嵌入式領域的GUI開發中得到了廣泛的應用。在這個階段,學生可以通過基於QT圖形庫的學習,熟練編寫GUI程序,並將QT應用移植到Cortex-A8平臺。包括IDE、QT組件和布局管理器的使用,信息和槽機制的應用,鼠標、鍵盤的應用以及繪圖事件處理和文件處理。
七:Cortex A8,Linux平臺開發通過對基於ARM Cortex-A8的s5pv210的處理,了解芯片手冊的基本閱讀技巧,掌握s5pv210系統資源、時鐘控制器、電源管理、異常中斷控制器、nand flash控制器等模塊。,從而為底層平臺的搭建做準備。Linux平臺包括內核裁減、內核移植、交叉編譯、GNU工具使用、內核調試、Bootloader介紹、制作及原理分析、根文件系統制作以及在內核中添加自己的模塊。我們在s5pv210的實驗平臺上運行自己的Linux系統,集成了部署Linux系統的全過程。同時了解Android操作系統的開發流程。Android系統是基於Linux平臺的開源操作系統,由操作系統、中間件、用戶界面和應用軟件組成。它是第壹個真正開放完整的移動終端移動軟件。目前其應用已經不再局限於移動終端,還包括數據電視、機頂盒、PDA等消費電子產品。
八:驅動開發驅動設計是嵌入式Linux開發的重點和難點。這個階段要熟悉Linux的內核機制,驅動程序和用戶級應用程序的接口,掌握系統對設備的並發操作。熟悉所開發硬件的工作原理,具備ARM硬件接口的基礎知識,熟悉ARM Cortex-A8處理器s5pv210的資源,掌握Linux設備驅動的原理框架,熟悉Linux高級字符設備、塊設備、網絡設備、USB設備等的驅動開發。工程中常見的,能夠獨立開發工作中的底層驅動。
以上是壹名合格的嵌入式Linux開發工程師必須學習的理論知識。其實作為嵌入式開發人員,專業知識和項目經驗同樣重要,所以在理論學習的同時也要有壹定的項目實踐,鍛煉自己的項目開發能力。