fbpx

 information security banner

 03/30MCU單晶片韌體設計
【實戰首選|口碑推薦

 Embedded Linux banner 192x93 2022

 02/15FPGA數位IC實戰
【實體遠距同步教學,欲洽從速】

 PCB 192x93

 03/16全能電路設計實戰班
【立即洽詢課程優惠】

 2020 el banner 192X93

 隨時開課軟韌體線上課程
限時優惠活動,數位課程買一送一

 



課程主題課程內容
ARM Boot Loader
設計
  • ● ARM核心簡介
  • ● ARM mode與Thumb mode
  • ● CP協同處理器
  • ● ADS開發工具介紹
  • ● ARM組合語言
  • ● MMU介紹與練習
  • ● Raspberry開機動作簡介
  • ● Raspberry bootloader設計
  • ● LED與push bottom實作–使用ADS
  • ● HDMI介面(frame buffer)實作–使用ADS
 
Linux系統建置實務
  • ● Linux系統使用的虛擬機器架設與安裝
  • ● Linux標準檔案系統架構剖析
  • ● 學習Linux常用指令與套件安裝
  • ● 搜尋與管理檔案的方式
  • ● 重新編譯與安裝Linux的核心
  • ● 嵌入式開發環境Sever架設
 
嵌入式Linux開發實務
  • ● 嵌入式Linux系統簡介與實務開發方式
  • ● Raspberry Pi開發硬體平台介紹
  • ● 軟體開發平台BSP 解說
  • ■ How to Build Kernel & Root File System
  • ■ Booting 參數修改
  • ■ SD 卡規劃與寫入
  • ● 深入 GNU make & Porting Open Source
  • ● Linux Filesystem(JFFS2, CRAMFS, YAFFS...)
  • ● Linux MTD device
  • ● GNU toolchain
  • ■ Shared vs. Static Library, Linker Script, ar, objcopy, objdump, nm, libtool,etc. GCC Compiler,...)
  • ● Android SDK Architecture & Setup
  • ■ Gingerbread install, Busybox install
 
Linux 驅動程式
  • ● Linux Device Driver Introduction
  • ■ Linux 驅動程式架構
  • ■ Linux Device Driver架構
  • ■ Linux Coding Style
  • ■ Kernel Space VS User Space
  • ■ Linux Device Driver種類 (Char, Block and Network)
  • ■ Compiling (Makefile,Kconfig) & Loading
  • ● Common Kernel APIs (包含實際範例解說)
  • ■ Blocking I/O vs Non-blocking I/O
  • ■ Work Queue
  • ■ Wait Queue
  • ■ Kernel Thread
  • ■ Synchronization (Spin Lock, Mutex, Semaphore)
  • ■ Kernel Timer List (Jiffies, timer ticks)
  • ■ Memory Allocation
  • ■ Cache & Memory Map
  • ■ Proc FS
  • ■ SysFS
  • ■ HAL I/O Routinue
  • ■ Kernel Double Linked List
  • ● How to Debug Device Driver?
  • ● Character Device
  • ● Linux Misc Device
  • ● Linux Platform Device
  • ● Linux Interrupt Handling & Bottom Halves
  • ● Linux GPIO 驅動程式 for LED, Button,Relay
  • ● Linux Serial port 驅動程式 for Bluetooth 模組
  • ● Linux I2C驅動程式 for Serial EEPROM and LCM Module
  • ● Linux SPI驅動程式 for SPI Flash
  • ● Linux IR Decode
 
Linux系統程式設計
  • ● Bash Shell Script
  • ● Regular expression: sed/awk
  • ● Linux Development Tools
  • ■ GCC , GNU Make, Source Code Control
  • ● Linux I/O
  • ■ read, write, ioctl, select…
  • ■ Blocking I/O Nonblocking I/O
  • ● Linux Process
  • ■ fork, exec, wait...
  • ● Linux IPC
  • ■ Pipe, Share Memory, Message Queue, Semaphore
  • ● Linux Signal
  • ● POSIX Thread &Thread Synchronization
  • ● Linux Socket (1)
  • ● Linux Socket (2)
  • ● 實作: mini HTTPD server
  • ● HTTPS with openssl (optional)
 

「嵌入式系統」的設計可說是小規模的系統整合,係一含括資訊、通訊、電子領域之專業;同時其技術領域縱跨軟體、嵌入式作業系統RTOS、韌體、I/O介面及硬體裝置範疇。

首先必須了解Google Android Framework,是一個GUI 圖形系統。而如何讓APP也能存取到底層的硬體如G-Sensor,GPS,WiFI等。都必須有賴於Android Framework 的HAL軟體架構.所謂的Android HAL,就是介接上層用JAVA寫的Framework code 和Linux底層的部份。使得APP只看到HAL層,HAL內部負責底層Linux的構通。而底層硬體就是和linux Driver 有關了。總之,底層要先能動,上層APP才可以用!

 

▪ C語言程式含講義(價值4,600元)▪ Rasp Pi+I/O擴充板(價值3,300元) ▪ 資料結構含講義(價值3,600元)