2013年1月8日 星期二

2013熱門課程系列***【嵌入式實戰班第八期】嵌入式 Linux / Android 雙OS實戰精修班






















  嵌入式Linux系統可以整合網路、無線傳輸、USB、音效裝置及ㄧ般微處理機周邊裝置等,同時具有Linux作業系統的優點及特性,所以適用於未來科技產品講求【高智慧性】、【多功能網路連結】、【無線網路傳輸】的訴求,因此嵌入式系統已變成未來生活的一個商品研發的技術基礎平台。目前嵌入式系統熱門的生活應用產品有:智慧型手機、PDA、MP3、數位機上盒(Set-Top
Box)、DVR、遊戲機、Home
Gateway、VoIP等。且目前嵌入式系統亦大量應用於工業控制、家用電器產品、醫療應用、遠距視訊應用…等,這些應用已經大大地影響我們的生活方式。為了因應這一波產業IT技術應用的轉變,需要大量嵌入式系統研發及測試技術的人才。


  另一股平台Android系統,是一個在Linux為基礎的Mobile為主的開放原始碼作業系統,此平台主要用於移動設備,所以規劃之課程將讓您學會如何「移植」Android平台系統及在此平台系統上撰寫Java語法的Android程式。


  自強基金會規劃一系列嵌入式完整課程,完全以業界所需實務為導向,將兩種應用平台嵌入式【Linux】與【Android】常見之應用技術與系統移植於課堂上直接講授並且實作。將軟硬體直接整合,課程範例將直接在各種ARM開發板(Cortex
A8、ARM11、ARM9)上,分別以ARM-Linux與Android兩種不同的平台系統,深入淺出的將此領域之技術傳授給學員,建立紮實功力,提升您在此領域的競爭力。



【課程安排】
★上課日期:102/3/9至11/9【每週六上課,9:00至16:00,共180小時】
(4/6、6/15、8/3、9/21、10/12
停課)



嵌入式 Linux/Android 雙OS實戰精修班
【★贈送教學開發板ARM-CortexA8含7吋電容式多點觸控面板
(值9,800)】

若遇不可預測之突發因素,基金會保有相關課程調整、取消、教室及講師之變動權。



































【主辦單位】財團法人自強工業科學基金會
【上課地點】自強基金會台北分部 (台北市金華街110號3樓)
【課程費用】原價80,800元
★會員於102/2/6前報名,享有會員早安鳥價75,000元
★會員於102/3/2前報名,享有會員優惠價77,000元

[課程費用含講義自編教材、板材、餐點]
【諮詢專線】(02) 33223139 分機2282 林小姐 Hllin@tcfst.org.tw
【會員優惠】會員於開課七日前(含)報名並於收到本會繳款通知後完成繳費,可享有會員優惠價
※本課程不適用於VIP廠商
【報名方式】上課前三天完成報名及繳費手續


  1. 網路報名:http://edu.tcfst.org.tw
  2. 親自報名:填妥報名表攜帶費用至『台北市金華街110號3F』,週一至週五8:30~18:00止
  3. 傳真報名02-33223141:填妥報名表,傳真至本基金會並於報名截止日前繳清費用。
【繳費方式】聯絡人 (02)33223139 Ext.2282 林小姐: E-mail: hllin@tcfst.org.tw


  1. 可使用現金、信用卡、支票、匯票等方式付款,請於收到本會繳款通知後,進行繳款作業並於課前繳清費用(信用卡繳費者於確認開課後才會過卡)。
  2. 支(匯)票抬頭請寫「財團法人自強工業科學基金會」(請勿更改或縮寫,並檢附報名表影本)。
  3. 郵寄地址:台北市金華街110號3F 財團法人自強工業科學基金會林小姐收。
  4. 選課前請詳閱簡章之課程內容
  5. 本課程適用VIP廠商優惠,使用VIP廠商優惠之學員,上課當日報到時需查核該公司識別證 (相關證明資料)


【課程目標&特色】


課程目標



  1. 課程依據業界(包含高階工控、消費性電子、家用電器、醫療裝置、多媒體電子產品等)使用ARM Cortex
    A8、ARM11、ARM9等教學開發板授課,分別在ARM-Linux與Android兩種不同的平台系統實作。師資為業界具實際產品開發板經驗,上課採小班教學,課程結合實務,整個課程均環繞在多種ARM開發板(ARM
    Cortex
    A8、ARM11、ARM9)上講解,且在這些ARM開發板上會以ARM-Linux與Android不同的平台系統實作執行相關程式範例,課程規劃紮實、完整。
  2. 從基礎的程式設計開發,再延展至各種不同的嵌入式Linux實作平台與Android平台系統練習,真正達到可符合不同業界產品,訓用合一的訓練目標。
  3. 講師具有豐富的教學與實務經驗,讓學員真正學到嵌入式基本功夫


