硬件配置
BeagleBoard Rev.B7 主要硬件配置介绍如下。
Package on Package POP CPU/Memory chip
- TI OMAP3530 Processor - 720 MHz ARM Cortex-A8 core
- 'HD capable' TMS320C64x+ core (520MHz upto 720p@30fps)
- Imagination Technologies PowerVR SGX 2D/3D graphics processor
- 128 MB LPDDR RAM memory
- 256 MB NAND Flash memory
外围接口
- DVI-D, USB OTG, SD/MMC card slot
- Stereo in and out jacks
- Power socket
- RS232 port
- JTAG connector
- reset 按钮
启动方式
- Boot code stored in ROM
- Boot from NAND memory, SD/MMC, USB 或者串口
连线
Beagle Board 的使用如下图所示:

除了 Beagle Board 开发板之外,还需自己配置:
- 5V 电源一个,内正外负
- OTG 转 usb 母口线一根
- 有源 USB HUB
- HDMI 转 DVI 线一根
- usb 口键盘、usb口鼠标
使用 Angstrom demo Image
启动流程
一般来讲,bealgeboard 启动流程如下所示:
bootrom(内部ram)--->xloader(内部ram)---->uboot(外部ram)---->kernel(外部ram)
xloader 负责初始化系统(如时钟、RAM),将 uboot 读到 ram。
uboot 负责提供交互界面和工具,并将 Kernel 读到 RAM。
在这里,我们把 uboot、 IMAGE、根文件系统都放到 SD 卡上启动系统。
制作 SD 卡
参考资料3 SD card setup 一节。注意,柱面数要根据自己 SD 卡的大小重新重
新计算下。
下载并安装 Angstrom Demo Image
从网址 Angstrom Demo Image 处下载文件:
- MLO
- u-boot.bin
- uImage
- modules.tgz
- Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2
然后,将 MLO,u-boot.bin 和 uImage 拷到 SD 卡的第一个分区(FAT32),注意
要严格按照上面的先后顺序拷贝,MLO 必须在第一扇区。
$ cp MLO /mnt/sdc1
$ cp u-boot.bin /mnt/sdc1
$ cp uImage /mnt/sdc1
将 root 文件系统拷入 SD 卡的第二个分区并解压:
$ sudo cp Angstrom-Beagleboard-demo-image..... /mnt/sdc2
$ sudo tar -jxvf Angstrom-Beagleboard-demo-image....
$ sudo rm Angstrom-Beagleboard-demo-image....
将 modules.tgz 拷入 SD 卡的第二个分区:
$ sudo cp modules.tgz /mnt/sdc2
$ sudo tar -xvf modules.tgz
$ sudo rm modules.tgz
play and enjoy beagle
SD 卡插入 beagle board,按如下参数配置 minicom:
Serial Device: /dev/ttyUSB0
Bps/Par/Bits: 115200
Hardware Flow Control: No
Software Flow Control: No
插上电源开机,进入如下所示的命令行:
Texas Instruments X-Loader 1.41
Starting OS Bootloader...
U-Boot 1.3.3 (Jul 10 2008 - 16:33:09)
OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz
OMAP3 Beagle Board + LPDDR/NAND
DRAM: 128 MB
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Audio Tone on Speakers ... complete
OMAP3 beagleboard.org #
依次运行如下命令:
/* Download Image */
mmcinit
fatload mmc 0 0x80300000 uImage
/* set boot args */
setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 rw rootwait omapfb.video_mode=1024x768MR-16@60
/* boot kernel image*/
bootm 0x80300000
启动后,在 Minicom 里会看到 Angstrom 字样和 login 提示符,输入 root 即
可登录。在显示器上显示一个登录界面,输入root,密码留空。
ToolChain
为 BeagleBoard 开发程序最简单直接的就是下载编译好的 toolchain。Angstrom 提供了 toolchain 下载,下载地址在这里。
下载最新的toolchain:
angstrom-2010.4-test-20100422-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.2.tar.bz2
。该 toolchain 除了包含基本的 libc, libc++ 之外,还包含了 QTE。
按如下命令安装交叉编译环境:
Untar the SDK once
$ tar -C / -xjf angstrom-armv5te-linux-gnueabi-toolchain-qte.tar.bz2
Before using it source the environment
$ . /usr/local/angstrom/arm/environment-setup
写一个 helloWorld 程序:
#include <stdio.h>
int main ()
{
printf ("Hello beagle.\n");
return;
}
Makefile 如下所示:
hello:
arm-angstrom-linux-gnueabi-gcc -o hello hello.c -L/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/lib
clean:
rm hello
运行 make 命令可编出可执行程序 helloworld.
写一个简单的 QTE 应用:
$ . /usr/local/angstrom/arm/environment-setup
$ cd $HOME
$ mkdir qte-example
$ cd qte-example
$ echo "TEMPLATE=app
SOURCES=main.cpp
" > qte-example.pro
$ echo '#include <QApplication>
#include <QPushButton>
int main(int argc, char** argv) {
QApplication app(argc, argv);
QPushButton btn("Hello World");
btn.show();
btn.showMaximized();
return app.exec();
}
' > main.cpp
$ qmake2
$ make
编译 PowerVR SDK Demos
从 POWERVR Insider 下载 OpenGL ES SDK 。
实验环境:
- HostPC: Ubuntu 10.04
- toolchain: angstrom-2010.4-test-20100422-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.2
PC 版本 SDK_OGLES_LINUX_PCEMULATION_2.07.27.0484.tar.gz
下载并解压 SDK_OGLES_LINUX_PCEMULATION_2.07.27.0484.tar.gz
export LD_LIBRARY_PATH= XXX/SDKPackage_OGLES/Builds/OGLES/LinuxPC/Lib/
cd XXX/SDKPackage_OGLES/Demos/Coverflow/OGLES/Build/LinuxGeneric
make 或者 make Debug=1
以 Coverflow demo 为例,编译结果在
SDKPackage_OGLES/Demos/Coverflow/OGLES/Build/LinuxPC
目录下,运行 make Debug=1 命令得到 DebugX11 目录,运行 make 得到ReleaseX11目录。
进入 ReleaseX11 目录,运行 OGLESCoverflow 即看到运行结果。
ARM 版本: SDK_OGLES2_LINUX_ARMV7_2.07.27.0484.tar.gz
下载并解压 SDK_OGLES2_LINUX_ARMV7_2.07.27.0484.tar.gz
export LIBDIR=/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/lib/
export TOOLCHAIN=/usr/local/angstrom/arm/
修改 SDKPackage_OGLES2/Builds/OGLES2/LinuxARMV7/make_platform.mak,所有的 arm-none-linux-gnueabi 改成 arm-angstrom-linux-gnueabi
cd SDKPackage_OGLES2/Demos/Coverflow/OGLES2/Build/LinuxGeneric
make PLATFORM=LinuxARMV7
以 Coverflow 为例,编译结果在
SDKPackage_OGLES2/Demos/Coverflow/OGLES2/Build/LinuxARMV7/ReleaseRaw/
目录下。
将二进制文件 OGLES2Coverflow 拷到 angstrom-demo 的根文件系统,
启动 beagleboard,进入终端后有运行 OGLES2Coverflow 即可。
See Also
- BeagleBoard System Reference Manual
- Beagle Board on Wikipedia
- BeagleBoardBeginners
- 在 Beagle Board 上引导 Linux
- Angstrom toolchains
- OpenGL ES SDK.User Guide.1.32.2.2f.External.pdf
- OpenGL ES 2.x SDK.User Guide.1.32.2.2f.External.pdf
|