5514| 0
|
如何在最新的Debian系统下使用BB-VIEW |
我想很多同学可能想知道如何让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键来保存和退出。 重新启动即可!(更多信息请访问英蓓特官方网站) |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed