查看: 2348|回复: 1

[原创] 如何在最新的Debian系统下使用BB-VIEW

[复制链接]

33

主题

0

好友

309

积分

秀才

Rank: 3Rank: 3

  • TA的每日心情
    开心
    2014-4-23 16:59
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-6-11 17:06:26 |显示全部楼层
    我想很多同学可能想知道如何让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,然后将内核映像复制到启动分区:
    > ssh debian@192.168.7.2
    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位视频模式切换时的错误造成的。要修复这个问题,需要首先找到显示屏的名称:
    > ssh debian@192.168.7.2
    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键来保存和退出。
    重新启动即可!(更多信息请访问英蓓特官方网站)


    回复

    使用道具 举报

    2

    主题

    0

    好友

    798

    积分

    版主

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    开心
    2014-6-4 09:26
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-6-12 08:30:16 |显示全部楼层
    不错,貌似现在买BBB免费送BB-VIEW?
    回复

    使用道具 举报

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

    关闭

    站长推荐上一条 /6 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-5 22:50 , Processed in 0.146109 second(s), 9 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部