選擇我們就對了


課程以實作為主、理論為輔之導向,分為基礎課程、基礎核心課程、進階核心課程、實作LAB課程等四部份。



  1. 課程依據業界(包含高階工控、消費性電子、家用電器、醫療裝置、多媒體電子產品等)使用ARM
    CortexA8、ARM11、ARM9等教學開發板授課,分別在ARM-Linux與Android兩種不同的平台系統實作。
    師資為業界具實際產品開發板經驗,上課採小班教學,課程結合實務,整個課程均環繞在多種ARM開發板(ARM
    Cortex
    A8、ARM11、ARM9)上講解,且在這些ARM開發板上會以ARM-Linux與Android不同的平台系統實作執行相關程式範例,課程規劃紮實、完整。
  2. 從基礎的程式設計開發,再延展至各種不同的嵌入式Linux實作平台與Android平台系統練習,真正達到可符合不同業界產品,訓用合一的訓練目標。
  3. 講師具有豐富的教學與實務經驗,讓學員真正學到嵌入式基本功夫

經過六個月精心安排且有系統的課程安排,可以讓學員由淺入深的對嵌入式系統與Android平台完成全面學習,結訓後讓學員具有能夠獨立完成嵌入式Linux與Android平台系統移植、驅動程式開發、應用系統軟體開發等多項技能。




課程特色


課程使用ARM Cortex
A8(或ARM11-S3C6410)、ARM9-S3C2440教學開發板授課,業界具實際開發板經驗師資,小班教學,結合實務,以作業系統雙OS(ARM-Linux與Android)實作ARM開發板,紮實完整系統規劃




課程師資
















【江義華 老師】
(教學經驗超過15年以上,同時是多家廠商聘請之專業技術顧問)
【榮獲本會績優講師】上過學員一致好評熱推的講師!
【學歷】逢甲大學資訊工程研究所、中正大學資訊工程所博士班研究
【經歷】大學電子資訊相關科系講師、自強工業基金會講師、資策會講師、科技公司技術顧問
【專長】嵌入式系統開發、智慧型嵌入式家庭自動化系統設計、8051單晶片、多套自動化系統及驅動程Driver、WEB-ERP系統、ERP系統、生產線自動化系統


修課條件


對此領域有興趣學員,具有C語言基礎為佳。




【課程架構】


請注重智慧財產權,抄襲及翻印必究!


【使用板材】




【課程大綱】


 02C001 嵌入式 Linux / Android 雙OS實戰精修班









上課日期102/3/9至11/9【每週六上課,9:00至16:00,共180小時】
課程大綱

  1. 【基礎入門】Linux作業系統使用/GNU Make及Makefile 檔案介紹
  2. 【實戰-模組A】設計實作ARM嵌入式開發板-以 A8、ARM11、9為例
  3. 【實戰-模組B】嵌入式 Linux系統實作與程式設計實務
  4. 【實戰-模組C】Step by Step講授嵌入式開發板Linux驅動程式實務
  5. 【應用-模組D】嵌入式系統專案實作:網路通訊I/O、多媒體系列
  6. 【應用-模組E】Android系統及應用開發實戰(含JAVA語法先修)



【基礎入門】Linux作業系統使用/GNU Make及Makefile 檔案介紹












課程目標讓學員熟悉嵌入式Linux Device Driver課程所需具備之嵌入式Linux
BSP操作及嵌入式Linux程式設計(含進階C語言),課程以實際在ARM開發版上操作教學,讓學員未來能更專注於學習嵌入式系統相關知識
讓學員熟悉嵌入式Linux
Programming課程所需具備之GNU Make知識,課程以實際在ARM開發版上操作教學,讓學員可在未來能更專注於學習嵌入式系統相關知識
修課條件對此領域有興趣學員,具有C語言基礎為佳
課程大綱

  1. How to Build an Effective Embedded Linux Environment
  2. 嵌入式Linux指令使用
  3. 嵌入式Linux開機管理與網路設定
  4. Introduction ARM BSP & SDK(適用於A8、ARM11、9)
  5. Create Embedded System GNU Development Toolchain
  6. Boot Loader (A8、ARM11-S3C6410、ARM9-S3C2440) Brief Introduction
  7. Configure and Make Embedded System Kernel / Create Root-File System(
    arm-linux)
  8. ★Lab: Create Kernel and Root-File System(ARM-Linux)
  9. How to Porting the Linux to New A8、ARM11-S3C6410、ARM9-S3C2440
  10. GNU Make/Makefile
    ●An Introduction to Makefiles
    ●How to Writing
    Makefile Rules and Writing the Commands in Rules
    ●How to Use
    Variables
    ●Conditional Parts of Makefiles
    ●How to Run Make
    ●Using
    Implicit Rules



