[開箱] OMAP3530 開發板

2009年12月30日星期三

前陣子因為去上課而接觸到 Beagleboard 這塊開發板,最近分別弄了塊 Beagleboard 和一塊同樣採用 OMAP3530 處理器 (Cortex-A8 核心) 的 DevKit8000。

這是 Beagleboard,寄來時就只有這麼一塊板子。至於軟體或其它資料,都要自己到 http://beagleboard.org/ 尋找。

相對的,DevKit8000 預設就搭配了 4.3" LCD,並提供了一片光碟和許多配件,相較上方便許多。

但就板子外觀來看,這是 DevKit8000 去掉 LCD 後的外觀。

接下來的週末假日,我應該也會花不少時間在這兩塊板子上吧!

Read more...

Nikon D90 試 EV 值的差異

上回借 Canon 1000D 試機後,有前輩提到小布偶看起來髒髒的,建議將 EV 加 1/3 或 2/3 試試。本來打算再借 Canon 1000D 和 50mm f/1.8 這顆鏡頭來試,後來想了想,這回改用 Nikon D90 搭配 Tamron 17-50mm f/2.8 試試。

ISO 值同樣為 800,鏡頭同樣拉到 50mm 端。先來看看綠色這隻小龍。

首先是沒有加減 EV 值的情況,確實看起來暗暗、髒髒的。

再來先試 +1/3 EV,看起來稍微亮了點。

再試著 +1 EV。

同樣地,對紫色這隻小龍也試一下。首先是沒有加減 EV 值的情況。

再加試試 +1 EV 的情況。

看起來稍微加點 EV 會使主體看起來比較不會有髒髒的感覺。不過,這樣的相片看起來實在真的很單調,還是要好好研究一下拍這些小東西時要怎麼搭配。

Read more...

Nikon D90 試拍

2009年12月27日星期日

下午帶著 D90 到外頭試拍,本來想去八卦山的,不過出門時看天空有點烏雲,擔心會下雨,於是就改到道東書院了。

感覺上沒有陽光,看起來似乎有點沈悶~~~

最後,放兩張今天的另一個主角,Nikon D90 + TAMRON SP AF 17-50mm F/2.8 XR Di II VC LD Aspherical [IF] [Model B005]

Read more...

Unsorted Block Image File System (UBIFS)

上一篇文章裡,我其實是將 rootfs-1.15.3-2009q3.bin 放在 SD 卡裡,然後由 SD 卡讀入 Linux kernel 及 rootfs-1.15.3-2009q3.bin,並啟動 Linux。若要測試一些東西,這算是一個很方便的方法,不過最終還是希望可以將 Linux kernel 及 file system 寫到 NAND Flash 去。所以接下來要試試 Unsorted Block Image File System (UBIFS) 怎麼用了!

延伸閱讀:

Read more...

移植 Busybox 1.15.3 到 BeagleBoard

首先下載 Busybox 1.15.3CodeSourcery Sourcery G++ Lite Edition 2009q3

將 Busybox 1.15.3 解開,並修改 Makefile 裡的 CROSS_COMPILE 如下:

CROSS_COMPILE ?= arm-none-linux-gnueabi- 

然後編譯 Busybox:

$ make defconfig
$ make
$ make install

到這裡已經備妥 Busybox 了。

接著使用 dd 指令建立一個 64MB 大小的檔案(rootfs-1.15.3-2009q3.bin),並格式化為 ext2 格式。

$ dd if=/dev/zero of=rootfs-1.15.3-2009q3.bin bs=1024 count=65536
$ sudo mkfs.ext2 rootfs-1.15.3-2009q3.bin

建立 file system 除了需要 Busybox 外,還需要再編寫像是 etc/inittab 及 etc/profile 等設定檔,這些檔案可以在 Busybox 的原始碼裡的 examples 和 examples/bootfloppy 目錄裡找到範例,此外也可以利用 BeagleBoard 的範例,例如從 http://code.google.com/p/beagleboard/downloads/list 下載 rd-ext2-8M.bin 及 ramdisk_revc_v3.gz 來取得範例。

$ sudo mount -o loop rootfs-1.15.3-2009q3.bin /tmp/rootfs
$ sudo mount -o loop rd-ext2-8M.bin /tmp/orig

將 rootfs-1.15.3-2009q3.bin 掛載在 /tmp/rootfs,並將當參考範例的 rd-ext2-8M.bin 掛載在 /tmp/orig,然後將編譯後的 Busybox 複製到 /tmp/rootfs,並從 cross compiler 複製需要的 libc。

$ (cd ./busybox-1.15.3/_install/ && sudo tar cf - .) | \
(cd /tmp/rootfs/ && sudo tar xvf -)

$ (cd /opt/CodeSourcery/arm-2009q3/arm-none-linux-gnueabi/libc/lib/ \
&& sudo tar cf - .) | (cd /tmp/rootfs/lib/ && sudo tar xvf -)

再取用 rd-ext2-8M.bin 的 etc 目錄。

$ (cd /tmp/orig/etc/ && sudo tar cf - .) | \
(cd /tmp/rootfs/etc/ && sudo tar xvf -)

最後再建立 console 及 null 兩個裝置節點,基本上 file system 就建立完成了。

sudo mknod -m 600 console c 5 1
sudo mknod -m 666 null c 1 3

OK~~~以下是這個 file system 在 BeagleBoard 執行起來後的訊息摘錄:

VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing init memory: 120K

beagleboard.org (v0.90) : System initialization...

Kernel release : Linux 2.6.32-rc8-06879-g4355c41
Kernel version : #1 Sun Nov 29 12:20:43 CST 2009

Mounting /proc : [SUCCESS]
Mounting /sys : [SUCCESS]
Mounting /dev : [SUCCESS]
Mounting /dev/pts : [SUCCESS]
Enabling hot-plug : [SUCCESS]
Populating /dev : [SUCCESS]
Mounting other filesystems : [SUCCESS]
Starting syslogd : [SUCCESS]
Starting telnetd : [SUCCESS]
/etc/init.d/rcS: line 100: can't create /sys/power/fb_timeout_value: nonexistent directory
Jan 1 00:00:04 beagleboard syslog.info syslogd started: BusyBox v1.15.3

System initialization complete.

Please press Enter to activate this console.

延伸閱讀:

Read more...