迅为i.MX6ULL开发板Platform设备驱动运行测试

2023-11-10

文章目录

1 编译驱动和设备程序
2 编译应用测试程序
3 运行测试

1 编译驱动和设备程序

和前面章节中驱动测试程序一样需要一个Makefile文件,只是将obj-m的值改为led_device.o led_driver.o,Makefile文件内容如下:

 

首先我们在终端输入两个命令(设置两个环境变量):

 

然后执行“make”命令编译模块,编译完成生成led_device.ko和led_driver.ko模块文件。

 

2 编译应用测试程序

输入如下命令编译应用测试程序:

arm-linux-gnueabihf-gcc -o led_test led_test.c

编译完成后,会生成led_test可执行文件。

 

3 运行测试

启动开发板,将编译好的led_device.ko、led_driver.ko模块文件和led_test应用测试程序拷贝到/lib/modules/4.1.15目录下(检查开发板根文件系统中有没有“/lib/modules/4.1.15”这个目录,如果没有的话需要自行创建一下。开发板中使用的是光盘资料里面提供的busybox文件系统,光盘资料的“i.MX6UL终结者光盘资料\08_开发板系统镜像\03_文件系统镜像\01_Busybox文件系统”目录下)。输入下面命令加载模块:

 

驱动加载成功后,在根文件系统中/sys/bus/platform/目录下保存着当前板子 platform 总线下的设备和驱动,其中devices 子目录为 platform 设备,drivers 子目录为 plartofm 驱动。查看/sys/bus/platform/devices/目录,看看我们的设备是否存在,我们在 led_device.c 中设置 leddevice(platform_device 类型)的name 字段为“imx6ul-led”,也就是设备名字为 imx6ul-led,因此肯定在/sys/bus/platform/devices/目录下存在一个名字“imx6ul-led”的文件,否则说明我们的设备模块加载失败,结果如图 3.1所示:

 

同理,查看/sys/bus/platform/drivers/目录,看一下驱动是否存在,我们在 led_driver.c 中设置led_driver (platform_driver 类型)的 name 字段为“imx6ul-led”,因此会在/sys/bus/platform/drivers/目录下存在名为“imx6ul-led”这个文件,结果如图 3.2所示:

 

驱动模块和设备模块加载成功以后 platform 总线就会进行匹配,当驱动和设备匹配成功以后就会输出如图 3.3所示信息:

 

设备和驱动匹配成功后,使用led_test应用程序来测试一下,命令如下:

 

通过这两条命令来验证一下LED的platform平台下的驱动是否正确。
卸载模块命令:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

迅为i.MX6ULL开发板Platform设备驱动运行测试 的相关文章

