Beagleboard-xM 开发板探索

  • 故事背景
  • 板卡介绍
  • 概述
  • Getting Start
  • 下载开发包
  • 安装虚拟机
  • 安装ti-sdk
  • 制作启动TF卡
  • 基本功能查看
  • 结束


故事背景

工作一段时间之后,发现其实自己的经验很匮乏。需要不断的向前辈学习。发博客什么的,我怕误人子弟。最近老大给了我一块Beagleboard-xM Rev B 开发板,再次燃起了心中的小火苗。

板卡介绍

这块板卡其实在现在来看非常弱,但是放在几年前,那时候还没有树莓派,就不一样了。
板卡的网址:https://beagleboard.org/beagleboard-xm

概述

  1. AM3730 800MHz ARM Cortex-A8 compatible
  2. 512 MB LPDDR RAM
  3. 2D/3D graphics accelerator
  4. USB 2.0 ports
  5. MMC/SD connector
  6. DVI-D port
  7. S-Video port
  8. USB mini AB connector
  9. Ethernet

这个开发板,官方资源很丰富,但是不建议新手来学习。需要的知道的东西很多才能驾驭这个。
我们可以像树莓派一样来玩这个开发板,只需要将SD卡上烧写debian的img就可以启动,这里给出img下载地址,详细的img写入教程,请参考树莓派。img下载地址:https://beagleboard.org/latest-images,选择DM3730 CPU的镜像。

还有就是使用ti-sdk来开发这块板卡。但是ti-sdk最高版本支持为6.0.并且有较多的坑,教程也没有继续更新了。这里详细描述一下ti-sdk的使用教程。

Getting Start

下面开始描述如何使用ti-sdk开发这块板子。

下载开发包

开发包网址:http://software-dl.ti.com/sitara_linux/esd/BeagleBoardSDK/latest/index_FDS.html
下载内容:ti-sdk-beagleboard-06.00.00.00-Linux-x86-Install.bin
官方教程:Wiki version of Software Developers Guide

安装虚拟机

根据官方教程,这个开发包支持ubuntu 12.04 和ubuntu 10.04,详细安装过程请自行搜索教程。但注意,这里必须把虚拟机的cpu配置高一点,内存多一点,共享文件夹配置好。
比如,我用virtualbox安装的虚拟机 内存分配4G cpu分配4核心。
共享关文件夹是用来传输ti-sdk-beagleboard-06.00.00.00-Linux-x86-Install.bin文件的。
这个开发包用的是x86所以需要装好x86的环境。我用的是x86_64,所以需要额外安装x86的库:

sudo apt-get install ia32-libs*

安装ti-sdk

把ti-sdk-beagleboard-06.00.00.00-Linux-x86-Install.bin文件传入虚拟机之后,使用su权限执行:

chmod +x ti-sdk-beagleboard-06.00.00.00-Linux-x86-Install.bin
sudo ./ti-sdk-beagleboard-06.00.00.00-Linux-x86-Install.bin --mode console

全部使用默认就行了,最终安装在 /usr/local/ti-sdk-beagleboard/目录下。

制作启动TF卡

首先准备一个16G的TF卡,挂载到虚拟机上。不会的请自行搜索。
执行制作脚本:

sudo /usr/local/ti-sdk-beagleboard/bin/create-sdcard.sh

执行这个脚本,有些问题,根据分析脚本create-sdcard.sh:它找不到默认的二进制目录。因为他需要的目录结构为:

── ti-sdk-*-*[0-9]
    ├── board-support
    │   └── prebuilt-images
    │       ├── MLO-beagleboard
    │       ├── u-boot-beagleboard.img
    │       └── uImage-beagleboard.bin
    └── filesystem
        ├── arago-base-tisdk-image-beagleboard.tar.gz
        ├── arago-base-tisdk-image-beagleboard.ubi
        └── tisdk-rootfs-image-beagleboard.tar.gz

于是我把这个些文件从/usr/local/ti-sdk-beagleboard/目录拷贝到了

/home/ubuntu/workspace/beagleboard/ti-sdk-beagleboard-6/