【實戰-模組A】 設計實作ARM嵌入式開發板-以 A8、ARM11、9為例












課程目標嵌入式技術是近年竄起直升的熱門科技,而嵌入式技術目前正廣泛運用在多元的產品上,但各產品所使用之嵌入式作業系統也是百家爭鳴,並無統一之標準。然而就嵌入式
Boot Loader 和OS/Driver
等設計,以及開發之實務上的操作程序而言,卻有脈絡可循,在熟悉這套程序和方法之後,只要搭配硬體上對產品之特定SoC(System on
Chip)的了解,便能舉一反三,藉以開發各項嵌入式產品。而本課程就以
ARM處理器核心為例,並利用實驗板A8、ARM11-S3C6410、ARM9-S3C2440進行實作,讓學員藉此逐步了解嵌入式系統之各種不同應用的ARM硬體架構,包括:
A8、ARM11、ARM9處理器底層架構、ARM處理器之組合語言、Boot Loader、開機初始化流程、FLASH 的
Read/Write/Erase、開發板內之各類嵌入式硬體介面控制實作,以及如何將嵌入式Linux 雙OS(ARM-Linux x) Porting至
ARM開發版,以此熟悉嵌入式開發版設計的程序和方法。藉此自製ARM嵌入式開發板之能力,做為徜徉嵌入式技術領域的敲門磚
修課條件電子、電機、資工、自控相關科系,且具備C程式語言能力與計算機基礎概念
需熟悉Linux操做環境及介面或修過【基礎入門】Linux
先修班才建議上此課程
課程大綱一、嵌入式ARM計算機組織

  1. 嵌入式A8、ARM11、9處理器系統架構
  2. 嵌入式ARM處理器軟體設計
    ★【Lab】:輔以大量的 ARM 組語LAB講解
    ★【Lab】: Flash the LED on Boot
    Loader
  3. A8、S3C6410、S3C2440 CPU規格書說明
  4. 不同Flash Rom及相關週邊IC規格書說明
  5. 嵌入式ARM開發板電路講解-ARM CPU/ROM/RAM/Peripheral
二、實作ARM
嵌入式系統開發平台-以A8、ARM11、9為例

  1. 適用於A8、ARM11、9之Boot Loader 簡介
  2. 如何撰寫Boot Loader與Boot Loader程式功能(分別以適用於A8、ARM 11、9講解)
  3. 如何撰寫Flash Rom的Read/Write/Erase程式(分別以適用於A8、ARM 11、9講解)
  4. U-Boot 與 ADS BootLoader 的移植(分別以適用於A8、ARM 11、9講解)
  5. 透過JTAG下載Boot Loader至ARM板(分別以適用於A8、ARM 11、9講解)
  6. 透過Boot Loader下載編譯好的嵌入式Linux Kernel Image(分別以適用於A8、ARM 11、9講解)
  7. 透過Boot Loader下載編譯好的嵌入式Root File System(分別以適用於A8、ARM 11、9講解)
  8. Boot Loader & 嵌入式Linux之開機流程



【實戰-模組B】嵌入式 Linux系統實作與程式設計實務