随机推荐

  • 常见的标识符

    关键字 abstract assert boolean break byte case catch char class const continue default do double else enum extends final fi
  • java后端向前端发送blob类型、arraybuffer类型数据流

    java后端向前端发送blob类型 arraybuffer类型数据流 项目需求概述 前端请求图片时遇到跨域问题 思考解决方案时 考虑前端请求本地javaweb接口时带上图片url 由后端请求到图片后再发送到前端 后端代码 package c
  • Webpack 和 Vite 的区别

    Webpack 和 Vite 都是前端构建工具 但它们在设计哲学和执行方式上有所不同 以下是两者之间的主要区别 基本原理 Webpack 它是一个模块打包工具 它的主要目标是打包 JavaScript 模块 为了处理 ES modules
  • Linux下多线程编程互斥锁和条件变量的简单使用

    Linux下的多线程遵循POSIX线程接口 称为pthread 编写Linux下的多线程程序 需要使用头文件pthread h 链接时需要使用库libpthread a 线程是进程的一个实体 是CPU调度和分派的基本单位 它是比进程更小的能
  • 自己写一个简单的弹窗页面

    最终效果 我使用的vue的js做绑定处理 虽然现在各种 弹窗插件到处都是 但是本着造轮子的本心还是写了一点 这段内容是17年的时候写的 时间跨度稍微有点大 表在意了 基本思路 1 为需要添加遮罩的页面添加一个组件 这个组件绑定在isShow
  • angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天 我们要讲的是angualr2的pipe这个知识点 例子 这个例子包含两个pipe 一个是stateful 一个是stateless 是直接复制官方的例子 最新的官网文档已经将其改为了pure和impure 并移除了面向对象的比喻 个人
  • 基于SSM实现校园互助论坛平台

    作者简介 Java 前端 Python开发多年 做过高程 项目经理 架构师 主要内容 Java项目开发 Python项目开发 大学数据和AI项目开发 单片机项目设计 面试技术整理 最新技术分享 收藏点赞不迷路 关注作者有好处 文末获得源码
  • JAVA 使用web3j接入以太坊(一)

    第一步先创建maven项目 在项目的pom文件依赖中添加web3j
  • JWT简介及使用

    JWT简介及使用 JWT JWT能做什么 认证流程 为什么需要JWT jwt结构 JWT使用 java jwt jjwt JWT工具类编写 JWT整合springboot JWT整合Springboot优化 JWT jwt json web
  • 机器学习实战python版第二章示例:手写识别系统

    手写识别系统和前面的例子差不多 我们所需要做的就是把图数据转换成一维数组数据 数据准备 def img2vector filename returnVect zeros 1 1024 创建一行1024列的数组 fr open filenam
  • tcpdump 移植

    一 环境介绍 1 1 宿主机 1 2 嵌入式平台 1 3 交叉工具链 二 交叉编译 2 1 先编译 tcpdump 4 8 1 依赖的模块 2 2 编译 tcpdump 4 8 1 三 使用测试 一 环境介绍 1 1 宿主机 Ubuntu
  • 如何用IDEA配置数据库链接

    版本 idea 2021 2 MySQL5 7 很多小伙伴在idea中写SQL语句会爆红 可能就是因为idea没有与数据库进行连接 导致不识别数据库中的关键字 下面讲解一下如何配置idea与数据库的连接 步骤如下 第一步 打开idea 找到
  • Excel:如何实现分组内的升序和降序?

    一 POWER 1 构建辅助列D列 在D2单元格输入公式 POWER 10 COUNTA A 2 A2 3 C2 2 选中B1 D10 注意不能宣导A列的合并单元格 进行以下操作 3 删除辅助列即可 二 COUNTA 第一步 D2建立辅助列
  • SQL Server期末复习要点(一)

    1 SQL Server所提供的服务中 MSSQLServer是最核心的一部分 2 SERVER2005常规标识符是哪些 算术运算符 逻辑运算符 赋值运算符 字符串串联运算符 按位运算符 一元运算符及比较运算符等 3 聚合函数的使用 max
  • DirectX教程(8):全屏显示

    使游戏全屏显示很容易 但是需要更改程序的一些细节 并添加几行代码 在本节中 我们将介绍两件事 首先 我们将介绍如何全球化你的屏幕分辨率以及为什么要这样做 其次 我们将介绍如何使窗口进行全屏模式并再次返回的机制 设置屏幕尺寸 在你的Direc
  • 刷脸智慧化经营助商家高效运营店铺新方式

    迈入5G后 网速在变 生活方式在变 商家的运营模式也应该做出改变 智慧数字经营 助力商家高效运营店铺的新方式 时代的发展速度之快 越来越出乎意料 从2G到3G 再从3G到4G 乃至现在的5G 发展从未停滞 一直在快步向前 快到我们还在对4G
  • leetcode——189.轮转数组(C语言2种思路)

    文章目录 1 题目 2 解法1 开辟新数组 2 1 思路 2 2 代码实现 3 解法2 翻转法 3 1 思路 3 2 代码实现 1 题目 给定一个整数数组 nums 将数组中的元素向右轮转 k 个位置 其中 k 是非负数 示例1 输入 nu
  • maven 打包时后缀加时间

    规范的包名对开发及运维人员的记录及备份是有益的 如何在maven 打包时后缀加时间 在原有打包plugin后面加如下代码
  • 数据结构:面试题目-专项练习-栈-习题练习

    1 下列关于栈叙述正确的是 正确答案 D 你的答案 D 正确 算法就是程序 设计算法时只需要考虑数据结构的设计 设计算法时只需要考虑结果的可靠性 以上三种说法都不对 解析 A 程序是数据结构 算法 错 B C 设计一个算法时 考虑的因素很多
  • 迅为i.MX6ULL开发板Platform设备驱动运行测试

    文章目录 1 编译驱动和设备程序 2 编译应用测试程序 3 运行测试 1 编译驱动和设备程序 和前面章节中驱动测试程序一样需要一个Makefile文件 只是将obj m的值改为led device o led driver o Makefi