在脚本提示需要找到二进制目录时候,输入上面的地址就可以了。

后面自动会完成TF卡的制作,然后将TF卡取出,放到板卡上,上电即可。

基本功能查看

启动之后,通过串口访问,与树莓派一样,这里就不详细说明怎么连接。
使用用户:root登录,密码为空。

查看基本信息:

root@beagleboard:/# cat /proc/cpuinfo 
Processor       : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 506.27
Features        : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc08
CPU revision    : 2

Hardware        : OMAP3 Beagle Board
Revision        : 0020
Serial          : 0000000000000000

查看执行的进程:

root@beagleboard:/# ps
  PID USER       VSZ STAT COMMAND
    1 root      1320 S    init [5]
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [ksoftirqd/0]
    4 root         0 SW   [kworker/0:0]
    5 root         0 SW   [kworker/u:0]
    6 root         0 SW<  [cpuset]
    7 root         0 SW<  [khelper]
    8 root         0 SW   [kdevtmpfs]
    9 root         0 SW<  [netns]
   10 root         0 SW   [sync_supers]
   11 root         0 SW   [bdi-default]
   12 root         0 SW<  [kintegrityd]
   13 root         0 SW<  [kblockd]
   14 root         0 SW<  [omap2_mcspi/1]
   15 root         0 SW<  [omap2_mcspi/2]
   16 root         0 SW<  [omap2_mcspi/3]
   17 root         0 SW<  [omap2_mcspi/4]
   18 root         0 SW   [khubd]
   19 root         0 SW   [irq/7-TWL4030-P]
   20 root         0 SW   [kworker/0:1]
   21 root         0 SW<  [rpciod]
   22 root         0 SW   [khungtaskd]
   23 root         0 SW   [kswapd0]
   24 root         0 SW   [fsnotify_mark]
   25 root         0 SW<  [nfsiod]
   26 root         0 SW<  [crypto]
   37 root         0 SW<  [kthrotld]
   38 root         0 SW<  [OMAP UART0]
   39 root         0 SW<  [OMAP UART1]
   40 root         0 SW<  [OMAP UART2]
   41 root         0 SW<  [OMAP UART3]
   42 root         0 SW<  [kpsmoused]
   43 root         0 SW   [kworker/u:1]
   44 root         0 SW   [kworker/u:2]
   45 root         0 SW   [irq/164-user]
   46 root         0 SW   [mmcqd/0]
   47 root         0 SW   [kjournald]
   68 root      1904 S <  /sbin/udevd -d
  449 root         0 SW   [flush-179:0]
  527 root         0 SW   [kworker/0:2]
  535 root      1824 S    udhcpc -R -n -p /var/run/udhcpc.eth0.pid -i eth0
  555 messageb  2300 S    /usr/bin/dbus-daemon --system
  563 root      2012 S    /usr/sbin/dropbear -r /etc/dropbear/dropbear_rsa_hos
  566 root      1824 S    /usr/sbin/telnetd
  575 root      1824 S    /sbin/syslogd -n -O /var/log/messages
  576 root      1824 S    /sbin/klogd -n
  578 nobody    2252 S    /usr/sbin/thttpd -d /srv/www -p 8080
  604 root         0 SW<  [pvr_timer]
  614 root      1900 S <  /sbin/udevd -d
  615 root      1900 S <  /sbin/udevd -d
  635 root         0 SW<  [pvr_workqueue]
  640 root      2884 S    /usr/sbin/lighttpd -f /etc/lighttpd.conf
  683 root     90356 S    /usr/bin/matrix_browser -qws http://localhost:80/
  711 root      2588 S    -sh
  712 root      1572 S    /sbin/getty 38400 tty1

从上面可以看到,它跑了一个http服务器,并且使用了Qt,还开启了telnet服务器,我们可以通过telnet直接访问。
telnet的用户为root密码为空。
并且它还有dhcp服务器,可以自动配置网络地址。

当前我的网络地址为 192.168.1.105,可以直接在chrome上输入 http://192.168.1.105访问应用。

结束

基本介绍就结束了,后面可能不会玩这个了,CPU比较弱,而且很难折腾。