Beagleboard xM 跟之前的 Beagleboard有相當多的差異,除了CPU / DSP 時脈的提昇,週邊也多了Ethernet, USB Hub 及 Camera interface.
不過 Nand flash 據說是因為成本的因素而拿掉了.因此Beagleboard xM只能經由 SD card boot.
TI DVSDK 提供很完整的多媒體展示,包含Media encode / decode, OpenGL 3D demo.
接下來將試著將Beagleboard xM DVSDK 安裝至 SD card.
1.參考DVSDK FAQ
http://processors.wiki.ti.com/index.php/DVSDK_4.x_FAQ#How_to_build_and_install_DVSDK_4.01_on_BeagleBoard-xM
根據DVSDK FAQ得知所需要的必要環境是 Ubuntu 10.04. Cross compile 為 CodeSourcery ARM 2009q1
2.Download DM3730 DVSDK 4.01 from TI
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_4_00/latest/index_FDS.html
下載 dvsdk_dm3730-evm_4_01_00_09_setuplinux,大小約為1.5G.
下載時 TI 會要求帳號密碼,請自行註冊登入.注意帳號的Email 不能是yahoo之類的免費帳號.
下載完成後先變更檔案權限為可執行
$ chmod 755 dvsdk_dm3730-evm_4_01_00_09_setuplinux
執行安裝
$ ./dvsdk_dm3730-evm_4_01_00_09_setuplinux
3.Download patch script for DVSDK 4.01 to support BeagleBoard XM
http://processors.wiki.ti.com/images/5/5b/Setup-dvsdk-4-01-beaglexm-110126.zip
TI DVSDK並沒有支援Beagleboard xM,因此必須要做一些patch.
解開zip檔後會得到檔案 setup-dvsdk-4-01-beaglexm-110126.sh.
將它放在DVSDK root目錄,再依照以下內容修改 setup-dvsdk-4-01-beaglexm-110126.sh.
--- ../setup-dvsdk-4-01-beaglexm-110126.sh 2011-02-04 06:53:32.000000000 +0800
+++ setup-dvsdk-4-01-beaglexm-110126-fix.sh 2011-03-28 21:14:21.206840024 +0800
@@ -67,10 +67,10 @@
# Comment out these 4 lines if you have direct internet connection
-PROXYHOST="foo.com"
-PROXYPORT="80"
-export http_proxy="http://${PROXYHOST}:${PROXYPORT}"
-export GIT_PROXY_COMMAND=./git-proxy.sh
+#PROXYHOST="foo.com"
+#PROXYPORT="80"
+#export http_proxy="http://${PROXYHOST}:${PROXYPORT}"
+#export GIT_PROXY_COMMAND=./git-proxy.sh
# Generate git proxy command config script
cat > git-proxy.sh <<_EOF
@@ -128,7 +128,9 @@
# Apply the patches to the local repository
for patchfile in ${XLOADPATCHESSTRIPPED} ; do
- git am oepatches/$patchfile
+ git am --abort
+# git am oepatches/$patchfile
+ git apply oepatches/$patchfile
done
cd ..
這個修改是為了可直接連上internet及修正 git am 所造成的 bug
4.變更權限並執行
$ chmod 755 setup-dvsdk-4-01-beaglexm-110126.sh
$ ./setup-dvsdk-4-01-beaglexm-110126.sh
這時這個script會自動去抓許多patch檔,並更新至DVSDK
5.編譯DVSDK
至DVSDK root目錄下
make clean
make all
6.安裝DVSDK 至 SD card
將SD card 連接至PC, 再來弄清楚device node為何 (用dmesg)
以我來說是 /dev/sdd
$ sudo bin/mksdboot.sh --device /dev/sdd --sdk ${PWD}
************************************************************
* THIS WILL DELETE ALL THE DATA ON /dev/sdd *
* *
* WARNING! Make sure your computer does not go *
* in to idle mode while this script is *
* running. The script will complete, *
* but your SD card may be corrupted. *
* *
* Press to confirm.... *
************************************************************
unmounting device '/dev/sdd1'
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.904471 s, 1.2 MB/s
Disk /dev/sdd doesn't contain a valid partition table
Checking that no-one is using this disk right now ...
OK
Disk /dev/sdd: 1949 cylinders, 255 heads, 63 sectors/track
sfdisk: ERROR: sector 0 does not have an msdos signature
/dev/sdd: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sdd1 * 0+ 4 5- 40131 c W95 FAT32 (LBA)
/dev/sdd2 5 1948 1944 15615180 83 Linux
/dev/sdd3 0 - 0 0 0 空
/dev/sdd4 0 - 0 0 0 空
Successfully wrote the new partition table
Re-reading the partition table ...
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
Formating /dev/sdd1 ...
Formating /dev/sdd2 ...
mke2fs 1.41.11 (14-Mar-2010)
Image Name: Execute uImage.bin
Created: Mon Mar 28 20:31:49 2011
Image Type: ARM Linux Script (uncompressed)
Data Size: 238 Bytes = 0.23 kB = 0.00 MB
Load Address: 0x00000000
Entry Point: 0x00000000
Contents:
Image 0: 230 Bytes = 0 kB = 0 MB
Image Name: Execute uImage.bin
Created: Mon Mar 28 20:31:50 2011
Image Type: ARM Linux Script (uncompressed)
Data Size: 289 Bytes = 0.28 kB = 0.00 MB
Load Address: 0x00000000
Entry Point: 0x00000000
Contents:
Image 0: 281 Bytes = 0 kB = 0 MB
Select Primary display output:
1: LCD
2: DVI
Copying u-boot/mlo/uImage on /dev/sdd1
unmounting /dev/sdd1
Extracting filesystem on /dev/sdd2 ...
Creating matrix-gui-e symbolic link...done
unmounting /dev/sdd2
completed!
Updating FS with modified beagleboard-xM files
unmounting /dev/sdd2
Done
到這裡SD card已經準備好了
7.以SD card boot Beagleboard xM
boot成功最後會看到以下登入畫面,請以root登入,無須密碼.
Escape character is '^]'.
_____ _____ _ _
| _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
| | _| .'| . | . | | __| _| . | | | -_| _| _|
|__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
|___| |___|
Arago Project http://arago-project.org beagleboard-dvsdk
Arago 2010.11 beagleboard-dvsdk
login: root
Last login: Thu Jan 13 23:28:57 on pts/0
來看看一些系統基本資訊
CPU跑1G Hz
root@beagleboard-dvsdk:~# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 996.74
Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2
Hardware : OMAP3 Beagle Board
Revision : 0020
Serial : 0000000000000000
dsplink driver已經掛上,DSP可以使用了
root@beagleboard-dvsdk:~# lsmod
Module Size Used by
sdmak 3759 0
lpm_omap3530 6537 0
dsplinkk 124358 1 lpm_omap3530
cmemk 21358 0
bufferclass_ti 4838 0
omaplfb 8770 0
pvrsrvkm 129682 2 bufferclass_ti,omaplfb
ipv6 249320 14
rtc_twl 4263 0
rtc_core 12531 1 rtc_twl
將DVI 接頭接到 monitor 會看到 Demo 畫面,
Video encode / decode, OpenGL 3D Demo
還有一個Qt base browser
hi 史蒂芬大哥
回覆刪除想請教您一下
您有將beagleboard-xm用ti dvsdk 4_01掛載nfs過嗎?
[版主回覆07/06/2011 14:31:58]印象中有掛上過NFS.
mount記得加上 -o nolock 應該就可以
hi 史蒂夫大哥
回覆刪除多謝您的回應
我可能讓您誤解我的意思了
我的意思是讓bb-xm用nfs掛載rootfs
我的試驗結果是會卡在ip-config
kernel會先跑到ip-config以後印出can't find 'usb0'
接著網路卡才註冊完
不知道您有沒有碰到過
[版主回覆07/11/2011 20:01:58]這個偶沒試過ㄟ
您好,
回覆刪除請問dvsdk4.02是否也有對應的patch file?
謝謝
[版主回覆12/28/2011 22:47:54]沒看到有人弄,從之前的patch改吧.
請問,setup-dvsdk-4-01-beaglexm-110126.sh 的程式碼是要如何修改呢?
回覆刪除因為我現在沒有辦法正常執行 setup-dvsdk-4-01-beaglexm-110126.sh
所以想請問setup-dvsdk-4-01-beaglexm-110126.sh 這個檔案要如何修改,感謝您!!