Android底层驱动开发 -驱动配置篇##

所需要的硬件及软件资源

  1. 一块Android开发板(我用的是Firefly-AIO-3288J)
  2. 开发板的系统源码
  3. 一台运行Linux系统的主机(虚拟机也行,但内存配置不要低于16g,否则会编译失败)

准备工作

  1. 在Linux系统上面安装好JDK
  2. 下载系统源码至Linux主机上面,然后解压
tar xzf /data/Android/xxxx.tar.gz
git reset --hard
  1. 尝试单独编译内核模块
make firefly_defconfig
make firefly-rk3288-aio-3288j.img -j4

如该编译成功则进行下一步

开始编写驱动

这里以编写HX711 AD模块的驱动为例

  1. 增加所需的资源到设备树dts文件里面,dts文件在
/kernel/arch/arm/boot/dts/firefly-rk3288-aio-3288j.dts

在里面增加设备资源定义,配置GPIO管脚

//电子秤驱动scale_driver{compatible = "scaleDriver";scale-sck = <&gpio1 GPIO_D2 GPIO_ACTIVE_HIGH> ;scale-dt = <&gpio1 GPIO_D0 GPIO_ACTIVE_LOW>;status = "okay";};
  1. 新建驱动文件夹,在/kernel/drivers文件夹下面新建scaleDriver文件夹,这个文件夹用来存放驱动程序
  2. 在文件夹里面新建驱动程序文件scaleDriver.c
  3. 在文件夹里面新建Kconfig以及Makefile两个文件,两个文件的内容如下
//Kconfig
#  scale driver
#  author:yinshuai
#  DATE:2018-08-21
#  Kconfig
config SCALE_DRIVERbool "scaleDriver"default yhelpthis is scale driver
//Makefile
#  scale driver
#  author:yinshuai
#  DATE:2018-08-21
obj-$(CONFIG_SCALE_DRIVER) +=scaleDrive.o
  1. 在drivers文件夹下面的Kconfig以及Makefile两个文件中添加以下内容
//Kconfig
source "drivers/scaleDriver/Kconfig"
//Makefile
obj-y   += scaleDriver/

配置驱动

  1. 进入图形化配置界面
make menuconfig

选择Device Drivers —> 然后在自己的驱动前面打上星号,保存退出

编译内核

开始编译内核,执行以下命令

make firefly_defconfig
make firefly-rk3288-aio-3288j.img -j4

最后生成的内核文件在

/kernel   kernel.img
/kernel   resource.img

如果发现刷入的内核覆盖不了之前的内核 执行以下命令重新生成boot.img

make bootimage

生成的boot.img文件在

out/target/product/rk3288_aio_3288j_box/boot.img

最后把boot.img 以及 kernel.img 和 resource.img一起刷入开发板 则可解决覆盖不了的问题

个人博客地址:小白的个人博客

Android底层驱动开发 -驱动配置篇相关推荐

  1. win10 + WDK10+ VS2015 + vmware_win10 驱动开发环境配置

    自从WDK8.1后,开发window 驱动不用再用windbg + 虚拟机调试了,我们调试驱动也可以像调试EXE 一样方便,下面是win10(主机) + WDK10+ VS2015 + vmware_ ...

  2. Android 音视频开发之基础篇 使用 SurfaceView绘制一张图片

    Android 音视频开发 上一篇文章:使用 imageview绘制一张图片 任务一 SurfaceView绘制一张图片 文章目录 Android 音视频开发 前言 一.surfaceview是什么? ...

  3. 关于嵌入式驱动开发,这篇文章让你了解透彻!

    01 嵌入式驱动开发到底学什么 嵌入式大体分为以下四个方向: 一.嵌入式硬件开发:熟悉电路等知识,非常熟悉各种常用元器件,掌握模拟电路和数字电路设计的开发能力.熟练掌握嵌入式硬件知识,熟悉硬件开发模式 ...

  4. Win10下VS2015(WDK10)驱动开发环境配置

    1.     概述 微软在"WDK7600"以后就不再提供独立的内核驱动开发包了,而是必须首先安装微软集成开发环境VisualStudio,然后再从微软官网下载集成的WDK开发包. ...

  5. Linux驱动开发环境配置(内核源码树构造)

    来源:季义钦BLOG 作者:季义钦 初次接触Linux驱动程序开发,买了一本<Linux设备驱动程序>,第一件事当然就是构建开发环境了!!! 它上面有一个Hello World的列子: / ...

  6. (31)驱动开发环境配置(VS2010+WDK7600)

    本文介绍如何在WIN10配置XP驱动开发环境. 注意,VS2010和WDK都是安装在物理机的. 一.安装VS2010 https://docs.microsoft.com/zh-cn/visualst ...

  7. arm linux 内核配置,Linux + ARM驱动开发环境配置(内核配置与编译)

    要想编写驱动,首先是建立内核目录树. ** 1.查看ARM开发板的内核版本 ** uname -a 我的arm开发板的版本是3.4.39 ** 2.安装必要的软件包 ** sudo apt-get i ...

  8. Win8.1+VS2013+WDK8.1+VirtualBox or VMware 驱动开发环境配置

    开发Windows驱动,我选择的环境是Win8.1+VS2013+WDK8.1+VirtualBox.理由如下: ①开发机器和测试机器均安装Win8.1,其中开发机器安装的是64位Win8.1,测试机 ...

  9. 驱动开发:配置Visual Studio驱动开发环境

    在正式开始驱动开发之前,需要自行搭建驱动开发的必要环境,首先我们需要安装Visual Studio 2013这款功能强大的程序开发工具,在课件内请双击ISO文件并运行内部的vs_ultimate.ex ...

最新文章

  1. php 可以做pc客户端吗,vue.js能做pc端吗
  2. string的常见用法详解
  3. python--通过xpath相对节点位置查找元素(续)
  4. 主键primary key和唯一索引unique index
  5. 【HDU - 5455】Fang Fang(水题,有坑)
  6. python计算目录大小_使用Python计算目录的大小?
  7. 【语音识别】基于matlab MFCC+IPC特征+SVM中英语种识别【含Matlab源码 612期】
  8. viper4android10段调节,VIPER HiFi怎么设置音效 音效调整技巧
  9. php music player,cloudmusic.php
  10. Sublime Text安装与配置
  11. linux 网卡爽ip,linux服务器双网卡爽IP实现双线
  12. Unity中游戏的存档与读档
  13. 计算机二级的Word知识点,计算机二级word知识点「干货」
  14. 服务器租用前如何测试网络速度?
  15. 泰裤辣!五一烧烤倒计时,还有人没做好攻略吗?
  16. opencv 图像的变换
  17. 循序渐进学爬虫:多线程+队列爬取豆瓣高分计算机类书籍 1
  18. fpga挂一片ddr2_基于Cyclone III FPGA的DDR2接口设计分析
  19. K8SEASY:一键安装K8S高可用集群
  20. Office 办公软件 word Excel PPT(3)

热门文章

  1. 高通平台死机DUMP抓取方法
  2. 云ERP系统实施的整体流程是什么?
  3. iptables——实战防火
  4. python前端图表框架_图表highcharts联合jquery ajax 后端取数据前端图表渲染
  5. 基于微信小程序云开发的医院体检预约小程序源码,医院体检预约小程序源码,实现体检预约管理、体检预约凭证、预约数据查看导出 版权申诉
  6. MUI-设置沉浸式状态栏后MUI导航栏的高度问题
  7. 【Azkaban】(一)Azkaban 入门
  8. Activiti7---Assignee的值用UEL的POJO实现
  9. wechat开发errorcode:40164
  10. StarGAN生成器结构