E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
linux驱动开发
Linux驱动开发
笔记(一):helloworld驱动源码编写、makefile编写以及驱动编译基本流程
红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…Linux系统移植和驱动开发专栏上一篇:没有了下一篇:《
Linux
长沙红胖子Qt
·
2023-06-07 14:08
linux驱动开发
驱动开发
linux
linux驱动开发
Linux驱动开发
(使用I2C总线设备驱动模型编写AT24C02驱动程序)
文章目录前言一、I2C总线设备驱动模型二、设备树编写三、驱动程序编写1.提供i2c_driver结构体变量并且注册2.注册file_operations结构体3.操作AT24C02四、应用程序编写五、上机测试总结前言本篇文章将讲解如何使用I2C总线设备驱动模型编写AT24C02驱动程序。一、I2C总线设备驱动模型I2C设备模型驱动程序是一种新的I2C设备驱动模型,引入了设备树(DeviceTree
花落已飘
·
2023-06-07 09:36
Linux
驱动开发
linux
运维
U-Boot Makefile编译常用命令
参考手册:[正点原子]I.MX6U嵌入式
Linux驱动开发
指南V1.8\color{red}{[正点原子]I.MX6U嵌入式Linux
CinzWS
·
2023-04-21 20:29
嵌入式ARM
驱动开发
linux
uboot
U-Boot移植
本文梳理一下U-Boot一般需要添加修改的文件,帮助理解U-Boot移植过程参考手册:I.MX6U嵌入式
Linux驱动开发
指南V1.8\color{red}{I.MX6U嵌入式
Linux驱动开发
指南V1.8
CinzWS
·
2023-04-21 20:29
驱动开发
uboot
嵌入式
怎样自学嵌入式LINUX?
对于嵌入式Linux项目的开发,主要包含以下的知识点:1.数据输入/输出的接口–嵌入式
Linux驱动开发
2.数据运行的平台和支持环境–uboot开发,Linux内核裁剪,文件系统移植3.数据处理和转换–
qq^^614136809
·
2023-04-21 18:30
linux
驱动开发
运维
linux驱动开发
- 07_pinctrl 和 gpio 子系统实战
文章目录1gpio子系统API函数2gpio相关的OF函数3程序编写3.1修改设备树文件3.2添加LED设备节点3.3LED灯驱动程序编写3.4编写测试APP4编译驱动程序和测试APP4.1编译驱动程序4.2编译测试APP5运行测试链接:C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂1gpio子系统API函数对于驱动开发人员,设置好设备树以后就可以**使用gpio子
kaka的卡
·
2023-04-21 09:23
linux驱动开发
驱动开发
linux
bb-black驱动开发系统环境搭建(VNC/SSH/NFS)--Apple的学习笔记
先要进行
linux驱动开发
,把环境准备下。目标期望在win10上操作,这样的话,制作笔记截图都比较高效。高内聚,低耦合。
applecai
·
2023-04-19 11:36
【正点原子MP157连载】第四十章 Linux I2C驱动实验-摘自【正点原子】STM32MP1嵌入式
Linux驱动开发
指南V1.7
1)实验平台:正点原子STM32MP157开发板2)购买链接:https://item.taobao.com/item.htm?&id=6292707218013)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-318813-1-1.html4)正点原子官方B站:https://space.bilibili.com/3946208905)正点原子STM
正点原子
·
2023-04-19 10:29
LINUX
linux
驱动开发
stm32
Linux 中断实验-基于正点原子IMX6ULL开发板
详细内容参考《I.MX6U嵌入式
Linux驱动开发
指南V1.6》第五十一章,本篇文章仅说明重点内容。
supersmart@
·
2023-04-19 10:40
arm
linux
vscode
c++
基于RK3568的
Linux驱动开发
—— GPIO知识点(二)
authordaisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主系列基于RK3568的
Linux驱动开发
——GPIO知识点(一)_daisy.skye的博客-CSDN博客查看goio
daisy.skye
·
2023-04-19 06:32
Linux
linux
rk3568
gpio
基于RK3568的
Linux驱动开发
——GPIO知识点(一)
authordaisy.skye的博客_CSDN博客-Qt,嵌入式,Linux领域博主系列基于RK3568的
Linux驱动开发
——GPIO知识点(二)_daisy.skye的博客-CSDN博客gpiobankRK3568
daisy.skye
·
2023-04-19 06:58
Linux
linux驱动
gpio
rk3568
嵌入式
Linux驱动开发
【学习小结】
二、为什么需要嵌入式
Linux驱动开发
三、驱动程序框架大致演变过程总结前言随着去嵌入式设备资源不断丰富,主频不断升高,搭载操作系统可以更好的利用MPU资源,更容易实现其复杂功能。
梦想当极客的小芦
·
2023-04-18 10:54
arm
单片机
c语言
算法
linux
【
Linux驱动开发
】023 platform设备驱动
一、前言驱动分离目的:提高Linux代码重用性和可移植性。二、驱动的分隔与分离百度看了很多,大多都没讲清楚为什么使用platform驱动,为什么驱动分隔与分离可以提高代码重用性,只是在讲实现的结构体、函数接口等等,现在我们就来分析一下:先拿stm32单片机举个例子,如果使用I2C驱动的MPU6050,我们需要写一个mpu6050.c文件对其进行初始化,包括I2C初始化和读写函数、mpu6050初始
Kashine
·
2023-04-18 04:46
linux驱动
linux
驱动开发
【
Linux驱动开发
】024 INPUT子系统
一、前言按键、鼠标、键盘、触摸屏等都属于输入(input)设备,Linux内核为此专门做了一个叫做input子系统的框架来处理输入事件。输入设备本质上还是字符设备,只是在此基础上套上了input框架,用户只需要负责上报输入事件,比如按键值、坐标等信息,input核心层负责处理这些事件。按键输入、键盘、鼠标、触摸屏等都属于输入设备,不同的输入设备所代表的含义不同,按键和键盘就是代表按键信息,鼠标和触
Kashine
·
2023-04-18 04:46
linux驱动
驱动开发
【
Linux驱动开发
】019 中断
一、Linux中断API函数1、中断号在Linux内核中使用一个int变量表示中断号,每个中断都有一个中断号,通过中断号即可区分不同的中断。注意:中断号取决于硬件,芯片设计时候已经固定。2、request_irq申请中断函数在Linux内核中使用某个中断是需要申请的,request_irq函数用于申请中断,request_irq函数可能会导致睡眠,因此不能在中断上下文或者其他禁止睡眠的代码段中使用
Kashine
·
2023-04-18 04:16
linux驱动
linux
linux驱动开发
- 06_设备树下的 LED 驱动
文章目录1修改设备树文件2驱动程序编写3编写测试APP4编译驱动程序和测试APP1、编译驱动程序2、编译测试APP5运行测试使用设备树来向Linux内核传递相关的寄存器物理地址,Linux驱动文件从OF函数从设备树中获取所需的属性值,然后使用获取到的属性值来初始化相关的IO。1修改设备树文件在根节点“/”下创建一个名为“alphaled”的子节点,打开imx6ull-alientek-emmc.d
kaka的卡
·
2023-04-18 00:11
linux驱动开发
驱动开发
linux
Linux驱动开发
——高级I/O操作(二)
目录proc文件操作非阻塞型I/O阻塞型I/Oproc文件操作proc文件系统是一种伪文件系统,这种文件系统不存在于磁盘上,只存在于内存中只有内核运行时才会动态生成里面的内容。这个文件系统通常挂载在/proc目录下,是核开发者向用户导出信息的常用方式,比如我们之前看到的/proc/devices文件。在系统中有的这种文件也可写,这可以在不重新编译内核以及不重新启动系统的情况下改变内核的行为。之前驱
宇努力学习
·
2023-04-16 20:39
驱动开发
嵌入式
驱动开发
Exynos4412
IO操作
Linux驱动开发
IO模型:非阻塞IO
1、非阻塞IO模型是什么当应用程序发起读取数据(read)的时候,不管数据有没有准备好,read函数都应该立即返回。如果数据准备好了,立即返回数据,如果没有准备好,返回错误码。2、应用程序在使用非阻塞IO模型时,应用程序应该这样打开文件open("/dev/mycdev",O_RDWR|O_NONBLOCK);3、驱动程序在驱动程序中,如果看到应用程序使用非阻塞IO打开文件时,就看看数据是否准备好
凛冬将至__
·
2023-04-16 16:59
驱动开发
Linux驱动开发
IO模型:阻塞IO
1、阻塞IO模型是什么当应用程序发起读取数据(read)的时候,如果数据没有准备好,就会阻塞等待(进程休眠),如果与硬件的数据准备好了,就会产生硬件中断,在中断处理函数中唤醒休眠的进程,然后将准备好的数据拷贝至用户空间。2、应用程序应用程序默认是以阻塞方式打开,所以不需要特别设置open("/dev/mycdev",O_RDWR|O_NONBLOCK);3、驱动程序3.1阻塞相关的步骤1、定义等待
凛冬将至__
·
2023-04-16 16:26
Linux应用开发
Linux驱动开发
linux
驱动开发
IO模型
Linux应用程序开发
阻塞IO
迅为嵌入式Linux学习笔记1——框架学习法
迅为嵌入式Linux学习笔记1——框架学习法知识体系C语言数字电路基础(单片机)ARM体系结构硬件设计(ARM接口技术)Linux系统与管理Linux系统开发
Linux驱动开发
BootLoader(UBOOT
郑州-刘明鑫
·
2023-04-16 03:50
嵌入式Linux
linux
学习
嵌入式
基于stm32mp157 linux开发板ARM裸机开发教程4:Cortex-A7 内核存储系统与流水线(连载中)
STM32MP157开发板)针对对FS-MP1A开发板,除了Cortex-A7裸机开发篇外,还包括其他多系列教程,包括Cortex-M4开发篇、FreeRTOS篇、Linux基础及应用开发篇、Linux系统移植篇、
Linux
华清远见IT开放实验室
·
2023-04-15 10:46
stm32
linux
单片机
linux驱动开发
(一):一个最简单的内核驱动程序
一、编写.c程序编写DriverFramework.c。该模块的功能很简单,就是在被内核加载时打印“helloinit”,被内核卸载时打印“helloexit”。#include#includeMODULE_LICENSE("GPL");MODULE_AUTHOR("zz");//作者名称,可以随意命名staticinthello_init(void){printk("helloinit\n");
精致的螺旋线
·
2023-04-14 19:08
RISC-V Linux 编译设备树
RISC-VLinux编译设备树flyfish设备树是一种描述硬件资源的数据结构引入设备树的主要目的曾经Linux内核中夹杂着大量的设备信息,影响
Linux驱动开发
效率,因为外部设备发生任何改动,需要重新编写和编译驱动代码
西西弗Sisyphus
·
2023-04-14 05:19
linux
risc-v
设备树
linux驱动开发
- 04_Linux 设备树学习 - DTS语法
文章目录Linux设备树学习-DTS语法1什么是设备树?2DTS、DTB和DTC3DTS语法3.1dtsi头文件3.2设备节点3.3标准属性1、compatible属性2、model属性3、status属性4、#address-cells和#size-cells属性5、reg属性6、ranges属性7、name属性8、device_type属性4向节点追加或修改内容5设备树在系统中的体现1、根节点
kaka的卡
·
2023-04-14 01:21
linux驱动开发
linux
驱动开发
linux驱动开发
- 05_设备树常用OF操作函数
文章目录Linux设备树学习-设备树常用OF操作函数1查找节点的OF函数1.1of_find_node_by_name函数1.2of_find_node_by_type函数1.3of_find_compatible_node函数1.4of_find_matching_node_and_match函数1.5of_find_node_by_path函数2查找父/子节点的OF函数2.1of_get_pa
kaka的卡
·
2023-04-14 01:47
linux驱动开发
驱动开发
linux
【嵌入式Linux】嵌入式
Linux驱动开发
基础知识之驱动程序基石
文章目录前言1、休眠唤醒功能1.1、使用场景1.2、使用函数1.3、使用程序1.3.1、驱动框架1.3.2、程序源码1.4、使用实验2、POLL机制2.1、使用流程2.2、使用程序2.3、使用实验2.4、系统函数3、异步通知3.1、使用流程3.2、使用程序3.3、使用实验3.4、系统函数4、阻塞和非阻塞3.1、使用流程3.2、使用程序3.3、使用实验5、定时器5.1、使用流程5.2、使用程序5.3
Joseph Cooper
·
2023-04-13 08:28
#
嵌入式Linux
linux
驱动开发
运维
Linux驱动开发
——高级I/O操作(一)
一个设备除了能通过读写操作来收发数据或返回、保存数据,还应该有很多其他的操作。比如一个串口设备还应该具备波特率获取和设置、帧格式获取和设置的操作;一个LED设备甚至不应该有读写操作,而应该具备点灯和灭灯的操作。硬件设备是如此众多,各种操作也纷繁复杂,所以内核将读写之外的其他I/O操作都委派给了另外一个函数接口:ioctl。而且,文件I/O还具备多种模型,比如非阻塞、阻塞、I/O多路复用,异步I/O
宇努力学习
·
2023-04-13 04:13
驱动开发
驱动开发
linux
学习
【Linux开发初步】00000005H_I.MX6ULL平台认知笔记
图片来源于【正点原子】I.MAX6U嵌入式
Linux驱动开发
指南V1.5.pdf目录摘要1.应用定位2.架构&功能3.总结摘要出于学习的目的,我买了一块正点原子的阿尔法大板,之前没有接触过Linux,就目前的工作内容正好也需要
智驾
·
2023-04-13 03:56
Linux
linux
Linux驱动开发
——字符设备(2)
目录虚拟串口设备驱动一个驱动支持多个设备习题虚拟串口设备驱动字符设备驱动除了前面搭建好代码的框架外,接下来最重要的就是要实现特定于设备的操作方法,这是驱动的核心和关键所在,是一个驱动区别于其他驱动的本质所在,是整个驱动代码中最灵活的代码所在。了解了虚拟串口设备的工作方式后,接下来就可以针对性的编写驱动程序,代码如下:#include#include#include#include#include#
宇努力学习
·
2023-04-12 15:28
驱动开发
Linux
内核
嵌入式
Linux驱动开发
——字符设备
目录Linux设备分类字符设备驱动基础字符设备驱动框架虚拟串口设备Linux设备分类Linux系统根据驱动程序实现的模型框架将设备驱动分为下面三种。(1)字符设备驱动:设备对数据的处理是按照字节流的形式进行的,可以支持随机访问,也可以不支持随机访问,因为数据流量通常不是很大,所以一般没有页高速缓存典型的字符设备有串口、键盘、帧缓存设备等。以串口为例,串口对收发的数据长度没有具体要求,可以是任意多个
宇努力学习
·
2023-04-12 15:49
驱动开发
Linux
内核
嵌入式
驱动开发
字符设备
韦东山 IMX6ULL和正点原子_「正点原子Linux连载」第四十三章Linux设备树(一)
1)实验平台:正点原子Linux开发板2)摘自《正点原子I.MX6U嵌入式
Linux驱动开发
指南》关注官方微信号公众号,获取更多资料:正点原子前面章节中我们多次提到“设备树”这个概念,因为时机未到,所以当时并没有详细的讲解什么是
weixin_39993301
·
2023-04-11 06:28
韦东山
IMX6ULL和正点原子
linux驱动开发
- 02_简单Linux LED 驱动开发
文章目录简单LinuxLED驱动开发1.Linux下LED灯驱动原理1.1地址映射1、ioremap函数2、iounmap函数1.2I/O内存访问函数1、读操作函数2、写操作函数2.实验程序编写2.1LED灯驱动程序编写2.2编写测试APP3.运行测试3.1编译驱动程序和测试APP1、编译驱动程序2、编译测试APP3.2运行测试简单LinuxLED驱动开发1.Linux下LED灯驱动原理Linux
kaka的卡
·
2023-04-11 01:58
linux驱动开发
驱动开发
linux
linux驱动开发
- 01_字符设备驱动开发
文章目录字符设备驱动开发1.字符设备驱动简介2字符设备驱动开发步骤2.1驱动模块的加载和卸载2.2字符设备注册与注销2.3实现设备的具体操作函数2.4添加LICENSE和作者信息3Linux设备号3.1设备号的组成3.2设备号的分配4chrdevbase字符设备驱动开发实验4.1实验程序编写4.2编写测试APP4.3编译驱动程序和测试APP4.4运行测试1、加载驱动模块2、创建设备节点文件3、ch
kaka的卡
·
2023-04-11 01:57
linux驱动开发
驱动开发
linux
linux驱动开发
- 03_新字符设备驱动
文章目录1Linux设备号1.1设备号的组成1.2设备号的分配2.新字符设备驱动原理2.1分配和释放设备号2.2新的字符设备注册方法1、字符设备结构2、cdev_init函数3、cdev_add函数3、cdev_del函数3自动创建设备节点3.1mdev机制3.2创建和删除类3.3创建设备3.4参考示例4设置文件私有数据5实验程序编写5.1LED灯驱动程序编写5.2编写测试APP6.运行测试6.1
kaka的卡
·
2023-04-11 01:50
linux驱动开发
驱动开发
linux
最全
Linux驱动开发
全流程详细解析(持续更新)
Linux驱动开发
详细解析一、驱动概念驱动与底层硬件直接打交道,充当了硬件与应用软件中间的桥梁。
songwei4615
·
2023-04-08 05:23
嵌入式技术文章
驱动开发
linux
linux内核的VFS文件系统的理解
进入
linux驱动开发
这行已经一年多了,大多时候在调试各种不同的字符驱动,文件系统虽然一直在用,也一直都知道最经典的那句“linux中一切皆文件”,但是至今却始终雾里看花…。
小果壳
·
2023-04-07 15:20
linux
驱动开发
运维
ARM(IMX6U)嵌入式软件裸机开发之环境搭建与配置
Linux驱动开发
最终也是操作的寄存器,
无限嚣张(菜菜)
·
2023-04-05 23:19
嵌入式软件之裸机开发
单片机
嵌入式硬件
嵌入式软件开发
MX6ULL
环境配置
linux驱动开发
学习笔记十四:pinctrl子系统介绍
一、前言之前已经介绍过关于设备树的一些基本概念,相信对设备数已经有了一些了解。我们知道在驱动开发过程中设备树是非常重要的,但是在使用pinctrl和gpio子系统之前,其实我们写驱动的方式,就拿点亮一个led来说,还是和裸机开发非常类似。因为我们仍然相当于直接操作的寄存器,和不使用设备树相比无疑只是将寄存器的地址写到了节点属性里,然后我们去读取而已。其实对于大多数的32位SOC而言,引脚的设置基本
耐心的小黑
·
2023-04-05 23:16
#
Linux驱动开发学习笔记
linux
Linux驱动开发
基础__mmap
目录1引入2内存映射现象与数据结构3ARM架构内存映射简介3.1一级页表映射过程3.2二级页表映射过程4怎么给APP新建一块内存映射4.1mmap调用过程编辑4.2cache和buffer4.3驱动程序要做的事5编程5.1app编程5.2hello_drv_test.c5.3驱动编程5.3.1分配一块8K的内存5.3.2提供mmap函数5.4hello_drv.c1引入应用程序和驱动程序之间传递数
陈 洪 伟
·
2023-04-04 20:19
#
Linux驱动--驱动开发基础
驱动开发
(零)
Linux驱动开发
学习
(零)
Linux驱动开发
学习一、系列简介该系列文章记录了我学习
Linux驱动开发
的过程。
达芬奇放假回家
·
2023-04-04 19:11
Linux驱动
驱动开发
linux
学习
1、
Linux驱动开发
笔记(一)--Linux驱动分类及字符设备开发流程
Linux驱动开发
笔记1、Linux下驱动的分类1.1、Linux下驱动主要分为三类,如下:其中字符设备是Linux下驱动中最基本的一类设备驱动;1.2、Linux应用程序对驱动程序的调用流程在Linux
Kevin的学习站
·
2023-04-04 19:50
嵌入式学习笔记
#
Linux驱动开发
单片机
驱动开发
linux
linux驱动开发
学习笔记一:关于linux内核的一些基本概念
一、什么是linux内核?Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,自身是不能工作的。完成这
耐心的小黑
·
2023-04-04 19:47
#
Linux驱动开发学习笔记
linux
操作系统
内核
linux驱动学习(一)
Linux驱动开发
起步
linux驱动开发
思想:
Linux驱动开发
分类
linux驱动开发
思想:首先明确Linux驱动表现得形式就是文件/dev/xxx文件,是对文件的打开,关闭,读写等,然后现在的内核支持设备树
冰茶丿
·
2023-04-04 19:16
linux
linux
学习
驱动开发
【嵌入式Linux】嵌入式
Linux驱动开发
基础知识之设备树模型
文章目录前言1、设备树的作用2、设备树的语法2.1、设备树的逻辑图和dts文件、dtb文件2.1.1、1Devicetree格式1DTS文件的格式node的格式properties的格式2.1.2、dts文件包含dtsi文件2.1.3、常用的属性2.1.4、常用的节点(node)2.2、编译、更换设备树2.2.1、在内核中直接make2.2.2、手工编译/反编译2.2.3、更换设备树文件dtb2.
Joseph Cooper
·
2023-04-04 16:55
#
嵌入式Linux
linux
驱动开发
STM32MP157
总线设备驱动模型
设备树
一、
linux驱动开发
-8.1-platform设备驱动
一、驱动的分离与分层1.1、驱动的分隔与分离通过驱动的分隔,也就是将主机驱动和设备驱动分隔开来,通过总线就行匹配,当我们向系统注册一个驱动的时候,总线就会在右侧的设备中查找,看看有没有与之匹配的设备,如果有的话就将两者联系起来。同样的,当向系统中注册一个设备的时候,总线就会在左侧的驱动中查找看有没有与之匹配的设备,有的话也联系起来。1.2、驱动的分层驱动分层类似网络的7层模型,不同的层负责不同的内
rrring
·
2023-04-04 10:11
linux驱动
嵌入式
linux
【正点原子Linux连载】第五十五章 设备树下的platform驱动编写 -摘自【正点原子】I.MX6U嵌入式
Linux驱动开发
指南V1.0
1)实验平台:正点原子阿尔法Linux开发板2)平台购买地址:https://item.taobao.com/item.htm?id=6036727444342)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-300792-1-1.html3)对正点原子Linux感兴趣的同学可以加群讨论:9354467414)关注正点原子公众号,获取最新资料更新第五十
正点原子
·
2023-04-03 23:24
LINUX
linux
stm32
物联网
【正点原子MP157连载】第三十四章 platform设备驱动实验-摘自【正点原子】STM32MP1嵌入式
Linux驱动开发
指南V1.7
1)实验平台:正点原子STM32MP157开发板2)购买链接:https://item.taobao.com/item.htm?&id=6292707218013)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-318813-1-1.html4)正点原子官方B站:https://space.bilibili.com/3946208905)正点原子STM
正点原子
·
2023-04-03 23:24
LINUX
驱动开发
linux
stm32
【正点原子MP157连载】第三十五章 设备树下的platform驱动编写-摘自【正点原子】STM32MP1嵌入式
Linux驱动开发
指南V1.7
1)实验平台:正点原子STM32MP157开发板2)购买链接:https://item.taobao.com/item.htm?&id=6292707218013)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-318813-1-1.html4)正点原子官方B站:https://space.bilibili.com/3946208905)正点原子STM
正点原子
·
2023-04-03 23:24
LINUX
驱动开发
linux
stm32
嵌入式
Linux驱动开发
(七)并发与竞争
1.linux并发与竞争概念并发产生原因:①多线程并发访问。②抢占式并发访问。③中断程序并发访问。④SMP(多核)核间并发访问。存在于多核CPU之间。**竞争:**多个线程同时操作临界区。2.linux内核提供的处理方法2.1原子操作Linux内核使用atomic_t结构体完成整形数据的原子操作。用原子变量替代整形变量。原子操作只能对整型变量或位进行共享资源保护。typedefstruct{int
qq_41075961
·
2023-04-03 22:56
驱动开发
linux
运维
嵌入式
Linux驱动开发
(五)设备树下的LED驱动开发
1.设备树LED驱动原理旧方法:在驱动文件中定义有关寄存器物理地址并使用ioremap进行内存映射,对得到的虚拟地址进行操作。新方法:通过OF函数获取设备树中的属性值,然后传递给内核初始化相关IO。2.步骤1)修改设备树文件: 在根节点下面创建如下子节点:alphaled{/*address和size是约束子节点的,没有子节点其实可以不写*/#address-cells=;#size-cells
qq_41075961
·
2023-04-03 22:26
嵌入式
驱动开发
linux
运维
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他