嵌入式 知識積累(三) 之 基本技能
嵌入式設計應具備的基本技能
1、Linux 基礎
安裝Linux作業系統
Linux檔案系統
Linux常用命令
Linux啟動過程詳解
熟悉Linux服務能夠獨立安裝Linux作業系統,能夠熟練使用Linux系統的基本命令
認識Linux系統的常用服務安裝Linux作業系統
Linux基本命令實踐
設定Linux環境變數
定製Linux的服務Shell
程式設計基礎使用vi編輯檔案
使用Emacs編輯檔案
使用其他編輯器
2、Shell 程式設計基礎
Shell簡介
認識後臺程式Bash程式設計
熟悉Linux系統下的編輯環境
熟悉Linux下的各種Shell
熟練進行shell程式設計熟悉vi基本操作
熟悉Emacs的基本操作
比較不同shell的區別
編寫一個測試伺服器是否連通的shell指令碼程式
編寫一個檢視程序是否存在的shell指令碼程式
編寫一個帶有迴圈語句的shell指令碼程式
3、Linux 下的 C 程式設計基礎
linux c語言環境概述
Gcc使用方法
Gdb除錯技術
AutoconfAutomake Makefile 程式碼優化
熟悉Linux系統下的開發環境
熟悉Gcc編譯器
熟悉Makefile規則編寫Hello,World程式
使用 make命令編譯程式
編寫帶有一個迴圈的程式
除錯一個有問題的程式
4、嵌入式系統開發基礎
嵌入式系統概述
交叉編譯
配置TFTP服務
配置NFS服務
下載Bootloader和核心
嵌入式Linux應用軟體開發流程熟悉嵌入式系統概念以及開發流程
建立嵌入式系統開發環境製作cross_gcc工具鏈
編譯並下載U-boot
編譯並下載Linux核心
編譯並下載Linux應用程式
5、嵌入式系統移植
Linux核心程式碼
平臺相關程式碼分析
ARM平臺介紹
平臺移植的關鍵技術
移植Linux核心到 ARM平臺
瞭解移植的概念
能夠移植Linux核心移植Linux2.6核心到ARM9開發板
6、嵌入式 Linux 下串列埠通訊
序列I/O的基本概念
嵌入式Linux應用軟體開發流程
Linux系統的檔案和裝置
與檔案相關的系統呼叫
配置超級終端和MiniCOM
能夠熟悉進行串列埠通訊
熟悉檔案I/O
編寫串列埠通訊程式
編寫多串列埠通訊程式
7、嵌入式系統中多程序程式設計
Linux系統程序概述
嵌入式系統的程序特點
程序操作
守護程序
相關的系統呼叫瞭解Linux系統中程序的概念
能夠編寫多程序程式編寫多程序程式
編寫一個守護程序程式
sleep系統呼叫任務管理
同步與通訊Linux任務概述任務排程
管道 訊號 共享記憶體 任務管理 API
瞭解Linux系統任務管理機制
熟悉程序間通訊的幾種方式
熟悉嵌入式Linux中的任務間同步與通訊編寫一個簡單的管道程式實現檔案傳輸
編寫一個使用共享記憶體的程式
8、嵌入式系統中多執行緒程式設計
執行緒的基礎知識
多執行緒程式設計方法
執行緒應用中的同步問題了解執行緒的概念
能夠編寫簡單的多執行緒程式編寫一個多執行緒程式
9、嵌入式 Linux 網路程式設計
網路基礎知識
嵌入式Linux中TCP/IP網路結構
socket 程式設計
常用 API函式
分析Ping命令的實現
基本UDP套介面程式設計
許可證管理 PPP協議GPRS
瞭解嵌入式Linux網路體系結構
能夠進行嵌入式Linux環境下的socket 程式設計 熟悉UDP協議、PPP協議
熟悉GPRS
使用socket 編寫代理伺服器
使用socket 編寫路由器編寫許可證伺服器
指出TCP和UDP的優缺點
編寫一個web伺服器
編寫一個執行在 ARM平臺的網路播放器
10、GUI 程式開發
GUI基礎
嵌入式系統GUI型別
編譯QT
進行QT開發熟悉嵌入式系統常用的GUI
能夠進行QT程式設計使用QT編寫“Hello,World”程式
除錯一個加入訊號/槽的例項
通過過載QWidget 類方法處理事件
11、Linux 字元裝置驅動程式
裝置驅動程式基礎知識
Linux系統的模組
字元裝置驅動分析 fs_operation結構
載入驅動程式瞭解裝置驅動程式的概念
瞭解Linux字元裝置驅動程式結構
能夠編寫字元裝置驅動程式編寫Skull驅動
編寫鍵盤驅動編寫I/O驅動
分析一個看門狗驅動程式
對比Linux2.6核心與2.4核心中字元裝置驅動的不同Linux
塊裝置驅動程式塊裝置驅動程式工作原理
典型的塊裝置驅動程式分析
塊裝置的讀寫請求隊列了解Linux塊裝置驅動程式結構
能夠編寫簡單的塊裝置驅動程式比較字元裝置與塊裝置的異同
編寫MMC卡驅動程式
分析一個檔案系統 對比Linux2.6核心與2.4核心中塊裝置驅動的不同
12、檔案系統
虛擬檔案系統
檔案系統的建立
ramfs記憶體檔案系統
proc檔案系統
devfs 檔案系統
MTD技術簡介
MTD塊裝置初始化
MTD塊裝置的讀寫操作
瞭解Linux系統的檔案系統
瞭解嵌入式Linux的檔案系統
瞭解MTD技術 能夠編寫簡單的檔案系統為
ARM9開發板新增 MTD支援
移植JFFS2檔案系統
通過proc檔案系統修改作業系統引數
分析romfs 檔案系統原始碼
建立一個cramfs 檔案系統