Linux嵌入式工程師技能要求:
1.C語言
具有C語言基礎、理解C語言基礎編程及高級編程,包括:數據類型、數組、指針、結構體、鏈表、文件操做、隊列、棧。
2.Linux基礎
Linux操做系統的概念、安裝方法,瞭解Linux下目錄結構、基本命令、Vim+GCC+GDB+make,shell Makefile腳本文件編寫,開發環境搭建。
3.Linux系統編程
Linux系統標準I/O庫、多任務編程的多進程與多線程,進程間通訊(管道、fifo、消息隊列、共享內存、信號、信號量等),同步與互斥對共享資源訪問控制
等重要知識,主要對Linux應用開發的理解和代碼調試的能力。
4Linux網絡編程
計算機網絡在嵌入式Linux系統應用開發的過程當中使用十分普遍。經過Linux網絡發展、TCP/IP協議、socket編程、TCP網絡編程、UDP網絡編程、Web編程
等方面入手,全面瞭解Linux網絡應用程序開發。重點學習網絡編程相關API,掌握TCP協議服務器的編程方法和併發服務器的實現,瞭解HTTP協議及其實現方法,
熟悉UDP廣播、多播的原理及編程方法,掌握混合C/S架構網絡通訊系統的設計,掌握HTML,JavaScript等Web編程技術實現和方法。
5.數據結構與算法
數據結構與算法在嵌入式底層驅動、通訊協議及各類引擎開發中會獲得大量運用,對其掌握好壞影響程序的健壯、穩定性。此階段的學習重要理解數據結構
與算法的基礎內容。包括:順序表、鏈表、隊列、棧、樹、圖、哈希表,各類查找排序算法等應用及其C語言實現過程。
6.C++/Qt
C++是Linux應用開發主要語言之一,本階段須要重點掌握面向對象的編程思想和C++的重要內容。圖形化界面編程是嵌入式應用開發的重要環節。Qt因爲跨平臺
、面向對象、支持2D/3D渲染,豐富的API、支持XML、多國語言等強大功能,在嵌入式GUI開發領域應用普遍。在本階段學習Qt基於圖形庫的學習和使用,熟練GUI
編程,並移植到開發平臺上使用。掌握IDE、Qt部件及佈局管理器、信號與槽機制的應用、鼠標、鍵盤及繪圖事件、文件處理的應用。
7.Cortex -ARM 開發平臺
掌握s5p210系統資源、時鐘控制器、電源管理、異常中斷控制器、nand flash控制器等模塊,爲底層平臺搭建作準備。Linux平臺包括內核裁剪、內核移植、
交叉編譯、內核調試和Bootloader介紹、製做與原理分析、根文件系統製做及向內核中添加本身的模塊,運行本身製做的Linux系統,集成部署整個Linux整個
流程。
8.驅動開發
Linux的內核機制、驅動程序與用戶級應用程序的接口,掌握系統對設備的併發操做。熟悉開發硬件的工做原理,具有ARM硬件接口的基本知識,掌握設備
驅動原理框架。熟悉Linux高級字符設備、塊設備、網絡設備、USB設備等驅動開發工做。
算法