基于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目录下
如果想要获得原来的版本可以关注网站: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目录下
相关文章推荐
- 基于BBB的4轮移动轮式机器人系统设计与实现(四)--BeagleBone Black PWM 应用程序开发
- 基于BBB的4轮移动轮式机器人系统设计与实现(三)--BeagleBone Black PWM 驱动
- 基于BBB的4轮移动轮式机器人系统设计与实现(六)--网络通信类的开发
- 基于BBB的4轮移动轮式机器人系统设计与实现(八)-- SIM908 GPS 数据获取
- 基于BBB的4轮移动轮式机器人系统设计与实现(一)-----开篇引言
- 基于BBB的4轮移动轮式机器人系统设计与实现(二)-----硬件搭建
- 基于BBB的4轮移动轮式机器人系统设计与实现(七)-- 遥控手柄 控制 类
- 基于元数据配置的asp.net数据库应用快速开发框架设计及实现
- 【转】谈基于SOA的应用系统设计和开发
- Smobiler基于.NET框架开发移动应用内部系统—消息列表功能(开发日志五)
- 基于PHP实现微信公众平台消息接口应用开发(文本应用、地理位置、订餐系统)
- 基于MDA的移动应用开发建模及实现
- Smobiler基于.NET框架开发移动应用内部系统—工作单功能(开发日志七)
- 从架构设计到系统实施-基于.NET 3.0的全新企业应用之开发Vista边栏应用
- 基于MDA的移动应用开发建模及实现
- 基于 角色-功能 的思想实现 角色非平行类应用系统的开发
- 移动网络应用开发中,使用 HTTP 协议比起使用 socket 实现基于 TCP 的自定义协议有哪些优势?
- Smobiler基于.NET框架开发移动应用内部系统(开发日志一)
- 从架构设计到系统实施-基于.NET 3.0的全新企业应用之开发基于MMC 3.0的管理工具
- 移动网络应用开发中,使用 HTTP 协议比起使用 socket 实现基于 TCP 的自定义协议有哪些优势?