PCB论坛网

 找回密码
 注册
查看: 869|回复: 0

如何在最新的Debian系统下使用BB-VIEW

[复制链接]
发表于 2014-6-11 14:36:01 | 显示全部楼层 |阅读模式
本帖最后由 bennyzhang 于 2014-6-11 14:51 编辑

我想很多同学可能想知道如何让BB-VIEW在安装了最新的Debian beta系统映像的element14 BeagleBone Black上工作。

比较麻烦的是需要对内核重新编译。如果不重新编译的话,屏幕显示不会有问题(红蓝对调很容易解决),但是触摸屏控制引脚和标准的TI 4线接口不一样。我尝试过为ti_am335x_tsc.c文件打补丁,这样就只会对DTS进行重新编译,但是还没有成功(我敢肯定是状态机位分配的问题)。不扯远了,下面开始讲操作步骤。

步骤一览:

1) 下载需要用到的文件
     a) Robert Nelson编译工具,用于编译BeagleBone内核
     b)针对Angstrom的BB-VIEW源代码
2) 创建默认内核
3) 为内核打补丁并快速重新编译
4) 将新内核复制到BeagleBone
5) 编辑xorg.conf文件,纠正红蓝对调问题
6) 尽情享受你刚刚节省下来的整整4天的时间J

现在正式开始:

我用的是Ubuntu 12.04 LTS 64位版本,在VirtualBox虚拟机中来编辑内核:
> mkdir bb-view
> cd bb-view

安装git:
> apt-get install git

本地克隆Robert Nelson的linux-dev项目。下载文件有点大,交叉编译器大概100Mb,内核源码大概700Mb:
> git clone https冒号//github.com/RobertCNelson/linux-dev.git

进入新的linux-dev目录,然后选择符合Debian版本的branch/tag:
> cd linux-dev
> git checkout 3.8.13-bone37 -b tmp

现在我们需要创建基本的映像,这样就能植入BB-VIEW驱动目录。脚本会提示操作或需要安装的内容:
> ./build_kernel.sh

大约一个小时以后创建完毕(下面的内容需要下载Angstrom源代码)

为内核打补丁

从Angstrom源码提取两个文件:
> unzip angstrom-source.zip
> tar -zxf bb-black-kernel-3.8.13-bb-view.tar.bz2
> cp ./kernel/kernel/drivers/input/touchscreen/ti_am335x_tsc.c ~/bb-view/linux-dev/KERNEL/drivers/input/touchscreen/
> cp ./kernel/kernel/firmware/capes/BB-VIEW-LCD7-01-00A0.dts ~/bb-view/linux-dev/KERNEL/firmware/capes/

现在我们需要让编译器知道我们要添加固件:
> nano ~/bb-view/linux-dev/KERNEL/firmware/Makefile

将以下代码添加到第192行附近(按CTRL-C可以显示当前光标位置):
BB-VIEW-LCD7-01-00A0.dtbo \\(这里只需要一个斜杠,不知道为什么发帖以后会变多)

不要忽略了后面的反斜杠,这很重要。然后按下CTRL-O、Enter和CTRL-X键来保存和退出。

回到linux-dev根目录:
> cd   ~/bb-view/linux-dev

然后执行重新创建内核的命令,这一步需要的时间不会很长:
> ./tools/rebuild.sh

将内核复制到element14 BeagleBone Black


以下命令的前提条件是已经在BeagleBone上安装了Debian beta系统并且成功启动。
最简单的方法是从网上通过“scp”命令复制文件:
> scp   ~/bb-view/linux-dev/deploy/3.8.13-bone37.zImage   debian@192.168.7.2:/home/debian

把上面的debian替换成你在BeagleBone上的用户名,并且把192.168.7.2替换成BeagleBone的IP地址。
登录BeagleBone,然后将内核映像复制到启动分区:
bbb>  sudo cp 3.8.13-bone37.zImage   /boot/uboot/zImage

在让LCD正常工作前还需要做一件事情。由于BB-VIEW没有EEPROM,所以我们需要在启动命令中屏蔽HDMI驱动,并强行加载BB-VIEW驱动:
bbb>  sudo  nano  /boot/uboot/uEnv.txt

找到“optargs”那一行,然后修改为:
optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN  capemgr.enable_partno=BB-VIEW-LCD7-01

注意前面的“#”已经删除了。否则EMMC被禁用,无法从emmc启动。
然后按下CTRL-O、Enter和CTRL-X键来保存和退出。
重新启动BeagleBone后,LCD就能工作了,但是蓝色和红色显示对调了。

修复红蓝色对调
这个问题是由于TI AM335x处理器在16位和24位视频模式切换时的错误造成的。要修复这个问题,需要首先找到显示屏的名称:
bbb> cat  /var/log/Xorg.0.log  |  grep  screen

我的显示屏名称是“Builtin Default fbdev Screen 0”
现在编辑X配置文件:
bbb> sudo nano  /usr/share/X11/xorg.conf.d/10-evdev.conf

在文件末尾添加“Screen”代码段:
Section \"Screen \"
        Identifier  \"Builtin Default fbdev Screen 0 \"
        Monitor  \"Configured Monitor\\ \"
        Device  \"Configured Video Device \"
        DefaultDepth 24
EndSection
(请去掉上面的斜杠,不知道为什么发帖后网页自己添加了斜杠)
然后按下CTRL-O、Enter和CTRL-X键来保存和退出。
重新启动即可!(更多信息请访问英蓓特官方网站)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|手机版|PCB设计论坛|EDA论坛|PCB论坛网 ( 沪ICP备05006956号-1 )

GMT+8, 2024-5-10 11:40 , Processed in 0.164262 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表