驚鴻一瞥;啟動過程與燈號

觀察一個電腦系統的開機過程,是理解那個系統的重要一步。事實上從供電啟動之後,電腦總是在執行指令‥即使是錯誤的亂碼,以致於當機。這是一個程序啟動另一個程序的過程,一直持續到作業系統的啟動階段,一般稱作靴帶式啟動。其後由作業系統接手,初始化裝置設備,直到使用者登錄畫面,完成整個開機過程。當然一個簡單的算術計算機,也許一步到位,然而過程上的理解卻是相同的。

在靴帶式啟動過程中,一般使用簡單的聲音、燈號表示系統的狀態或錯誤。目前樹莓派的設計上只使用燈號。樹莓派上有五個 LED 燈號,其中一個標示為 ACT 的發綠色光 LED 正用於啟動過程,開機後的功能依使用的作業環境而異,一般表示為 SD 卡在讀寫動作中。所以關機時最好等到 ACT LED 完全熄滅,再抽拔 SD 卡,以免可能的檔案損毀。下表簡短說明這五個 LED 燈號︰

LED
標示
發光顏色功能一般狀態及說明
ACT綠色SD 卡讀寫狀態開機時表示啟動過程,一般開機後用於 SD 卡的讀寫動作中的指示。
PWR紅色供電供電後維持紅色。
FDX綠色全雙工
乙太網
如果連上全雙工乙太網就亮。
LNK綠色連上
乙太網
如果連上乙太網就亮。
100橘色網速
100 Mbps
如果網速 100 Mbps 以上就亮。

現在簡略談談樹莓派官網版 Raspbian 的靴帶式啟動過程,供電後 PWR LED 紅燈亮起,GPU 繪圖處理器啟動,執行 IC ROM 中的起始程序。此程序嘗試讀取 SD 卡上的 fat 分割區塊,尋找 bootcode.bin 檔案,這時 ACT LED 是熄滅的,找到載入後把控制權交給它,展開第二階段。bootcode.bin 嘗試讀取 SD 卡上的 start.elf 。這時如果 start.elf  找不到,ACT LED 閃三次;如果 start.elf  能找到、不能載入,ACT LED 閃四次;假使一切正常,start.elf 將在螢幕上顯示

Debug-screen

之後 start.elf 嘗試讀取 SD 卡上的 config.txt 、cmdline.txt 以及kernel.img,如果此時 kernel.img 找不到,ACT LED 將閃七次;最後將控制權交給 kernel.img 完成靴帶式啟動。特別說明這裡的描述都是假裝系統的 SDRAM 工作正常,如果不是 ACT LED 會閃八次。

最後開始 了通常 Linux Kernel  核心的開機過程。

哪裡找資料?

學習新事物, 解決面臨問題, 參考資料書籍是很重要的. 目前國外有關樹莓派的書已有十數本, 中文的書也已經有了一些, 如果合宜拿來拜讀, 可以是一個很好的開始. 本文主要介紹的是網路上分享的資源, 也許也是一個不錯的起頭. 月前在樹莓派基金會網頁更新後, 有關軟體,硬體,系統等等文件日益充實, 你可以到 這裡 瀏覽. 教育資源方面可以到 這裡 看看. 如果你對樹莓派某些話題有興趣, 千萬不要錯過 論壇 . 其實樹莓派最早共創文件的集結是在 這裡 , 現今依然活躍. 假使你想找一些共享的書籍,文件,其他資源等等, 這是一個 方便的去處 .

欲善其事, 先利其器: 樹莓派的電源

雖然今天樹莓派已廣為流行, 賣了數百萬台. 你依然需要注意選用的電源供應器. 考察 樹莓派的原始設計:  如 Raspberry-Pi-R2.0-Schematics-Issue2.2_027.pdf , 512M Rev.B  上所說,  F3 保險絲的電阻大約 是 0.28 Ohms, 一般典型使用約為 700mA, 那壓降為 0.196V. 正如網路上曾說好的樹莓派電源供應器,  輸出電壓為 5.25V, 事實是正為了補償壓降損失而來, 才能使 TP1-TP2 間的電壓接近 5V.  如果再考慮供應電線的阻抗, 以及USB其它裝置的供電, TP1-TP2 間的電壓或許將在 5V +- 5% 區間之外, 以致引發某些 USB 裝置的工作不正常.

USB_Power_Input

玩樹莓派, 自得其樂!!

Raspberry 是樹莓, 而Pi 是圓周率,  合起來是當樹莓遇上圓周率, 結果竟便成好吃的樹莓派了.  也許康橋的浪漫, 使 Eben Upton 先生認為要把程式學習的樂趣帶進生活, 最好先起個好名字.  然而幾乎所有的水果都已給人用了, 最後才找上了有東方草莓之稱的樹莓.  又因為圓周率涉及天文曆法是文明重要的象徵, 所以才加上了 Pi. 至於 Pi 為什麼變成 了派 Pie, 史料未足徵信, 只能留待其人了.
此部落格本著相同的精神, 以享學習的愛好者.