嵌入式Linux系統工程師學什麽?
課程安排課程介紹嵌入式C語言編程基礎第壹周主要介紹嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點。以復習系列講座和案例分析的形式,重點講解包括函數和程序結構、指針、數組和鏈表、庫函數的使用等知識。第二周Linux操作與編程基礎主要介紹Linux的基本命令和基本編程知識,包括Linux文件操作和目錄操作命令、VI編輯器、GCC編譯器、GDB調試器和Make項目管理工具。第三周,Linux上的C強化編程訓練主要包括整數算法訓練、遞歸和堆棧編程訓練、位操作訓練、指針訓練、字符串訓練和常用C庫函數編程接口練習,加強學生對Linux下基本編程開發的理解和編碼調試能力。第四至第七周,Linux環境下的高級編程和項目開發編程實踐,主要包括系統編程(信號/系統調用/流水線/FIFO/消息隊列/* *內存共享等。)、文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞和非阻塞IO等。)、多任務和多線程編程(進程識別/用戶識別/fork和vfork/多線程概念)掌握Linux下Socket編程的開發流程,熟悉網絡編程的調用接口函數和相關數據結構,使學生初步具備在Linux上開發系統編程的能力。同時結合之前學習的內容和編程技術,以小組為單位開發壹個團隊合作項目,考核內容包括文件I/O編程、多線程編程、網絡編程和項目文檔撰寫。期中考試第八至第九周嵌入式處理器的體系結構與編程實踐主要介紹ARM、MIPS、PowerPC的體系結構及其編程基礎知識,包括指令分類、尋址方式、指令集、存儲系統、異常中斷處理、匯編語言以及C\C++與匯編語言的混合編程。同時,結合ARM嵌入式開發板的硬件設計原理和基本硬件設計流程,分析了各種外設的工作原理和驅動機制,通過動手實踐完成了壹項ARM開發板上的大型編程工作。第10-11周:嵌入式Linux基礎與高級應用主要介紹嵌入式Linux開發應用的基本流程和知識,包括嵌入式Linux的基本概念和開發流程、Bootloader的工作原理、內核裁剪配置和交叉編譯、根文件系統制作、網絡編程、圖形界面和數據庫開發。同時,獨立完成壹項基於嵌入式Linux GUI的應用編程工作。第12-13周嵌入式Linux的驅動理論和驅動開發實踐主要介紹嵌入式Linux上的驅動開發規範,包括設備驅動、字符設備驅動、塊設備和網絡設備的概念、網卡驅動和常見嵌入式設備驅動開發。同時獨立編寫兩種嵌入式設備驅動,包括驅動模塊的調試加載和完整項目開發文檔的編寫。在第14-15周,嵌入式Linux項目組的開發實踐主要包括壹個真實完整的嵌入式項目開發過程的設計與實現,涉及數據采集、網絡通信、圖形用戶界面顯示、嵌入式數據庫存儲系統等各種嵌入式Linux編程技術。要求學生建立團隊開發、協同工作的企業項目開發模式的理念和流程,加強對項目概要設計文件和詳細設計文件編寫的理解,做好就業前職業技能和素質培養的充分準備。畢業典禮培養目標掌握學習內容掌握三種編程語言掌握C語言掌握C++語言掌握ARM匯編語言掌握兩種嵌入式Linux操作系統Linux掌握uCLinux掌握兩種嵌入式實時操作系統VxWorks掌握uC/ OS-II熟悉三種處理器架構ARM架構MIPS架構PowerPC、 三星S3C2410/ S3C44B0精通Intel XScale PXA255精通飛利浦LPC22xx精通EP7312精通MIPS龍芯掌握兩種硬件設計工具Candence PCB掌握Protel掌握兩種Linux下的編輯軟件VI掌握EMACS掌握兩種字符串通信工具HyperTerminal (Windows)熟悉MiniCOM (Linux)熟悉三種Flash編程工具Flash程序員(GUI)熟悉JFlash編程軟件及原理精通SJF系列編程軟件及原理精通兩 熟悉兩個集成開發環境:ARM ADS 1.2,K-Develop IDE,壹個源代碼版本管理工具CVS,嵌入式Linux的整體開發流程, 和GNU交叉編譯器使用交叉編譯器-gcc/ G++精通Linux Makefile組織結構精通Bootloader引導代碼u-Boot精通RedBoot精通內核編譯配置參數設置精通內核調試精通文件系統JFFS2精通NFS文件系統精通ROMFS文件系統精通EXT2文件系統精通YAFF文件系統了解設置備份驅動LCD設備驅動精通USB設備驅動精通網卡設備驅動精通嵌入式圖形系統MiniGUI精通QT/ 嵌入式熟悉MicroWIN,嵌入式數據庫系統SQLLite熟悉嵌入式應用開發,網絡通信應用開發,數據庫存儲應用開發,多媒體應用開發,圖形用戶界面開發,Shell編程技巧,講解和掌握——說明對所學內容和工具的原理進行了深入分析,對相關內容實現的具體技術細節有所了解,掌握了使用相關工具的高級技能。 熟悉度——表明妳能夠掌握所學的內容和工具,掌握相關內容的基本概念,熟練使用相關工具的常用技能。理解——說明妳對所學的內容和工具有大致的了解,能區分相關內容的概念異同,並能初步使用相關工具。