課程目標本課程之Linux系統實作與程式設計,全部是在A8、ARM11-S3C6410、ARM9-S3C2440嵌入式開發板上實作完成。課程內容從A8、ARM11-S3C6410、ARM9-S3C2440開發板平台開始介紹,講解ARM開發板、GNU
Toolchain(Cross Compiler)、Boot Loader、建立自己的嵌入式Kernel與Root File
System,再以自己建立的【嵌入式Linux雙OS系統】學習Linux指令使用及開機管理與網路設定。接著在ARM開發板以自己建立的【嵌入式Linux雙OS系統】為作業系統,以此雙OS系統為基礎在上面講授各種Linux
程式設計。整個【嵌入式Linux雙OS系統】程式設計課程,講師會現場撰寫實作程式的範例,隨後將程式透過Cross
Compiler後上傳至ARM開發板執行。不同於一般幾乎都在PC的Linux上講授Linux程式設計。而且這些程式範例均會在ARM開發板上與硬體結合,使學員可以熟悉《軟硬兼施》的程式設計,讓偏【純軟的工程師】不會看到硬體就傻眼、讓偏【純硬的工程師】不會看到軟體就頭痛。課程結束後可以熟悉【嵌入式Linux】程式設計
修課條件電子、電機、資工、自控相關科系,且具備C程式語言能力與計算機基礎概念
需熟悉Linux操做環境及介面或修過【基礎入門】Linux
先修班,才建議上此課程
課程大綱Embedded Linux 設計,適用於ARM-Linux、uCLinux

  1. What is Needed Lib for Embedded System? ( System Calls & Library)
  2. Embedded Linux File I/O:★【Lab】STDIO/STDOUT Programming
  3. Embedded Linux Files and Directories:★【Lab】open/create/read/
    write/lseek/fcntl/close
  4. Embedded Linux Standard I/O Library:★【Lab】Buffering I/O、Reading and Writing
    a Stream、Binary I/O、Formatted I/O
  5. Embedded Linux System Data Files & Info:★【Lab】Linux System Information
    Programming
  6. Embedded Linux Termios:★【Lab】RS232 Programming
  7. Embedded Linux Process Control:★【Lab】fork、vfork、exec
  8. Embedded Linux Signals:★【Lab】signal、kill and raise Functions、Sigaction
    Function
  9. Embedded Linux Inter-Process Communication:★【Lab】Pipes、FIFOs、Message
    Queues、Semaphores、Shared Memory
  10. Embedded Linux多執行緒程式設計:★【Lab】pThread Programming、Mutux Programming
  11. Embedded Linux Network Socket Programming:★【Lab】TCP/UDP Programming
  12. Embedded Linux Shell 程式設計:★【Lab】Embedded Linux Shell Programming:Simple
    Shell Example、Shell Operators Example、Shell Logic Structures Example



【實戰-模組C】Step by Step講授嵌入式開發板Linux雙OS驅動程式實務












課程目標學習不牽涉到硬體控制之單純的Linux驅動程式,是不難的。學習如何撰寫Linux驅動程式是難在其與硬體結合,使得驅動程式必須正確的驅動要控制的硬體。本課程重點在Step
by Step介紹嵌入式產品開發過程中,產品研發人員如何實地撰寫【嵌入式 Linux 雙OS驅動程式】,我們從簡單的開發板之 Linux
驅動程式可適用於ARM-Linux架構入手,進而至 Character Device 的撰寫(分別以 LED
或SEG-7裝置實作),並可執行在ARM-Linux系統,並剖析 Linux 驅動程式與硬體間的運作,再深入 Linux
驅動程式撰寫的各個層面,同時搭配各種不同的周邊裝置,如 LED、LCD、Keypad、SEG-7、Network
裝置等一般嵌入式系統常用之硬體。講師於課堂中撰寫這些常見的驅動程式,並在現場於 A8、ARM 11、9開發板上測試撰寫的【嵌入式 Linux
雙OS系統驅動程式】,讓學員實際熟悉【嵌入式 Linux
雙OS系統驅動程式】於實務上是如何撰寫,且於現場實際上機測試的過程中,更提供了從業學員之間技術交流的機會,締造教學相長之契機,共同朝向發揚嵌入式產業之目標邁進。
修課條件

  1. 應具備C程式語言能力與計算機基礎概念
  2. Linux Programming 基本概念,Makefile,Shall指令
  3. 需熟悉Linux操做環境及介面或修過【基礎入門】Linux先修班
課程大綱

  1. 嵌入式Linux 驅動程式程式架構
  2. 嵌入式Linux 驅動程式之程式設計流程:Building and Running Module
    ★ 【LAB】Hello World on
    ARM 開發板
  3. 嵌入式Linux字元驅動程式
    ★ 【LAB】A Simple LED Device Driver on ARM 開發板
  4. 除錯技術:Debugging Techniques
    ★ 【LAB】Create a /Proc Entry File system on ARM
    開發板
  5. 進階Linux字元驅動程式
    ★【LAB】The LED Device Driver Using IOCTL on ARM 開發板
  6. Getting Hold of Memory and Hardware Management
    ★ 【LAB】ARM BSP I/O
    Operations on ARM 開發板
  7. Flow of Time: Current Time、Delaying Execution、Task Queues、Kernel Timers

    【LAB】ARM BSP Experiment for LCM(or LED) Device on ARM 開發板(Current Time、Delaying
    Execution、Task Queues、Kernel Timers)
  8. 嵌入式Linux Interrupt Handling
    ★ 【LAB】ARM BSP Interrupt Example on ARM 開發板
  9. 嵌入式Linux Memory Mapped I/O:
    ★【LAB】Frame Buffer(TFT LCD顯示) on ARM 開發板
  10. 嵌入式Linux 區塊驅動程式
    ★ 【LAB】A Simple Block Device Driver on ARM 開發板
  11. 網路卡驅動程式(以網路晶片dm9ks為例) dm9ks IC's Network Device Driver Tracing
  12. Embedded Linux-USB Device Driver(USB驅動程式)
    ★ 【LAB】A Simple USB Drive
    Tracing
  13. Add your Device Driver into Kernel/ How to Porting Device Drivers to the
    Kernel
    ★【LAB】On ARM 開發版Experiment:
    1. Add a LED Driver into Kernel  2.
    Make Kernel  3.Testing



