文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十一)驱动进化之路:设备树的引入及简明教程(上)

1.驱动进化之路:设备树的引入及简明教程官方文档(可以下载到devicetree-specification-v0.2.pdf):链接内核文档: Documentation/devicetree/booting-without-of.txt韦老师录制“设备树视频”时写的文档:设备树详细分析.txt这个txt文件也同步上传到wiki了:链接我录制的设备树视频,它是基于s3c2440的,用的是lin....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十一)驱动进化之路:设备树的引入及简明教程(上)
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十九)驱动进化之路:总线设备驱动模型

示例:1.1 驱动编写的3种方法以LED驱动为例:1.1.1 传统写法使用哪个引脚,怎么操作引脚,都写死在代码中。 最简单,不考虑扩展性,可以快速实现功能。 修改引脚时,需要重新编译。1.1.2 总线设备驱动模型引入platform_device/platform_driver,将“资源”与“驱动”分离开来。 代码稍微复杂,但是易于扩展。冗余代码太多,修改引脚时设备端的代码需要重新编译。 更换引....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十九)驱动进化之路:总线设备驱动模型
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十八)驱动设计的思想:面向对象/分层/分离

1.1 面向对象字符设备驱动程序抽象出一个file_operations结构体; 我们写的程序针对硬件部分抽象出led_operations结构体。1.2 分层上下分层,比如我们前面写的LED驱动程序就分为2层:① 上层实现硬件无关的操作,比如注册字符设备驱动:leddrv.c②下层实现硬件相关的操作,比如board_A.c实现单板A的LED操作1.3 分离还能不能改进?分离。 在board_A....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十八)驱动设计的思想:面向对象/分层/分离
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十)驱动怎么学

1. 嵌入式Linux驱动开发基础知识的引导与说明1.1打算讲什么、怎么讲?以几个简单的驱动程序,讲解嵌入式Linux驱动的框架,了解驱动开发的流程、方法,掌握从APP到驱动的调用流程。会涉及很多种开发板,让你明白“Linux驱动 = 软件框架 + 硬件操作”,让你“一通百通”,掌握了普适性的原理之后,在工作中很容易在其他板子使用这些知识。以LED驱动为例,会如下讲解:1.2 需要做什么准备工作....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十)驱动怎么学
文章 2022-12-12 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(八)IMX6ULL开发板编译第一个程序以及驱动(下)

2.开发板的第1个APP实验2.1获取程序请按上一章节使用GIT下载源码、使用repo下载工具链,并配置了交叉编译工具链。从Git仓库驱动源码相关文件,在Ubuntu终端上执行如下命令。git clone https://e.coding.net/weidongshan/01_all_series_quickstart.git代码获取示意图如下所示。使用GIT下载所有源码后,本节源码位于如下...

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(八)IMX6ULL开发板编译第一个程序以及驱动(下)
文章 2022-12-12 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(八)IMX6ULL开发板编译第一个程序以及驱动(上)

1. IMX6ULL开发板初次操作1.1 100ask_imx6ull开发板硬件资源简介1.1.1 100ask imx6ull mini开发板1.2 100ask_imx6ull开发板软件资源简介1.2.1 开发环境1.2.2 核心软件1.2.3 文件系统1.2.4 各模块的详细内容1.3 启动方式选择板子上的红色拨码开关用来设置启动方式,支持这3种方式:EMMC启动、SD卡启动、USB烧写。....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(八)IMX6ULL开发板编译第一个程序以及驱动(上)
文章 2022-10-21 来自:开发者社区

嵌入式实践教程--【Linux驱动】Linux驱动开发基于Linux4.0+(六)I2C总线驱动

I2C总线经常挂载eeprom、温度传感器、湿度传感器等设备。I2C总线下可以挂载多个设备,识别设备采用一个地址,这个地址在一条i2c总线是独一无二的。I2C总线驱动与spi总线驱动框架是一致的,都是采用控制器、core、设备三层驱动。内核中I2C 的处理已经做好了,我们只需要做设备驱动程序相关的内容。总线处理好了I2C 协议,即总线知道如何收发数据,而不知道数据的含义,我们要做的只是设备相关层....

文章 2022-10-17 来自:开发者社区

嵌入式实践教程--【Linux驱动】Linux驱动开发基于Linux4.0+(一)——字符设备驱动

区别于Linux4.0之前的字符设备驱动结构,4.0采用cdev注册字符设备。一、构造一个字符设备结构体,用于cdev的初始化struct led_dev_t{ struct cdev cdev; };二、__init 入口函数1.设备号的处理dev_t led_devno= MKDEV(led_major,0);MKDEV(led_major,0)通过主次设备号生成dev_t,在cdev的...

文章 2021-12-24 来自:开发者社区

Linux驱动开发: Linux下RTC实时时钟驱动

Linux内核版本: 3.51.1 Linux下RTC时间的读写分析1.1.1 系统时间与RTC实时时钟时间Linux系统下包含两个时间:系统时间和RTC时间。系统时间:是由主芯片的定时器进行维护的时间,一般情况下都会选择芯片上最高精度的定时器作为系统时间的定时基准,以避免在系统运行较长时间后出现大的时间偏移。特点是掉电后不保存。RTC时间:是指系统中包含的RTC芯片内部所维护的时间。RTC芯片....

Linux驱动开发: Linux下RTC实时时钟驱动
文章 2021-12-24 来自:开发者社区

Linux驱动开发: FrameBuffe(LCD)驱动开发

一、FrameBuffer 帧缓冲设备的原理1.1 概念在linux系统中LCD这类设备称为帧缓冲设备,英文frameBuffer设备。frameBuffer 是出现在2.2.xx 内核当中的一种驱动程序接口。帧缓冲(framebuffer)是Linux 系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。用户不必关....

Linux驱动开发: FrameBuffe(LCD)驱动开发

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Linux宝库

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问