2012/09/27

Raspberry Pi開機程序

在Raspberry Pi(以下簡稱rpi)板子上,那顆主晶片裡包含了CPU與GPU,接上電源開機時,最先動作的是GPU(聽起來有點怪,但卻是事實),晶片裡有ROM,含有GPU要執行的程式碼,這部份的開機程式碼為Stage 1。

Stage 1會把Stage 2的程式碼(位於SD記憶卡第一個分割區裡,檔名為bootcode.bin)載入L2 cache。

Stage 2負責啟動SDRAM,並載入Stage 3的程式碼(位於SD記憶卡第一個分割區裡,檔名為loader.bin)放進SDRAM。

Stage 3看的懂elf格式,負責載入start.elf(GPU韌體的主要部分)。

start.elf會讀取config.txt、cmdline.txt,並劃分記憶體給CPU與GPU使用,然後載入kernel.img(通常這就是linux kernel了),kernel.img是CPU第一份開始執行的程式碼。

更新:新版韌體已無loader.bin,也就是說,Stage 3與Stage 2合併了。

參考資料:

2012/09/19

Raspberry Pi:新的Raspbian映像檔與一些新東西

Raspberry Pi官方推薦的Raspbian映像檔,有新版本2012-09-18-wheezy-raspbian可下載囉。

基本設定可參考我以前寫的:使用debian6-19-04-2012使用2012-07-15-wheezy-raspbian

底下介紹一些新東西(原文)。

超頻,提供五種選項,最高可到1GHz。以前若是修改config.txt加大電壓進行超頻的話,便會失去保固資格。而現在提供的"turbo mode",會根據系統負載調整頻率,並且,若CPU溫度過高便會取消turbo,而且不會讓保固無效喔。注意,並非每個人手上的Raspberry Pi都能達到1GHz,調整設定後請進行測試(譬如執行Quake 3),找出你的板子的上限。若設定後無法開機,請在開機時按著Shift鍵,這會取消超頻。超頻前後的效能差異請看官方網站公布的數據

第一次開機後會執行raspi-config,裡頭多了"overclock"超頻的選項。


可到這個網址看看超頻的注意事項。


有五種可供選擇。


監看CPU溫度與頻率。可在工作列上加入顯示CPU溫度與頻率的元件。


我沒超頻,還是700MHz。


目前溫度47度。


改進USB驅動程式,提昇整體效能。

預設支援WiFi,若你的WiFi網路卡有被linux支援,或使用的是RTL8188CUS晶片,那只要插上去就能動了!

我沒有WiFi網卡,所以是空白的。


類比音訊輸出的品質提昇了。

這個新版本的Raspbian映像檔,還預設安裝了底下這兩套軟體。

SmartSim,數位邏輯電子電路設計與模擬軟體,開放原始碼,開發者似乎才17歲,厲害厲害。


PenguinsPuzzle,有趣的益智遊戲。


大家趕快下載玩玩看吧。若你不想重灌,但又想享受以上的新東西,請看這篇

2012/09/13

