課程對象: 適合有使用過16-bit 處理器者參加 前置準備: 需熟悉C Language、略知ARM組合語言,對ARM 例外處理及中斷處理有基本概念 ※若無以上基礎者,建議先參加先修課程: ARM 嵌入式系統實作-以S3C44B0為例 (入門) ARM 嵌入式系統設計-以S3C44B0為例 (進階)
課程大綱: DAY 1 1. Cygwin platform install 2. Make a uclinux 3. GNU 工具 - Arm-elf-gcc - Arm-elf-ld 4. 檔案格式 - Binary File - Object File - ELF File - readelf 5. Memory Map for ESD_44B0 6. Link scrip file (LD) 7. Introduction of 44B0 - System Configuration Controller - Memory Controller - Interrupt Controller - WDT Controller 8. How does Boot Loader run - Boot Loader 的功能簡介 - Boot Loader 架構 - Boot Loader 執行流程 - Trace Boot Loader
DAY 2 1. The first example of porting - How to modify the various memory in uclinux - Memory defined in the Boot-Loader - Memory defined in the Make-file 2. How RAM /ROM DISK Works? - Device File簡介 - Device 與File System a. dd command b. make a RAM image file - RAM disk Embedded How to? - ROM disk 的產生 (genromfs) 3. How does Make xconfig go - What is Cygwin? - What is Wish? - Make-File and config.in 4. Uclinux path structure 5. Linux Command introduction - Append - Replace - Cat 6. Connecting with uclinux 7. Prepare for the interrupt 8. How does startkernel go 9. How does interrupt go 10. System Timer
DAY 3 1. Uclinux Driver 2. Write a Character Driver 3. UART Controller of 44B0 4. UART and TTY 5. LAN Controller 6. How to write a LAN Driver
DAY 4 1. Porting uclinux on 44b0X 2. How to write a Block Driver - Block Driver - RAM DISK 3. SIO Controller (Depending for the classmates) 4. SD Card Specification (Depending for the classmates) 5. FAT16 Porting (Depending for the classmates)