|
|
課程大綱
| No. | 課程內容 |
| 1 | 課程介紹與環境安裝
.C 語言歷史介紹
.開發環境安裝
.開發板與 PC 的連接
.如何傳送檔案到開發板
|
| 2 | C 語言程式骨架與編譯流程
.C 語言原始碼基本架構
.編譯與執行
.一般編譯與執行
.交叉編譯與執行
.使用 Make 編譯執行檔
.除錯工具 gdb 介紹
.如何對開發板執行遠程除錯 |
| 3 | 定數、變數、常數(Literals, Variables, Constants)
.定數四大種類
- 整數定數:123, 0123, 0x123, 123L, 123LL, 123u
- 浮點數定數:1.23, 1.23F, 1.23L, 1.23e-5
- 文字定數:'a', L'a', "Hello"
- 布林值定數:true, false
.變數
- 宣告公式:正負號 長度 型態 名稱 = 初值
- 命名規則與習慣
- 溢位與不足(Overflow vs. Underflow)
- 固定寬度變數:int8_t, uint8_t, int16_t, uint16_t, …
- 轉型(Casting)
.常數
- #define 常數
- const 常數
- enum 常數
|
| 4 | 運算子
.運算子簡介
.各種運算子介紹
- 算數運算子
- 關係運算子
- 條件運算子
- 位元運算子
- 其它運算子
.運算子優先順序與結合性
.運算式(Expression)
|
| 5 | 分支與迴圈
.分支:if~else, switch~case
.迴圈:for, while, do~while
|
| 6 | 複合資料結構
.陣列
- 宣告方法
- 陣列在底層記憶體的排列方式
.字串
- char * 與 char [ ] 的不同
- 常用的字串函數
.結構體(struct)
- 簡介、定義、宣告
- 結構體在底層記憶體的排列方式
- 結構體成員對齊記憶體存取邊界的方法(Memory Alignment)
- 位元欄位(bitwise field structure)
.組合體(union)
- 簡介、定義、宣告
- 組合體在嵌入式系統上的應用場合
|
| 7 | 指標
.簡介與定義:指標 = 存放位址的變數
.宣告與初始化
.各種指標介紹與應用
- 整數、浮點數、字元指標
- 萬用指標:void *
- 陣列指標
- 常數指標 vs. 指標常數(Pointer of Constant vs. Constant Pointer)
.如何直接存取嵌入式系統內的特定位址
- 宣告語法
- 慣用資料型態:unsigned long *
- volatile 修飾字
|
| 8 | 函數
.函數定義、宣告、呼叫
.區域變數、全域變數、與靜態變數
.參數如何傳遞:傳值呼叫 vs. 傳址呼叫
.指向函數的指標(Function Pointer)
.回呼函數(Callback Function)
.利用函數傳回「左值(l-value, Left Value)」
|
| 9 | 檔案操作
.檔案串流介紹(File Streaming)
.使用 C 標準函式庫存取檔案:fopen(), fclose(),...
.使用 Linux 系統呼叫存取檔案:open(), close(),...
|
| 10 | 前置處理器
.前置處理器命令簡介
.巨集定義指令(#define)
- 定義常數與函數
- 字串化運算子(Stringify Operator):#
- 字符相接運算子(Token Concatenation Operator): ##
.條件式編譯(#if)
- 語法介紹:#ifdef, #if defined(...)
- 使用時機
- 當成註解使用:#if 0 ~ #else ~ #endif
.標頭檔引入(#include)
- 語法:#include <...> 與 #include "..."
- 多重引入所造成的問題(Multiple Include Problem)
.其它指令:#error, #pragma,...
|
| 11 | 使用C語言模擬物件導向
.物件導向程式設計簡介與好處
.使用 C 語言模擬「封裝」(Encapsulation)
.使用 C 語言模擬「繼承」(Inheritance)
.使用 C 語言模擬「多型」(Polymorphism)
|
| 12 | 其它嵌入式 C 語言技巧
.GNU 對 C 語言的擴充語法
- switch ~ case 支援「範圍」
- 零長度陣列
- __builtin_XXX 系列函數
.嵌入式 C 語言中 if 條件特殊寫法: if (0= =x)
.可變動函數參數個數(Variable Parameters of Functions)
.程式優化技巧
- 環狀緩衝區
- 查表法
|
課程時數
嵌入式 C 語言入門課程:24 小時
課程內容時有更新,奇科電腦保留課程內容變動之權利,最新詳情請洽02-27116373
|