您的位置:知识库 » 手机开发

Beagleboard上运行ARM/MeeGo的整理

作者: Jerry_Chen  来源: www.meegoq.com  发布时间: 2010-09-28 16:34  阅读: 3411 次  推荐: 0   原文链接   [收藏]  

 

  QT演示

  你可以运行qtdemo应用程序,它将给你一些简单的全屏GUI来启动demo.或者你也可以手动的启动位于/usr/lib/qt4/demos下的demo程序.他们中的一些程序需要很多的内存,所以安装swap内存是必须的.

  启动MeeGo手持设备UX

  由于PVR在启动时会被启用并且拥有了足够的虚拟内存,现在你可以重新启用/etc/sysconfig/uxlaunch路径下的MeeGo窗口管理器mcompositor.

  在这一点上,我犯了一个愚蠢的错误:我仍然将TI 3D演示程序存储在/home/meego下.完整的MeeGo UX将会启用tracker来扫描/home/meego下的多媒体文件.大约有1GB左右的文件来自3D demos,这将使tracker在后台运行时一直占用100% CPU.为了避免发生这种情况,你需要确认/home/meego目录下的文件不会比示例图片文件多太多.我将包含3D示例程序的目录移到了/root目录下,但是它也有可能被移动到/home/meego的隐藏文件夹里(以.开头的文件夹).

现在重启电脑并且耐心等待.几分钟后你就可以看到MeeGo的UX了.

  不幸的是目前还没有光标,但是在带触屏的情况下,这个UI还是可用的.当然,beagleboards的128MB内存还是不够用的并且在设备保持swap的情况下反应也是相当迟钝.

  外围硬件设备

  在这个装置上我已经测试了各种不同的外围设备,大部分设备都可以解决使用问题.

  定制视频设定

  你可以像通常一样通过内核命令行修改u-boot从而改变视频的设定.当前的MeeGo手持设备UX在设备上主要是使用800x480的屏幕分辨率.这个不能被标准内核的模式数据库所支持,需要进行一些简单的调整.

  而且,一些显示器(比如我的)需要非常特别的显示时序.

  以下的patch是添加和我的显示器(Toshiba LTA070B220F)的显示时序一样的800x480分辨率模式到内核模式数据库中.

如果你想要使用这个模式,只要下载文件 800x480.patch,然后将他置于内核编译目录的补丁目录(./patches)中,接着添加如下命令行在patch.sh的最后部分:

#dsp

# add local 800x480 patch

echo "Switch default display to 800x480"
patch
-s -p1 < ${DIR}/patches/800x480.patch

echo
"patch.sh ran successful" 

  这样就可以将一个800x480分辨率的视频模式添加到模式数据库中,如果你没有什么特殊的模式要求,这应该是一个比较好的方法.MeeGo的手持设备和平板的UX差不多都可以使用这个分辨率,总之,这样使用是行得通的.

为了使用这个分辨率,你需要在内核命令行(例如,在boot.cmd/boot.scr)中指定如'800x480-16@60'这样.

另一个达到修改这个分辨率的目的的方法是停止u-boot(在等待引导期间点击触屏),然后设置'dvimode'环境变量为'800x480-16@60'.从此以后,你都要在u-boot提示符界面中输入一下命令:

OMAP3 beagleboard.org # set dvimode 800x480-16@60
OMAP3 beagleboard.org # saveenv

  相同地,这有可能减少在引导开始时的等待给变量'bootdelay'设置一个新值的时间.

  USB hubs,麦和键盘

  这些已经可以使用,无需配置.

  蓝牙键盘

  我的CSR蓝牙适配器在工具箱上可以使用.Hcitool可以很好地扫描到设备,通过hidd方式连接到蓝牙HID设备.这些都已经使用一个蓝牙键盘测试过了.

  触屏

  我的7英寸egalax触摸屏可以近乎完美得在工具箱上使用.它只是稍微有一点校准偏差.

最新的硬件抽象层驱动xorg可以给出输入配置文件来解决这个问题.将下列的内容放到root分区中的/etc/X11/xorg.conf.d/50-input-touch.conf文件里,以调节触屏到很好的状况:

Section "InputClass"
Identifier
"evdev touchscreen catchall"
MatchIsTouchscreen
"on"
MatchDevicePath
"/dev/input/event*"
Driver
"evdev"
Option
"Calibration" "80 1918 133 1863"
EndSection

  这个配置会自动应用到所有在/dev/input/event*中存在映射的触屏设备.你可能不得不调整校准的值以适应你的设备.

  当前的kickstart文件自动包含这个文件.如果你没有触摸屏,这个就用不到了.

  以太网

  一个D-Link DUB-E100以太网适配器工作在工具箱中,通过DHCP获得一个IP地址.在这个网络连接中,我可以确认zypper和包管理工具也可以使用."zypper up"命令成功得更新了一些包.

  beagleboard XM的板载以太网卡(一个基于USB设备的SMSC95xx)也可以再工具箱中工作.

  无线局域网

  使用一个基于USB适配器的Ralink RT2501可以检测并扫描到网络.但是它不能通过DHCP提供一个地址.

  音频

  音频不能在beagleboard XM上使用.

  音频在beagleboard revA, revB和revC上可以工作得很好,但是它缺省的是无声的.通过alsamixer工具可以将它启动. Alsamixer生成一些设定的控制台图形,但是不会为我展示连续的图像.我不得不使用xterm通过以太网登录的方式实现对alsamixer的实际控制.

  你需要使用meego(而不是root)这个用户名登录并且启动alsamixer.你将看到一个简单的音量条.这是脉冲音频设定.如果它是静音的状态(在音量条的底部有'MM'的标示),你需要取消静音(按‘M’键).这时'MM'将会变成绿色的'00'.当然,如果能的话,你也可以使用光标增加音量到最大,

  然后按'F6'键切换到omap3beagle设置.这是硬件的配置.你需要取消静音,然后至少按照以下条目增大音量:

DAC1 Analog
DAC1 Digital Course
DAC1 Digital Fine
Headset
HeadsetL Mixer AudioL1
HeadsetR Mixer AudioR1

  输入以下命令将给你一段听得见的输出在耳机中:

aplay /usr/share/sounds/alsa/Rear_Center.wav

  如果你听不到任何东西,可能需要通过alsamixer去调整omap3beagle设置.幸运的是这些设定在系统重启的时候将会自动地保存.你只需要调整一次就可以了.

  制作快照

  对你看到的东西满意吗?想要分享它吗?那就制作一个屏幕截图吧!这个不需要任何特定的软件.只要拷贝framebuffer的内容到一些文件中:

cp /dev/fb0 screenshot.raw

  如果你是在16bits/pixel下使用800x480的显示尺寸,那么最后的文件将有一个精确地大小770048 bytes (800x480x2).在你的主机上使用ffmpeg将它转换成一些标准的图片格式比如png:

ffmpeg -vcodec rawvideo -f rawvideo -pix_fmt rgb565 -s 800x480 -i screenshot.raw -f image2 -vcodec png screenshot.png

  wiki原文:http://wiki.meego.com/ARM/Meego_on_Beagleboard_from_scratch

0
0
标签:MeeGo教程

手机开发热门文章

    手机开发最新文章

      最新新闻

        热门新闻