December 31, 2009

2010 年免費課程:親手打造 ARM 平台的 Boot Loader

今年很榮幸能將 [探索嵌入式 ARM 平台與 SoC] (Part I / II) 議程告一段落,試圖以淺顯又直觀的方式,去探討 ARM 硬體特性與原理,佐以筆者開發的 [CuRT] 小型即時多工作業系統,作為探索架構與軟體驗證的對象,當時已探討 ARM 架構、ARM SoC 平台、關鍵概念 (工作模式、暫存器組、系統狀態、指令集、例外處理等等),並以執行於 ARM SoC 的 CuRT,探討硬體啟動程序與 ARM 原理。2010 年會再接再厲,推出另一個姊妹議程:「親手打造 ARM 平台的 Boot Loader」,顧名思義,就是能打造微小但完整的 boot loader,從而探討箇中關鍵技術。

筆者選定由 [0xlab] 所維護的 [Qi boot loader] 作為基礎,在六月份的 FreedomHEC Taipei 議程中,筆者也共同發表 [Qi - Lightweight Boot Loader Applied in Mobile and Embedded Devices],當時探討的是設計哲學,如今筆者將要從 ARM 平台與 SoC 的角度切入,探索「親手打造」的高掌握度。議程使用的硬體是 [Beagleboard],這是一塊基於 TI OMAP353x 平台的開發板,物超所值且背後有廣大開放社群資源,[0xlab] 的開發者很快就將 [Qi boot loader] 移植到 Beagleboard 上,並提供 ARM Cortex A8 的 OpenOCD 支援,如此「從零到有」又相對率直的歷程,很值得探索,這也是筆者準備此議程的想法。

[探索嵌入式 ARM 平台與 SoC] 目標是全面性的探討 ARM 硬體特性與原理,關於實做層面,會依賴 QEMU 來驗證,而「親手打造 ARM 平台的 Boot Loader」則在實體機器上作開發,不過筆者也會提供 QEMU 系統模擬的方式作為輔助使用。預計探討的題材有:
  • ARM Bootcamp -- Stepping stone, Low-level init
  • ARMv7 (Cortex A8) 工作模式的設定
  • OMAP3 的週邊,如 i2c, serial, clock
  • 檔案系統實做,支援 boot from SD
雖然 ARM 嵌入式平台早已充斥於我們的日常生活,舉凡手機、導航系統等電子產品,但探討其原理架構乃至於實務的課程,往往有如英文諺語 "an arm and a leg" 背後的意思一般,所費不貲。筆者就嘗試整理過去幾年開發的心得,以一系列免費分享,帶來些改變的機會。期待您的指教,也期望能有善心人士能夠協調場地的租借使用事宜,只要小弟行有餘力,就會持續分享下去,謝謝!
由 jserv 發表於 December 31, 2009 06:09 PM
迴響

12/31發這篇,別有意義

wayling 發表於 January 4, 2010 06:11 PM
發表迴響









記住我的資訊?