Linux系统驱动之LCD驱动程序框架_使用设备树

本文介绍如何利用设备树编写Linux LCD驱动程序,涉及平台Driver注册、probe函数实现、硬件配置等内容,从IMX6ULL和STM32MP157示例出发,结合内核示例和设备树结构讲解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

百问网技术交流群,百万嵌入式工程师聚集地:
https://www.100ask.net/page/2248041

资料下载

coding无法使用浏览器打开,必须用git工具下载:

git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git

视频观看

百问网驱动大全

编程_LCD驱动程序框架_使用设备树

参考资料,GIT仓库里:

  • 基于这个程序修改:

    • IMX6ULL\source\03_LCD\03_lcd_drv_qemu_ok
    • STM32MP157\source\A7\03_LCD\03_lcd_drv_qemu_ok
  • 参考:内核自带的示例驱动程序

    • Linux驱动源码:drivers/video/fbdev/simplefb.c
    • 设备树:
      • arch/arm/boot/dts/sun4i-a10.dtsi
  • 本节视频编写好的代码

    • IMX6ULL\source\03_LCD\06_lcd_drv_framework_use_devicetree
    • STM32MP157\source\A7\03_LCD\06_lcd_drv_framework_use_devicetree

1. 说明

Linux驱动程序 = 驱动程序框架 + 硬件编程。
在前面已经基于QEMU编写了LCD驱动程序,对LCD驱动程序的框架已经分析清楚。
核心就是:

  • 分配fb_info
  • 设置fb_info
  • 注册fb_info
  • 硬件相关的设置

本节课程我们基于设备树来编写驱动程序。

2. 入口函数注册platform_driver

3. 设备树有对应节点


                framebuffer-mylcd {
                        compatible = "100ask,lcd_drv";
                };

4. 编写probe函数

  • 分配fb_info
  • 设置fb_info
  • 注册fb_info
  • 硬件相关的设置
    • 引脚设置
    • 时钟设置
    • LCD控制器设置

百问网技术交流群,百万嵌入式工程师聚集地:
https://www.100ask.net/page/2248041

百问网技术论坛:
http://bbs.100ask.net/

百问网嵌入式视频官网:
https://www.100ask.net/index

百问网开发板:
淘宝:https://100ask.taobao.com/
天猫:https://weidongshan.tmall.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值