教學大綱表 (106學年度 第2學期)
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱
Course Title
(中文) 嵌入式系統程式設計
(英文) Embedded System Programming
開課單位
Departments
資訊工程學系
課程代碼
Course No.
I4820
授課教師
Instructor
曾嘉影
學分數
Credit
3.0 必/選修
core required/optional
選修 開課年級
Level
大四
先修科目或先備能力(Course Pre-requisites):I4320作業系統設計
課程概述與目標(Course Overview and Goals): 本課程著重於完整嵌入式系統軟體程式的特性及介紹,使修課學生具備多種系統程式軟體開發的能力,並依應用及系統平台使用選擇適合的自由軟體開發,且規畫實習使修課學生能得到與實務配合的經驗,是嵌入式軟體相關重要課程。
教科書(Textbook) 嵌入式系統程式設計Embedded System Programming課程及實習教材,自編
參考教材(Reference) 長高科技, "行動裝置嵌入式系統與軟體 (S3C6410 Google Android 2.1 開發應用實務)", 長高
課程大綱 Syllabus 學生學習目標
Learning Objectives
單元學習活動
Learning Activities
學習成效評量
Evaluation
備註
Notes

No.
單元主題
Unit topic
內容綱要
Content summary
1 1. Introduction to Embedded System Programming 1. What Makes an Embedded Application Tick?
2. Memory in Embedded Systems
3. Embedded Software
4. How Software Influences Hardware Design
Learn what is the Embedded System Programming  
2 2. Linux Development Environment 1. Basic Concepts
2. Building Development Environment
3. Linux Kernel and Filesystem
Learn the Linux Development Environment  
3 3. Linux make and Makefile 1. Makefile的基本概念和基本結構
2. 編寫簡單Makefile的方法
Learn the Linux make and Makefile  
4 3. Linux make and Makefile 1. 遞迴Make的編譯過程
2. 利用GNU Make編譯應用程式的方法
Learn the Linux make and Makefile  
5 4. S3C6410 Google Android Bootloader 1. BootLoader的基本概念和框架結構
2. BootLoader引導作業系統的過程
Learn the S3C6410 Google Android Bootloader  
6 4. S3C6410 Google Android Bootloader 1. Bootloader程式的編譯方法
2. BootLoader程式的使用方法
Learn the S3C6410 Google Android Bootloader  
7 5. S3C6410 Google Android Linux kernel 1. Linux核心程式碼的目錄結構及各目錄的相關內容
2. Linux核心各設定選項內容和作用
3. Linux核心設定檔config.in的作用
Learn the S3C6410 Google Android Linux kernel  
8 5. S3C6410 Google Android Linux kernel 1. Linux核心的編譯過程
2. 新增核心程式加入到Linux核心結構中的方法
Learn the S3C6410 Google Android Linux kernel  
9 Midterm Project Chapter 1~5 Evaluate the learning goals  
10 6. S3C6410 Google Android Filesystem 1. 嵌入式作業系統中檔案系統的類型和作用
2. JFFS2檔案系統的優點及其在嵌入式系統中的作用
Learn how to build the S3C6410 Google Android Filesystem  
11 6. S3C6410 Google Android Filesystem 1. 利用BusyBox軟體製作嵌入式檔案系統的方法
2. 嵌入式Linux檔案系統的的掛載過程
Learn how to build the S3C6410 Google Android Filesystem  
12 7. Linux Driver and GPIO Programming 1. Linux驅動程式及GPIO的結構
2. Linux驅動程式及GPIO常用結構體和操作函數的使用方法
Learn how to build the Linux Driver and GPIO Programming  
13 7. Linux Driver and GPIO Programming 1. Linux驅動程式及GPIO的編寫方法及過程
2. Linux驅動程式及GPIO的載入方法
Learn how to build the Linux Driver and GPIO Programming  
14 8. GUI Programming for Embedded Systems 1. 嵌入式GUI的類型
2. Android的基本架構
Learn how to build the GUI Programming for Embedded Systems  
15 8. GUI Programming for Embedded Systems 1. Android集成開發平台的使用方法
2. Android應用程式編譯方法
Learn how to build the GUI Programming for Embedded Systems  
16 9. GUI-Android Porting 1. 嵌入式GUI-Android軟體發展平台的構架
2. Android在ARM開發系統中的移植步驟及環境變數的設定方法
Learn how to build the GUI-Android Porting  
17 9. GUI-Android Porting 1. 移植Android嵌入GUI應用程式的基本步驟與方法
2. Android不同平台環境參數的設定和切換。
Learn how to build the GUI-Android Porting  
18 Final Project Chapter 6~9 Evaluate the learning goals  


教學要點概述:
1.自編教材 Handout by Instructor:
□ 1-1.簡報 Slids
□ 1-2.影音教材 Videos
□ 1-3.教具 Teaching Aids
□ 1-4.教科書 Textbook
□ 1-5.其他 Other
□ 2.自編評量工具/量表 Educational Assessment
□ 3.教科書作者提供 Textbook

成績考核 Performance Evaluation: 期末考:30%   期中考:20%   實驗:40%   其他評量:10%  

教學資源(Teaching Resources):
□ 教材電子檔(Soft Copy of the Handout or the Textbook)
□ 課程網站(Website)
課程網站(Website):網路大學 http://elearn.ttu.edu.tw/learn/index.php
扣考規定:https://curri.ttu.edu.tw/p/412-1033-1254.php