瀏覽次數:285by:富捷培訓
■優惠資訊網址 http://www.geego.com.tw/edm/progm_embedded_c_fundamental/index.php?v=web66&c=banner&k=embedded_c&p=progm&t=c_fundamental
■課程簡介
在嵌入式系統處處受限的環境中,C 語言得力於編譯出來的執行檔小、執行速度快、容易移植到不同平台等優點,成為嵌入式系統的首選語言。想進入嵌入式系統的世界,熟悉 C 語言成了此領域的最低門檻。本課程會詳細解說 C 語言的各項語法,並加強嵌入式系統會用到的部份,讓您取得進入嵌入式系統設計的門票。是給沒學過 C 語言、或稍有基礎的學員,最適合的入門課程。
■嵌入式 C 與一般 C 的差異
1. 特別注重如何用 C 語言控制硬體:
一般 C 語言不需去控制硬體,不過嵌入式 C 語言需要學會如何用程式去控制硬體。
2. 特別注重執行檔底層運作原理:
一般 C 語言只要能編譯出執行檔,放到 Windows 上跑即可。嵌入式 C 語言會詳細介紹執行檔運作時的底層原理。如:「負數」在電腦內如何表示的問題。一般程式師只要能寫出「-2」就可以了。嵌入式 C 語言工程師得知道,在電子電路層面上,是根本沒有「負號」這個觀念的,電子電路只能用「0 與 1」來表示「負數」。如何做到這點,就是我們嵌入式 C 語言課程內容會教的。
3. 特別注重 C 語言中的「條件編譯」:
一般 C 語言工程師,他們執行檔案的硬體平台只有 Intel x86 一種,所以他們的程式碼撰寫時,不用考慮到這份原始碼可能會移植到不同硬體的情況。但要寫到「一份程式」能在「千萬種不同手機」上跑起來,就是功力了。因此,寫嵌入式 C 語言的工程師,會大量運用一大堆 if ~ then 的條件判斷,讓程式編譯成執行檔時,會根據目標硬體的不同,編譯出不同硬體平台的執行檔。而這種手法,就稱為「條件編譯」,乃嵌入式軟體工程師特別需要訓練的能力。
■學習目標
- 熟悉嵌入式系統C語言開發環境的架設與使用。
- 了解C語言變數、分支、迴圈、函式…等基本語法。
- 認識前處理器、指標、特殊宣告等嵌入式系統常用的技巧。
- 知道一般C語言與嵌入式C語言不同之處。
■課程教材
原廠指定Embedded Linux教材
■課程大綱
1. 課程介紹與環境安裝
.嵌入式系統概念介紹
.嵌入式系統開發所需知識與難處
.嵌入式系統軟體開發流程
.開發環境架設
2. C 語言架構、編譯、除錯
.C 語言原始碼架構
.編譯與執行
.除錯
.程式語言三大邏輯:循序、分支、迴圈
3. 定數(Literals)
.各種定數介紹:整數、浮點數、文字、布林值
.有號數與無號數的二進位表示法(嵌入式工程師需瞭解)
.浮點數二進位表示法(嵌入式工程師需瞭解)
4. 變數
.變數命名規則、識別字、保留字
.各種變數型態
.變數作用範圍(Scope)
.變數轉型(Casting)
.自訂型態:typedef
5. 運算子(Operators)
.運算子、運算元、運算式
.各種運算子介紹
.優先順序與結合性
6. 分支
.if~else
.switch~case~break
.巢狀結構
7. 迴圈
.for
.while
.do~while
.break / continue
8. 常見於嵌入式系統的無窮迴圈:while(1)陣列與字串
.一維陣列
.多維陣列
.字串宣告與常用字串函式
9. 指標
.指標概念、宣告、與初始化
.各種指標介紹
10. 函數
.函數定義、宣告、使用方法
.參數與引數、傳值呼叫與傳址呼叫
.靜態變數與變數的生命週期
.函數指標與回呼函數(Callback Function)
11. 動態記憶體配置
.動態記憶體配置、釋放指令
.特殊記憶體區段介紹:data、code、bss、heap、stack(嵌入式工程師需瞭解)
12. 結構體與聯合體
.結構體定義與操作
.巢狀結構、結構指標、與結構陣列
.位元欄位
.聯合體定義與操作
13. 檔案輸出入
.檔案串流簡介
.循序檔、隨機檔、二進位檔操作
14. 前置處理器
.include, define
.ifdef, ifndef, else, endif
■課程簡介
在嵌入式系統處處受限的環境中,C 語言得力於編譯出來的執行檔小、執行速度快、容易移植到不同平台等優點,成為嵌入式系統的首選語言。想進入嵌入式系統的世界,熟悉 C 語言成了此領域的最低門檻。本課程會詳細解說 C 語言的各項語法,並加強嵌入式系統會用到的部份,讓您取得進入嵌入式系統設計的門票。是給沒學過 C 語言、或稍有基礎的學員,最適合的入門課程。
■嵌入式 C 與一般 C 的差異
1. 特別注重如何用 C 語言控制硬體:
一般 C 語言不需去控制硬體,不過嵌入式 C 語言需要學會如何用程式去控制硬體。
2. 特別注重執行檔底層運作原理:
一般 C 語言只要能編譯出執行檔,放到 Windows 上跑即可。嵌入式 C 語言會詳細介紹執行檔運作時的底層原理。如:「負數」在電腦內如何表示的問題。一般程式師只要能寫出「-2」就可以了。嵌入式 C 語言工程師得知道,在電子電路層面上,是根本沒有「負號」這個觀念的,電子電路只能用「0 與 1」來表示「負數」。如何做到這點,就是我們嵌入式 C 語言課程內容會教的。
3. 特別注重 C 語言中的「條件編譯」:
一般 C 語言工程師,他們執行檔案的硬體平台只有 Intel x86 一種,所以他們的程式碼撰寫時,不用考慮到這份原始碼可能會移植到不同硬體的情況。但要寫到「一份程式」能在「千萬種不同手機」上跑起來,就是功力了。因此,寫嵌入式 C 語言的工程師,會大量運用一大堆 if ~ then 的條件判斷,讓程式編譯成執行檔時,會根據目標硬體的不同,編譯出不同硬體平台的執行檔。而這種手法,就稱為「條件編譯」,乃嵌入式軟體工程師特別需要訓練的能力。
■學習目標
- 熟悉嵌入式系統C語言開發環境的架設與使用。
- 了解C語言變數、分支、迴圈、函式…等基本語法。
- 認識前處理器、指標、特殊宣告等嵌入式系統常用的技巧。
- 知道一般C語言與嵌入式C語言不同之處。
■課程教材
原廠指定Embedded Linux教材
■課程大綱
1. 課程介紹與環境安裝
.嵌入式系統概念介紹
.嵌入式系統開發所需知識與難處
.嵌入式系統軟體開發流程
.開發環境架設
2. C 語言架構、編譯、除錯
.C 語言原始碼架構
.編譯與執行
.除錯
.程式語言三大邏輯:循序、分支、迴圈
3. 定數(Literals)
.各種定數介紹:整數、浮點數、文字、布林值
.有號數與無號數的二進位表示法(嵌入式工程師需瞭解)
.浮點數二進位表示法(嵌入式工程師需瞭解)
4. 變數
.變數命名規則、識別字、保留字
.各種變數型態
.變數作用範圍(Scope)
.變數轉型(Casting)
.自訂型態:typedef
5. 運算子(Operators)
.運算子、運算元、運算式
.各種運算子介紹
.優先順序與結合性
6. 分支
.if~else
.switch~case~break
.巢狀結構
7. 迴圈
.for
.while
.do~while
.break / continue
8. 常見於嵌入式系統的無窮迴圈:while(1)陣列與字串
.一維陣列
.多維陣列
.字串宣告與常用字串函式
9. 指標
.指標概念、宣告、與初始化
.各種指標介紹
10. 函數
.函數定義、宣告、使用方法
.參數與引數、傳值呼叫與傳址呼叫
.靜態變數與變數的生命週期
.函數指標與回呼函數(Callback Function)
11. 動態記憶體配置
.動態記憶體配置、釋放指令
.特殊記憶體區段介紹:data、code、bss、heap、stack(嵌入式工程師需瞭解)
12. 結構體與聯合體
.結構體定義與操作
.巢狀結構、結構指標、與結構陣列
.位元欄位
.聯合體定義與操作
13. 檔案輸出入
.檔案串流簡介
.循序檔、隨機檔、二進位檔操作
14. 前置處理器
.include, define
.ifdef, ifndef, else, endif
#C#C++#程式語言#Embedded#Driver#嵌入式#Sharp#C語言#程式#programming