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

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

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

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

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十九)I2C应用编程(下)

1.4.5. 内核里怎么传输数据使用一句话概括I2C传输:APP通过I2C Controller与I2C Device传输数据APP通过i2c_adapter与i2c_client传输i2c_msg内核函数i2c_transferi2c_msg里含有addr,所以这个函数里不需要i2c_client1.5. 无需编写驱动直接访问设备_I2C-Tools介绍参考资料:Linux驱动程序: driv....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十九)I2C应用编程(下)
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十九)I2C应用编程(中)

1.3.2 SMBus协议分析对于I2C协议,它只定义了怎么传输数据,但是并没有定义数据的格式,这完全由设备来定义。对于SMBus协议,它定义了几种数据格式。注意:下面文档中的Functionality flag是Linux的某个I2C控制器驱动所支持的功能。比如Functionality flag: I2C_FUNC_SMBUS_QUICK,表示需要I2C控制器支持SMBus Quick Co....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十九)I2C应用编程(中)
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十九)I2C应用编程(上)

1.I2C应用编程1.1 I2C视频介绍参考资料:请点击1.1.1 I2C硬件框架在一个芯片(SoC)内部,有一个或多个I2C控制器在一个I2C控制器上,可以连接一个或多个I2C设备I2C总线只需要2条线:时钟线SCL、数据线SDA在I2C总线的SCL、SDA线上,都有上拉电阻1.1.2 I2C软件框架以I2C接口的存储设备AT24C02为例:APP: 提出要求:把字符串"www.100ask....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十九)I2C应用编程(上)
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十七)多线程编程(下)

1.2 线程的控制1.2.1 多线程编临界资源访问当线程在运行过程中,去操作公共资源,如全局变量的时候,可能会发生彼此“矛盾”现象。例如线程1企图想让变量自增,而线程2企图想要变量自减,两个线程存在互相竞争的关系导致变量永远处于一个“平衡状态”,两个线程互相竞争,线程1得到执行权后将变量自加,当线程2得到执行权后将变量自减,变量似乎永远在某个范围内浮动,无法到达期望数值,如例程9所示。使用GIT....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十七)多线程编程(下)
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十七)多线程编程(上)

1.多线程编程本章将分为两大部分进行讲解,第一部分将引出线程的使用场景及基本概念,通过示例代码来说明一个线程创建到退出到回收的基本流程。第二部分则会通过示例代码来说明如果控制好线程,从临界资源访问与线程的执行顺序控制上引出互斥锁、信号量的概念与使用方法。1.1 线程的使用1.1.1 为什么要使用多线程在编写代码时,是否会遇到以下的场景会感觉到难以下手?要做2件事,一件需要阻塞等待,另一件需要实时....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十七)多线程编程(上)
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十六)网络通信

1.网络通信了解网络通信,可以看如下视频:半小时了解网络通信1.1 网络通信概述使用GIT下载资料后,视频中涉及的文档和图片,位于如下目录:01_all_series_quickstart\ 04_嵌入式Linux应用开发基础知识\ doc_pic\08.网络编程 source\12_socket\1.1.1 IP和端口所有的数据传输,都有三个要素 :源、目的、长度。怎么表示源或者目的呢?请看下....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十六)网络通信
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(下)

3. 电容屏的实验数据假设你的开发板上电容屏对应的设备节点是/dev/input/event0,执行以下命令:hexdump /dev/input/event0然后用一个手指点击触摸屏,得到类似如下的数据:在上面的数据中,为了兼容老程序,它也上报了ABS_X、ABS_Y数据,电阻触摸屏就是使用这类型的数据。所以基于电阻屏的程序,也可以用在电容屏上。使用两个手指点击触摸屏时,得到类似如下的数据:为....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(下)
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(中)

1.3.4 查询方式APP调用open函数时,传入“O_NONBLOCK”表示“非阻塞”。APP调用read函数读取数据时,如果驱动程序中有数据,那么APP的read函数会返回数据,否则也会立刻返回错误。1.3.5 休眠-唤醒方式APP调用open函数时,不要传入“O_NONBLOCK”。APP调用read函数读取数据时,如果驱动程序中有数据,那么APP的read函数会返回数据;否则APP就会在....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(中)
文章 2022-12-13 来自:开发者社区

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(上)

1.输入系统应用编程1.1 什么是输入系统先来了解什么是输入设备?常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与Linux系统进行数据交换。什么是输入系统?输入设备种类繁多,能否统一它们的接口?既在驱动层面统一,也在应用程序层面统一?可以的。Linux系统为了统一管理这些输入设备,实现了一套能兼容所有输入设备的框架:输入系统。驱动开发人员基于这套框架开发出程序,应....

嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十五)输入系统应用编程(上)

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

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注