|
嵌入式Linux系統開(kāi)發(fā)學(xué)習路線(xiàn)
一:嵌入式c語(yǔ)言
C語(yǔ)言是嵌入式領(lǐng)域最重要也是最主要的編程語(yǔ)言,通過(guò)大量編程實(shí)例重點(diǎn)理解C語(yǔ)言的基礎編程以及高級編程知識。包括:基本數據類(lèi)型、數組、指針、結構體、鏈表、文件操作、隊列、棧等。
二:Linux基礎
Linux操作系統的概念、安裝方法,詳細了解Linux下的目錄結構、基本命令、編輯器VI ,編譯器GCC,調試器GDB和 Make 項目管理工具, Shell Makefile腳本編寫(xiě)等知識,嵌入式開(kāi)發(fā)環(huán)境的搭建。
三:Linux系統編程
重點(diǎn)學(xué)習標準IO庫,Linux多任務(wù)編程中的多進(jìn)程和多線(xiàn)程,以及進(jìn)程間通信(pipe、FIFO、消息隊列、共享內存、signal、信號量等),同步與互斥對共享資源訪(fǎng)問(wèn)控制等重要知識,主要提升對Linux應用開(kāi)發(fā)的理解和代碼調試的能力。
四:Linux網(wǎng)絡(luò )編程
計算機網(wǎng)絡(luò )在嵌入式Linux系統應用開(kāi)發(fā)過(guò)程中使用非常廣泛,通過(guò)Linux網(wǎng)絡(luò )發(fā)展、TCPIP協(xié)議、socket編程、TCP網(wǎng)絡(luò )編程、UDP網(wǎng)絡(luò )編程、Web編程開(kāi)發(fā)等方面入手,全面了解Linux網(wǎng)絡(luò )應用程序開(kāi)發(fā)。重點(diǎn)學(xué)習網(wǎng)絡(luò )編程相關(guān)API,熟練掌握TCP協(xié)議服務(wù)器的編程方法和并發(fā)服務(wù)器的實(shí)現,了解HTTP協(xié)議及其實(shí)現方法,熟悉UDP廣播、多播的原理及編程方法,掌握混合CS架構網(wǎng)絡(luò )通信系統的設計,熟悉HTML,Javascript等Web編程技術(shù)及實(shí)現方法。
五:數據結構與算法
數據結構及算法在嵌入式底層驅動(dòng)、通信協(xié)議、及各種引擎開(kāi)發(fā)中會(huì )得到大量應用,對其掌握的好壞直接影響程序的效率、簡(jiǎn)潔及健壯性。此階段的學(xué)習要重點(diǎn)理解數據結構與算法的基礎內容,包括順序表、鏈表、隊列、棧、樹(shù)、圖、哈希表、各種查找排序算法等應用及其C語(yǔ)言實(shí)現過(guò)程。
六:C++ 、QT
C++是Linux應用開(kāi)發(fā)主要語(yǔ)言之一,本階段重點(diǎn)掌握面向對象編程的基本思想以及C++的重要內容。圖形界面編程是嵌入式開(kāi)發(fā)中非常重要的一個(gè)環(huán)節。
由于QT具有跨平臺、面向對象、豐富API、支持2D3D渲染、支持XML、多國語(yǔ)等強大功能,在嵌入式領(lǐng)域的GUI開(kāi)發(fā)中得到了廣范的應用,在本階段通過(guò)基于QT圖形庫的學(xué)習使學(xué)員可以熟練編寫(xiě)GUI程序,并移植QT應用程序到Cortex-A8平臺。
包括IDE使用、QT部件及布局管理器、信息與槽機制的應用、鼠標、鍵盤(pán)及繪圖事件處理及文件處理的應用。
七:Cortex A8 、Linux 平臺開(kāi)發(fā)
通過(guò)基于ARM Cortex-A8處理s5pv210了解芯片手冊的基本閱讀技巧,掌握s5pv210系統資源、時(shí)鐘控制器、電源管理、異常中斷控制器、nand flash控制器等模塊,為底層平臺搭建做好準備。Linux平臺包括內核裁減、內核移植、交叉編譯、GNU工具使用、內核調試、Bootloader介紹、制作與原理分析、根文件系統制作以及向內核中添加自己的模塊,并在s5pv210實(shí)驗平臺上運行自己制作的Linux系統,集成部署Linux系統整個(gè)流程。同時(shí)了解Android操作系統開(kāi)發(fā)流程。Android系統是基于Linux平臺的開(kāi)源操作系統,該平臺由操作系統、中間件、用戶(hù)界面和應用軟件組成,是首個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件,目前它的應用不再局限于移動(dòng)終端,還包括數據電視、機頂盒、PDA等消費類(lèi)電子產(chǎn)品。
八:驅動(dòng)開(kāi)發(fā)
驅動(dòng)程序設計是嵌入式Linux開(kāi)發(fā)工作中重要的一部分,也是比較困難的一部分。本階段的學(xué)習要熟悉Linux的內核機制、驅動(dòng)程序與用戶(hù)級應用程序的接口,掌握系統對設備的并發(fā)操作。熟悉所開(kāi)發(fā)硬件的工作原理,具備ARM硬件接口的基礎知識,熟悉ARM Cortex-A8處理器s5pv210各資源、掌握Linux設備驅動(dòng)原理框架,熟悉工程中常見(jiàn)Linux高級字符設備、塊設備、網(wǎng)絡(luò )設備、USB設備等驅動(dòng)開(kāi)發(fā),在工作中能獨立勝任底層驅動(dòng)開(kāi)發(fā)。
更多技術(shù)交流學(xué)習請咨詢(xún)付老師:電話(huà)18137889103,QQ1841388306.