fpga

LINUX系統程式設計 code

現在位置:艾鍗學院Embedded Linux 課程> Linux系統程式設計
學程概要 
Linux雖然有很多OpenSource,為什麼我看不懂也改不動程式?也不知如何下手?本課程邀請14年Linux開發經驗的Peter老師,以深入淺出的教學方式,帶你進入Linux開發源碼的程式之路。本課程最後動手實作一個 HTTP Web Server , 貫穿整個Linux程式開發精髓, 以從中學習開發思維,程式技巧、設計精髓。
課程目標
1. Linux 低階I/O輸入輸出。
2. Linux 軟體開發工具使用, 包含Gcc, Make, SVN程式碼版本控制
3. Linux 多執行緒與同步控制。
4. Linux 行程管理與IPC行程通訊
5. Linux Socket網路程式設計
6. 動手實作一個 HTTP Web Server
適合對象
1. 需具備C語言基礎,想要從事Linux程式開發者。
2. 想要從事嵌入式應用程式開發者。
課程優惠
1. 艾鍗超值金鑽卡會員,報名課程可享9折優惠價。
2. 艾鍗企業VIP會員可享課程85 折優惠價。
3. 早鳥優惠方案請見報名表。
職涯方向
嵌入式設計師 │ 韌體工程師 │ 資訊家電設計師 │ 網路應用程式設計 │ Linux平台驅動程式

OpenCV Embedded
課程大綱

Day1

1. Bash Shell Script
2. Regular expression: sed/awk"
3. Linux Development Tools
     -GCC , GNU Make, Source Code Control
4. Linux I/O 
    - read, write, ioctl, select…
    - Blocking I/O Nonblocking I/O

Day2
5. Linux Process
    - fork, exec, wait, ..
6. Linux IPC
    -Pipe, Share Memory, Message Queue, Semaphore
Day3
7. Linux Signal
8. POSIX Thread &Thread Synchronization 

9. Linux Socket (1)

Day4
10. Linux Socket (2)
11. Design mini HTTPD server
12. HTTPS with openssl (optional)

講師實務經驗分享
一般情況,通常整個嵌入式Linux系統的功能會有你自己寫的程式(可能也會去連結GPL或LGPL函式庫)並整合一些來自Open Source的程式。雖然Linux已存在很多的Open Source,但不可能永遠運氣這麼好都可以找到100%符合需求或規格的原始碼,所以你必須懂得如何修改成你要的功能。不論自己寫或移植Open Source,這些都是基於Linux核心,所以一定會用到Linux核心的能力,包含裝置I/O請求、多行程、同步處理、行程通訊等。若你的系統需要TCP/IP通訊,還得懂Socket網路程式設計。想自己寫並且能改得動Open Source的程式,其實要具備Linux系統程式設計的能力,你可以透過閱讀"Linux Programming Manual",但是篇幅之廣泛且多元,如果沒有對作業系統有一定的認知,不懂對系統呼叫(System call)所產生Linux背後的運作行為,很難了解真諦。因此若有經驗的人帶你看並且提供範例程式演練,對於學習會相當有幫助。
講義預覽