2013年7月31日 星期三

COSCUP 2013 is coming!

Standard
今年 COSCUP 很有錢、很盛大,整個活動從中研院移師到了台北國際會議廳,議程多達八軌。很難想像三四年前,自己幫忙 COSCUP 辦活動時的情景,和今天相較之下,當年的活動實在迷你,大家都希望哪一天能殺入台北國際會議廳。沒想到,COSCUP 靠後起之秀多年來的努力,真的在今年達成所有人的願望!我們真的要為這些工作人員和總召柏強喝采!謝謝他們每年不辭辛勞的貢獻!

慚愧的是,COSCUP 長越大,更顯得我小小的講者的微不足道,如今我唯一能貢獻的,大概就只剩對 Open Source 的熱情。因此,自去年在 COSCUP 2012 的國際舞台『發表退學宣言』後,這個大學讀了七年還是沒畢業的我,今年仍厚著臉皮投了稿,稿也被入取。這邊非常感謝議程審核人員的親睞,讓我贏得今年的一段宣言時間,還有開賣一分鐘內就沒有的入場門票。 :-)


至於我這次要講的主題是:『我用 Node.js 開發自己的 Web 瀏覽器?』

時間地點是:COSCUP 2013 第二天(8/4) 10:00,101CD 場。

其實,正當投稿截止之際,當時熱映的『鋼鐵人3』給我了很大的啟示。不禁思考,身為工程師的我們,是否已經被工具和自己曾經所創造的東西所束縛了?如果我們今天把眼前的電腦給砸了,是否全身上下功力全失?無法有任何作為?

這樣的概念,套在 JavaScript 這個近年來很夯的語言上,更是貼切不過。對很多人而言,失去瀏覽器為依靠的 JavaScript,令人感到不安、充滿焦慮,好像就不知道能用 JavaScript 做什麼事了。所以,為了破除迷思,就面對他吧!這是一個小小的實驗,讓我們嘗試用 JavaScript(Node.js) 打造自己的網頁瀏覽器,支援 HTML5/CSS3/WebGL 等最新標準的瀏覽器!

如果你至今還是無法完全明白 Node.js 的能耐,期待與你見面交流。

2013年7月22日 星期一

【玩轉 Cubieboard】安裝 u-boot 到 SD Card

Standard
當你得到 Cubieboard 後,首先要做的就是學習如何啟動你的作業系統。Cubieboard 可以支援 SD Card 啟動,這通常也是最容易入門的 Embedded System 開機方法。你只要準備一張 Micro SD Card,切割出分割區,然後把 Bootloader 和作業系統放進去即可。

安裝 u-boot

Cubieboard 使用的是 u-boot 做為 bootloader,你必須先下載 Source Code 然後 Compile:
git clone https://github.com/linux-sunxi/u-boot-sunxi.git
make Cubieboard CROSS_COMPILE=arm-linux-gnueabihf-

如果你的系統 toolchain 都已經安裝完成,且都沒有問題,u-boot 會順利編譯通過,然後你會在 u-boot 的目錄裡得到兩個檔案:
  • spl/sunxi-spl.bin
  • u-boot.bin

有了這兩個檔案,安裝 u-boot 就不是什麼問題,只需要使用 dd 指令來把 bootloader 寫入 SD Card:
dd if=spl/sunxi-spl.bin of=/dev/sdb bs=1024 seek=8
dd if=u-boot.bin of=/dev/sdb bs=1024 seek=32

註:/dev/sdb 是 SD Card 的裝置路徑,請依照你系統上的實際狀況,填入正確路徑。


後記

有趣的是,很久沒有玩開發板了,自從兩年多前開始陸續投入各廠商的專案後,所碰到的 ARM Board,清一色都是客製化的產品樣板。而幫大廠商做產品,和自己玩開發板相當不一樣,同樣是驅動程式有問題,要做的是打電話罵人;如果會當機,快打電話罵人;如果缺任何東西,打電話罵人就對了!所以,在客戶的專案中,做最多的總是證明硬體廠商的問題,讓硬體廠商們心甘情願幫你把問題排除。雖然還是要熟悉 Debug 的技巧,但多半不用自己煩惱『該怎麼辦』,只需要下指導棋。因此,自己也慢慢養成很多惰性,除非是真的沒人可以幫你,才肯親自出手跳下去從底層到應用程式,深入修正問題。

但是,玩開發板可不是這麼一回事。有問題?你自己搞定吧。搞不定?問 Google 大神吧。還是不行?慢慢看官方或是社群的 Source Code,全面理解後,再把問題解決吧。玩開發板可以更全面了解開發嵌入式系統過程中的問題,而且問題五花八門,運氣不好,你更會碰到版本大亂鬥,各種系統、程式、驅動程式都有幾十種版本,但只有少數幾種組合會是沒有問題的。光是把自己想要的系統架起來,就必須先費好一番功夫,而這還只是基礎建設而已。速度快一點,幾個小時到一個晚上,慢一點,也要研究個好幾天,或是直接放棄。這還沒談到進一步客製化,從會動的組合中,修改成你要的需求,最後還得開發你想要開發的應用程式。

我想,既然我們要經營這片 Cubieboard,解決這類煩雜的問題,將會是我們的首要目標,讓開發者能更容易在上面開發程式。:-)

跟猴兒一樣精的 Cubieboard

Standard

我們的團隊,最近取得了『Cubieboard』這開發板的代理權,負責台灣、香港等地的銷售和市場發展。這是很令人興奮的,因為我們好久沒有辦法全心全意開發自己想開發的東西、研究自己想研究的技術、打樣、以及對客戶驗證自己的想法,現在,終於可以名正言順的投入,利用這通用平台做一些不一樣的事情。


開發板顧名思義就是可以讓你開發的硬體、讓你用軟體控制的裝置,如果你有任何想法,都可以在上面做實驗,或是 DIY 打造出外面買不到的裝置,甚至做出產品原型。如果你有興趣,無論是個人和公司團體,歡迎與我們聯絡﹝frankie@mandice.com﹞。