嵌入式驱动开发.pdf

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
目 录 前言 linux架构下platform总线详解 Linux驱动之触摸屏 网卡驱动的流程分析 lcd驱动程序之显示图片 Linux驱动静态编译和动态编译方法详解 本文档使用 看云 构建 - 2 - 前言 前言 原文出处 :嵌入式驱动开发 作者 :qq 本系列文章经作者授权在看云整理发布 ,未经作者允许 ,请勿转载 ! 嵌入式驱动开发 嵌入式驱动开发主要就是以linux为操作系统为基础的开发 ,CSDN讲记录我成长的点点滴 滴 ,我会朝着一个优秀的嵌入式开发人员去奋斗与追求。 本文档使用 看云 构建 - 3 - linux架构下platform总线详解 linux架构下platform总线详解 学习驱动一定要掌握驱动的模型 ,platform总线在内核中用的非常频繁 ,还有一个是Input 输入子系统 ,platform总线的好处是 ,inux从2.6起就加入了一套新的驱动管理和注册的机制 platform平台总线 ,是一条虚拟的总线 ,设备用platform_device表示 ,驱动用 platform_driver进行注册。于传统的bus/device/driver机制相比 ,platform由内核进行统 一管理 ,在驱动中使用资源 ,提高了代码的安全性和可移植性。当硬件部分的时序变了或者 芯片替换了 ,我们只需要修改硬件部分的代码 ,还有一部分代码是属于内核的稳定部分是不 用修改的 ,这就是一种通用的接口。 1、定义一个platform_device,并注册 /* 硬件部分 */ 2、定义一个platform_driver,并注册 /* 稳定部分 */ bus_dev_drv模型 dev :(属于不稳定的部分 ) platform_device_register(led_dev); static struct resource led_resource[] { platform_device_unregister(led_dev); static struct resource led_resource[] { [0] { .start 0 //gpio_con gpio_dat两个寄存器占八个字 节 .end 0+ 8 - 1,//所以需要映射长八个字节 .flags IORESOURCE_MEM, }, [1] { .start 8, .end 8, .flags IORESOURCE_IRQ, } }; static void led_release(struct device * dev) { } static struct platform_device led_dev { .name myled, .id -1, .num_resources ARRAY_SIZE(led_resource), 本文档使用 看云 构建 - 4 - linux架构下platform总线详解 .resource led_resource, .dev { .release led_release, }, }; drv : (稳定的部分) struct platform_driver led_drv { .probe led_probe, .remove led_remove, .driver { .name myled, } }

文档评论(0)

max + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档