当前位置: 首页 > news >正文

【linux内核驱动day04】

设备树:

  • .dts  : 描述板级资源的设备树文件(一般一个开发板对应一个文件)
    • 开发板外设
  • .dtsi  : 描述SOC的设备树文件(类似.C对应的.h文件)
    • IIC   SPI     PWM之类的
  • .h   : C语言的头文件      ----  设备树编译支持预处理C文件
  • .dtb  : 最终编译完成后生成的可加载设备树文件(类似a.out)

拷贝:

修改:

make:

将pute.dtb拷贝到tftpboot目录下:

sudo minicom中tftp三部曲:

tftp 0x80800000 zImage

tftp 0x83000000 pute.dtb

bootz 0x80800000 - 0x83000000

在/arm/boot/dts/pute.dts文件里:

先定义reg中的数字类型,地址1,大小1的格式

属性书写原则:

  • 该属性通用性高,则按照设备树中已有的属性名及格式定义
  • 该属性如果未在设备树中定义过,则自行定义

在/arch/arm/boot/dts/pute.dts文件里加节点:

在顶层目录下编译make pute.dtb或者make dtbs

在顶层目录下拷贝到tftpboot目录  cp arch/arm/boot/dts/pute.dtb ~/tftpboot

在顶层目录下,写drivers/char/led_dts.c文件

修改driver/char/Makefile文件,把led_misc.o修改成led_dts.o,不用修改Kconfig,

在顶层目录下,make zImage和make modules

将生成的/drivers/char/led_dts.ko拷贝到/nfs/rootfs目录下

在uboot里:tftp 0x80800000 zImage

tftp 0x83000000 pute.dtb

bootz 0x80800000 - 0x83000000

insmod led_dts.ko

GPIO子系统:

内核帮我们实现操作对应接口的函数

  1. 设备树中定义对应的引脚及设置电器属性

编写vim arch/arm/boot/dts/pute.dtb  添加ptledsub

在顶层目录下,编译make dtbs

将pute.dtb文件拷贝到tftpboot目录下

在vim /drivers/char/led_subgpio.c文件中,编写代码

vim drivers/char/Makefile中添加led_subgpio.o

make modules

将led_subgpio.ko文件拷贝到rootfs目录下

在开发板里,tftp 0x80800000 zImage

tftp 0x83000000 pute.dtb

bootz 0x80800000 - 0x83000000

insmod led_subgpio.ko

http://www.dtcms.com/a/418373.html

相关文章:

  • 安全笔记(一)
  • 17-Language Modeling with Gated Convolutional Networks
  • ES启用Xpack,配置ssl证书
  • 网站无收录的原因湖南长沙微信平台号
  • k8s-pod的启动
  • RHCA - CL260 | Day11:管理存储集群
  • 多线程环境下处理Flask上下文问题的文档
  • 第四部分:VTK常用类详解(第95章 vtkLegendBoxActor图例框演员类)
  • 网站模板_网站模板源码_免费企业模板源码—免费网站模板源码下载
  • 伽利略 | 近代科学的奠定 / 函数观念的演变
  • 四川网站建设益友微信公众号运营规则
  • 专业的短视频发布矩阵哪家靠谱
  • 线性代数(标量与向量+矩阵与张量+矩阵求导)
  • 济南免费网站建站模板免费网站建设软件大全
  • 【OpenHarmony】用户文件服务模块架构
  • 网站建设早会说什么建设一个网站的需求分析
  • [C++项目组件]cpp-httplib与 websocketpp的简单介绍和使用
  • 奈奎斯特采样定理
  • 做购物网站需要什么服务器网站设计 手写
  • uniapp 使用towxml
  • Uniapp 开发中遭遇「可选链赋值」语法陷阱:一次编译错误排查实录
  • 鸿蒙 H5 环境下的 UniApp 跨域与存储兼容性问题排查
  • 旧vue3项目集成electron
  • Nature Electronics:卡内基梅隆大学开放用于多模态皮肤反馈的皮肤贴附式触觉接口
  • uniapp div区域长按下载到手机相册为照片
  • Electron 安全实践:渲染进程如何安全使用主进程的三方库能力
  • uniapp集成原生安卓开发的插件
  • 做网站建设需要做哪些工作室Wordpress 转发后查看
  • Kafka面试精讲 Day 24:Spring Kafka开发实战
  • 网站模板 站长之家网站开发需要准备什么