發表文章

目前顯示的是 十二月, 2009的文章

Google Chrome OS 不是長生不老丹

回顧舊文『Android 不是萬靈丹』,因為筆者既不是股票分析師也不是專業的市場分析師,所以看見半年前的猜測一一驗證,令自己感到多少有些欣慰。今天,又看著許多廠商就像當初 Google Android 出來一樣,瘋狂投入著這未知的新領域,有多少認同也多少有不同的意見,因此對於 Google Chrome OS 也有著一些想法。而股票部份就不用再說了,有興趣的人可以回顧舊文。

你的產品是電腦

就如同一般人認為『電腦不等於計算機』,既然你的『輕量化』產品有大螢幕、鍵盤還有可開合的機殼,那麼,無論說破了嘴,消費者依然認定這是台『電腦』。所以,對於消費者來說,電腦該要有什麼用途?不外乎上網、文書、玩遊戲。消費者的期望更是能安裝常用軟體,將家中電腦能夠帶著走。那麼 Windows 肯定還是唯一解。

我的產品是貴桑桑計算機

Chrome OS 說穿了就是只能上網,看看網頁、收發信、PDA功能、看網路上小影片,講更簡單點就是功能單純的計算機。而再貴的計算機,也不會超過一千元台幣,相信念工科出來的朋友都知道。

或許有人不滿意這貶低的說法,因為 Chrome OS 可以上網處理公務,它其實更接近 PDA 產品。但是,現在有哪一台 PDA 可以賣到一萬八?那再次思考,這台搭配了 Chrome OS 有著大螢幕、鍵盤、可開合機殼的『計算機』要賣多少錢可以讓人接受?

電腦廠商賣出來的東西就是電腦

無論電腦廠商如何定位自家產品,賣出來的東西,一定會被消費者認定為電腦類產品。真的想賺這生意的廠商,或許跳出來開一家名稱俗氣的『電子辭典』公司,標榜電子辭典來賣,可能比較適合。

用 ARM 降低成本很有限

對於上網功能來說,一個重要的元件就是 Flash,尤其在這 Facebook 風行的時代,沒有 Flash 根本不能稱之為有上網功能。由於 Flash Player 非 Open Source ,使得 ARM 上面根本不可能使用 PC 上的 Flash player,若是使用 Open Source 版本的實作,效能又非常低落且支援不完整。

雖然 Adobe 已經宣布有 ARM 的 Flash Player 支援,但也限制平台在 ARM11 和 Cortex-A處理器系列中的 ARMv6 和 ARMv7(更簡單說法就是 Cortex-A8),而這些都是屬於最新的晶片,價格自然不低,雖然最後產品整體成本比…

Add GPIO Keys support for Devkit8000

圖片
Using Android on Devkit8000, we have problem of getting back to previous screen. The touchscreen can only be used to decide whether you select item or not, so a BACK button would be needed absolutely for Android. Devkit8000 board has four buttons on the corner, we can set one of it as Back functionality.



First step, add a option to kernel config file to enable GPIO keyboard device:
CONFIG_KEYBOARD_GPIO=y
Second step, set USER_KEY as ESC Keycode for back functionality:
diff --git a/arch/arm/mach-omap2/board-omap3devkit8000.c b/arch/arm/mach-omap2/board-omap3devkit8000.c index e86d254..ec17311 100644 --- a/arch/arm/mach-omap2/board-omap3devkit8000.c +++ b/arch/arm/mach-omap2/board-omap3devkit8000.c @@ -462,9 +462,11 @@ static struct platform_device leds_gpio = { static struct gpio_keys_button gpio_buttons[] = { { - .code = BTN_EXTRA, +// .code = BTN_EXTRA, + .code = KEY_ESC, .gpio = 26, .desc = "user", + .active_low = 1, .wakeup = 1, }, }
Here i…

Enable ads7846 Touchscreen in Android that works on Devkit8000

If you would like to make Android work on Devkit8000, you can follow to patch your kernel which is mentioned in my old article(Android Eclair Porting for Devkit8000). After that you might notice the touchscreen doesn't work, it is a ads7846 kernel driver bug from Embinux. So I modified a few lines of code to fix the bug.

Here is the patch:
http://people.linux.org.tw/~fred/patches/devkit8000-touchscreen-android-kernel.patch

Android Eclair Porting for Devkit8000

It's not only for fun! Porting Android is a great practice for me as well. Devkit8000 is a clone of OMAP3 Beagle(Beagleboard), so we can found many porting informations of Beagleboard from internet. It's helpful for us, we only need to deal with a few places which are some differences between Devkit8000 and Beagleboard. Google Android Eclair is working well on the Devkit8000 board now after I tried to port it last weekend.

Here is the patch:
http://people.linux.org.tw/~fred/patches/devkit8000-android-kernel.patch

Based on Embinux, I added the Devkit8000 support, which includes:
OMAP DSS Driver for display4.3 inch LCD Panel support (480x272 60Hz)7 inch LCD Panel support (800x480 60Hz)Touchscreen ADS7846 supportSound Codec (TWL4030)Keypad (TWL4030)Ethernet Device support (DM9000)Kernel Config for Android
Compile Kernel with Devkit8000 kernel config:
make omap3_devkit8000_android_defconfig make CROSS_COMPILE=arm-linux-gnueabi- uImage
Kernel Command Arguments to use LCD Display Outpu…