[廣告] PhoneGap 跨平台手機 App 開發實戰 (PhoneGap Beginner's Guide)

嗨,我翻譯了一本書,在這裡打打廣告。

書名:PhoneGap 跨平台手機 App 開發實戰
原書名:PhoneGap Beginner's Guide
作者:Andrew Lunny
譯者:我
出版社:悅知
頁數:352



顧名思義,這本書的內容為「PhoneGap」 ,那麼,PhoneGap是什麼東西呢?

看看最近的新聞,行動裝置(智慧型手機、平板電腦)正如日中天,但要在各種平台(iOS、Android、BlackBerry、等等)上開發App的話,各有其原生的API、使用不同的程式語言、支援的功能各不相同,簡言之,要在這麼多平台上開發App是一件艱難的事情,這種情形不是第一次出現,在桌上系統(Windows、Linux、Mac OS X)也會遇到相同的難題,那麼該如何解決呢?

方法之一便是開發「網頁」型的App,不管是什麼平台或作業系統,都會有瀏覽器,若能以HTML、CSS、JavaScript開發,就能以一致的方式撰寫App,這樣不是很棒嗎?

PhoneGap正是這樣的技術,為各平台實作了一層中介層,App開發人員在上面以HTML、CSS、JavaScript進行開發工作,由這層中介層轉譯為底層的原生API,這麼一來,只需撰寫一套程式碼,就能將App部署到各種行動裝置上。

PhoneGap支援的平台非常多,有 iOS、Android、Blackberry、Windows Phone、Palm WebOS、Bada、Symbian,但本書限於篇幅,範例以iOS、Android、BlackBerry為主,詳加介紹HTML5、CSS3、JavaScript寫出能夠跨平台的App。

請看看下圖會更清楚。



在此架構圖裡,我們以左上角的HTML、CSS、JavaScript開發軟體,由底下一層的PhoneGap與更底下的行動平台作業系統進行溝通,因為有了中間這一層PhoneGap擔任橋樑的角色,我們只需寫出一套軟體,就能在多種平台上執行。另外,若PhoneGap的API少了某些功能的話,也可以根據PhoneGap的外掛系統(plug-in)自行撰寫擴充功能。


目錄

第01章 安裝PhoneGap
第02章 在多個平台上進行開發與除錯
第03章 從行動版網頁到行動應用軟體
第04章 管理跨平台程式碼
第05章 HTML5 API與行動JavaScript
第06章 CSS3:過場動畫、幾何轉換、動畫
第07章 以PhoneGap存取裝置的感測器
第08章 存取相機資料與照片檔案
第09章 讀寫聯絡資訊
第10章 PhoneGap的外掛系統
第11章 離線作業:同步與快取
附錄A 部署到iOS裝置
附錄B 突擊測驗解答


相關資料:
  • PhoneGap官方網站,可到此下載PhoneGap,此網站上尚有其他與PhoneGap相關的服務。
  • Apache Cordova,PhoneGap已成為Apache軟體基金會旗下開發原始碼專案的一員,代號為Cordova(將PhoneGap與Cordova視為同義字即可),
  • API文件,以及安裝指引。詳細列出各版本的API。


2012/09/07

Raspberry Pi User Guide電子書出爐囉

帶有官方色彩的書籍Raspberry Pi User Guide,電子書出爐囉,紙本書則還要再等一個月。

此書由Gareth Halfacree與Eben Upton合著,Eben Upton為Raspberry Pi基金會創辦人之一,也是rpi板子的主要設計開發人員。

顧名思義,這本書就是Raspberry Pi的使用手冊,內容分成四個部分:

第一部分為基本設定,詳述各種需要的周邊設備(螢幕、SD記憶卡、鍵盤滑鼠、等等),連接時常出現的問題,然後介紹Linux作業系統,如何連上網路(有線、無線)、管理分割區、各種設定。

第二部分為應用,將Raspberry Pi拿來當做家庭劇院媒體播放系統(播放歌曲、影片)、獨立的電腦(辦公室軟體、影像編輯、等等)、網站伺服器(Apache、MySQL、PHP、WordPress、等等)。

第三部分為開發,有軟體有硬體,軟體部分介紹以Scratch與Python撰寫程式,硬體部分介紹如何外接電子線路與元件進行擴充,最後介紹市面上的擴充板(Ciseco Slice of Pi、Adafruit Prototyping Pi Plate、Fen Logic Gertboard)。

第四部分為附錄,列出前面章節範例程式的Python原始碼,以及HDMI顯示模式的設定對應值。





Raspberry Pi Model B Revision 2.0

Raspberry Pi(以下簡稱rpi)問世以來已半年,供不應求,暢銷熱賣,期間收到各方對rpi的建議與修改事項,最近開始釋出的Rev 2,對板子做了點修改。

要知道你的板子的版本的話,請輸入底下的指令,

$ cat /proc/cpuinfo

其中有項資訊是"Revision",可得知版本為何:
2:Model B Revision 1.0(這應該是最初販售的板子,我的板子就是這一個)
3:Model B Revision 1.0 + ECN0001 (no fuses, D14 removed)(小修改)
4、5、6:Model B Revision 2.0(本篇內容)

底下是原先的板子。


底下是Revision 2的板子,上頭還標示著Made in the UK。


修改的地方包括:

增加reset線路,P6的pin 1與pin 2短路後可reset。

可由插在rpi的USB埠的USB集線器供電。

修改GPIO腳位,支援JTAG除錯。

交換P1與S5的I2C腳位。

更多的GPIO以便擴充功能,加上即時時鐘或是音訊解碼晶片。

鑽了兩個洞,讓我們可以固定鎖在外殼裡。

原本D9 LED,其字樣10M修正成100。
原本D5 LED,其字樣從OK改成ACT。

至於詳情的話,請參照rpi官方網站的消息公布,以及RPi schematic differences


另一則消息,開始在UK本土生產rpi囉。
rpi基金會是個英國的慈善機構,生產便宜的電腦、試圖激發孩童年輕人學習程式設計的興趣,起初希望能夠在英國本地製造生產,但因為種種原因不得不交給中國大陸的工廠。經過長久的努力,終於,在英國的Sony工廠開始動起來了,預計一個月產量30,000片板子,由銷售商Element14/Premier Farnell販賣。這些板子上會印著Made in the UK喔。

另一則消息,帶有官方色彩的書籍Raspberry Pi User Guide,電子版出爐囉,英國Amazon只賣£3.99,美國Amazon賣$8.60,紙本書還要再等等也出版了。