【嵌入式Linux驱动开发】五、LED驱动完善 - 面向对象·上下分层·左右分离

本文介绍了如何运用面向对象、上下分层和左右分离的思想改进嵌入式Linux驱动,特别是LED驱动。通过创建led_operations结构体和led_resource结构体,将硬件无关和硬件相关操作分离,使得驱动程序更具通用性和可维护性。文章通过实例展示了如何编写和组织代码,以及如何在QEMU虚拟开发板上运行和测试LED驱动。
摘要由CSDN通过智能技术生成

  除了知情权以外,人也应该拥有不知情权,后者的价值要大得多。它意味着高尚的灵魂不必被那些废话和空谈充斥。过度的信息对一个过着充实生活的人来说,是一种不必要的负担。


一、面向对象·上下分层·左右分离思想

  • 面向对象
    • 字符设备驱动程序抽象出一个 file_operations 结构体;
    • 我们写的程序针对硬件部分抽象出 led_operations 结构体。
  • 上下分层,
    • 比如我们前面写的 LED 驱动程序就分为 2 层:
    • ① 上层实现硬件无关的操作,比如注册字符设备驱动: leddrv.c
    • ② 下层实现硬件相关的操作,比如 board_A.c 实现单板 A 的 LED 操作
      在这里插入图片描述

  这两种思想在之前的程序中悄无声息的使用着,但是这样就完美了?在之前的程序基础上,考虑这样一种情况:如果硬件上更换一个引脚来控制 LED 怎么办?那就得去修改led_operations结构体初始化中的 init、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReCclay

如果觉得不错,不妨请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值