您的位置:首页 > 其它

基于BBB的4轮移动轮式机器人系统设计与实现(五)--BeagleBone Black编码器开发应用

2015-01-23 21:37 776 查看
首先声明,这个应用是来自外国网站,自己也是依葫芦画瓢得来。

如果想要获得原来的版本可以关注网站:https://github.com/Teknoman117/beaglebot

但是本人做的编译内核的办法方案与其不同,我是应用下载好的内核源代码来编译驱动。

过程如下:

第一 :下载最新的开发板的内核源代码,可以到这里git://github.com/beagleboard/kernel.git下载。

第二: 下载编码器驱动和API github.com/Teknoman117/beaglebot 下载

第三: 将编码器驱动文件 tieqep.c 拷贝到 /home/Beaglebone/CanMake/kernel/kernel/drivers/misc 目录下,并且将设备树文件/home/Beaglebone/beaglebot-master/encoders/dts/bone_eqep0.dts 。。。。等4个设备树文件拷贝到/home/Beaglebone/CanMake/kernel/kernel/firmware/capes目录下。更改在/home/Beaglebone/CanMake/kernel/kernel/firmware/目录下的makefile,在140行#
all the generic capes

fw-shipped-$(CONFIG_CAPE_BEAGLEBONE) += \附近添加设备生成文件名称,如下:

bone_eqep0.dtbo\

bone_eqep1.dtbo\

bone_eqep2.dtbo\

bone_eqep2b.dtbo

第四:在/home/Beaglebone/CanMake/kernel/kernel/drivers/misc 更改Kconfig这个文件,并在最后面添加如下:

config TIEQEP

tristate "EQEP Hardware quadrature encoder controller"

depends on SOC_AM33XX

select PWM_TIPWMSS

help

Driver support for the EQEP quadrature encoder controller AM33XX

TI SOC

To compile this driver as a module, choose M here: the module

will be called tieqep.

第五:在/home/Beaglebone/CanMake/kernel/kernel/drivers/misc 更改Makefile这个文件,并在倒数第二行后面添加如下:obj-$(CONFIG_TIEQEP) += tieqep.o

第六:回到内核源码根目录/home/Beaglebone/CanMake/kernel/kernel 更改Makefile文件,指定交叉编译器:大约在197行附近,更改如下:

export KBUILD_BUILDHOST := $(SUBARCH)

ARCH ?= arm

CROSS_COMPILE ?= /home/Beaglebone/KERNEL/arm-2010.09/bin/arm-none-linux-gnueabi-

第七:回到内核源码根目录 命令make menuconfig -》Device Drivers ->Misc devices -> EQEP Hardware quadrature encoder controller 。按一下空格后变成 <M> EQEP Hardware quadrature encoder controller 。模块化的生成方法。退出,保存。

第八:回到内核源码根目录,命令make。

第九:在 /home/Beaglebone/CanMake/kernel/kernel/drivers/misc 目录下会生成tieqep.ko,在/home/Beaglebone/CanMake/kernel/kernel/firmware/
会生成bone_eqep2b.dtbo

第九:将tieqep.ko拷贝到BBB的 /lib/modules/<kernel version>/kernel/drivers/misc目录下

将bone_eqep2b.dtbo等设备树文件拷贝到BBB的 /lib/firmware目录下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