【實戰-模組D】嵌入式系統專案實作: 網路通訊I/O與多媒體系列












課程目標

  1. 完全以業界所需實務為導向,將嵌入式Linux常見之應用技術於課堂上直接講授並且實作
  2. 軟硬體直接整合,課程範例將直接在ARM開發板上執行測試
修課條件

  1. 須熟悉嵌入式Linux C程式設計(包含GNU Makefile )
  2. 須熟悉ARM BSP與嵌入式硬體
  3. 上過模組A、B或C,才建議上此課程
課程大綱一、網路通訊I/O

  1. ARM開發板GPIO Linux 驅動程式
  2. ARM開發板UART驅動程式控制實驗
  3. ARM開發板周邊Linux驅動程式控制實驗
  4. TCP/IP Socket Programming on ARM Development Platform
  5. Serial Programming for POSIX on ARM Development Platform
  6. Http Server Introduction & Porting to ARM Development
    Platform.(Httpd&BoA)
  7. Porting SQLite Data Base to ARM Development Platform
    ★Integrated Example:
    How to Design a Home Automation System
二、多媒體系列

  1. ARM開發板GPIO Linux 驅動程式
  2. ARM開發板周邊Linux驅動程式控制實驗
  3. Multi-Media System Programming
  4. QT X Window System
    ★Integrated Example:簡易掌上型遊戲機



【實戰-模組E】Android系統及應用開發實戰(含JAVA語法先修)












課程目標

  1. 全面的掌握Android系統環境建立、移植、底層開發之技術
  2. 全面深入瞭解使用Android SDK進行移動應用開發
  3. 完成一個功能完善的Android程式
  4. 熟悉Android程式設計的關鍵技術
修課條件

  1. 瞭解java語言
  2. 須熟悉ARM BSP與嵌入式硬體
  3. 上過模組A、B或C,才建議上此課程
課程大綱一、Java語法先修
二、Android系統開發

    Andriod 開發環境建立
  1. Android平臺移植:Android移植的主要步驟與方法、配置Linux內核支援Android、Linux內核中添加Android驅動、製作yaffs2、jffs2格式的Android檔案系統

  2. ★LAB:下載Linux內核、Android源碼,編譯、移植到目標開發板平臺
  3. ★LAB:編寫一個簡單的應用程式執行在目標開發板平臺
  4. Android底層開發基礎:Android啟動流程與相關服務解析、添加自己的平臺、添加本地庫的方法、Dalvik虛擬機工作原理介紹、Jni開發/HAL開發、SystemServer、ServiceManager介紹、Android
    Binder工作原理
  5. Android調試方法
  6. ★LAB:編寫一應用程式、Framework、jni、HAL實現Android平臺上之LED控制
  7. Android Sensor 開發:常見感測器與應用、Android Sensor開發框架
  8. Android底層重要應用(Trace Code):Android Camera 開發、Android 音訊開發、Android
    Wifi開發、Android 電源管理、Android 3G開發
三、Android應用開發

  1. Android SDK及其開發環境搭建
  2. Android專案結構分析:Resources分析(drawable、layout、values[strings.xml、colors.xml、arrays.xml等]、R.java分析及使用、AndroidManifest.xml分析):主要元件分析(Activity、Intent、Service、Content分析)

  3. 高級UI設計
  4. Intent Receiver
  5. Android多執行緒
  6. Service和BroadcastReceiver
  7. Android資料使用:SQLite、SharedPreference、Content Providers
  8. 多媒體處理:MediaRecorder、MediaPlayer
  9. Android網路:URLConnection和HttpURLConnection、Apache HttpClient






沒有留言:

張貼留言

FPGA Verilog 的學習經驗,提供給要入門的新手

今天簡單說說 FPGA Verilog 的學習經驗,提供給要入門的新手: 1.對自己寫的FPGA Verilog程式,所生成的數位電路要心中有數。 這一點個人認為很重要,就正如寫 C語言,心中要能生成對應的組合語言一樣,我是這樣要求自己的。 雖然 FPGA Verilog語言...