Linux驱动
文章平均质量分 82
Linux驱动
Wireless_Link
有丰富的蓝牙车载经验,曾给HAVAL H6,F7,江淮,北汽,丰田,大众,江铃等众多车型做过蓝牙车载方案,对传统蓝牙,低功耗蓝牙都有深入的研究。
展开
-
Linux内核并发与竞争-互斥量
在 FreeRTOS 和 UCOS 中也有互斥体,将信号量的值设置为 1 就可以使用信号量进行互斥访问了,虽然可以通过信号量实现互斥,但是 Linux 提供了一个比信号量更专业的机制来进行互斥,它就是互斥体—mutex。在我们编写 Linux 驱动的时候遇到需要互斥访问的地方建议使用 mutex。③、因为一次只有一个线程可以持有 mutex,因此,必须由 mutex 的持有者释放 mutex。①、 mutex 可以导致休眠,因此不能在中断中使用 mutex,中断中只能使用自旋锁。原创 2023-03-04 10:50:00 · 589 阅读 · 0 评论 -
Linux内核并发与竞争-原子操作
Linux 内核定义了叫做 atomic_t 的结构体来完成整形数据的原子操作,在使用中用原子变量来代替整形变量,此结构体定义在 include/linux/types.h 文件中,定义如下:} atomic_t;原创 2023-02-11 14:46:02 · 2809 阅读 · 0 评论 -
imx6ull Linux使用设备树配置LED
其实到了这一步虽然不需要配对寄存器地址,但是代码还在编写寄存器代码,也就是说换了一个GPIO还是要修改代码,是的!!!别急,后续我们看了GPIO子系统以及pinctl子系统后相信会有答案!!!原创 2023-01-27 17:45:34 · 1803 阅读 · 0 评论 -
Linux设备树的概念
DTS 文件的主要功能就是按照图所示的结构来描述板子上的设备信息, DTS 文件描述设备信息是有相应的语法规则要求的,稍后我们会详细的讲解 DTS 语法规则。根节点下也有compatible属性,用来选择哪一个“machine desc”:一个内核可以支持machine A,也支持machine B,内核启动后会根据根节点的compatible属性找到对应的machine desc结构体,执行其中的初始化函数。一个单板启动时,u-boot先运行,它的作用是启动内核。但是在设备树里,它可以用来描述一段空间。原创 2023-01-19 14:30:45 · 6656 阅读 · 4 评论 -
一灯大师,基于imx6ull点亮LED灯
主要介绍基于Linux字符设备驱动框架来实现在imx6ull点亮LED灯原创 2023-01-14 13:39:40 · 2811 阅读 · 0 评论 -
基于imx6ull第一个Linux驱动
主要介绍基于imx6ull第一个最简单的驱动原创 2023-01-07 15:57:49 · 1684 阅读 · 0 评论 -
基于imx6ull配置开发环境
主要介绍imx6ull 的环境配置原创 2023-01-07 15:15:38 · 1581 阅读 · 0 评论 -
imx6ull Linux sdk下载验证
本文章是基于整点原子的imx6ull alpha开发板。搭建开发环境原创 2023-01-07 14:34:12 · 1209 阅读 · 0 评论 -
Linux驱动入门-最简单字符设备驱动(基于pc ubuntu)
字符设备是 Linux 驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、 IIC、 SPI,LCD 等等都是字符设备,这些设备的驱动就叫做字符设备驱动。原创 2022-12-31 15:07:48 · 3688 阅读 · 1 评论 -
ROM,RAM精讲
ROM(Read Only Memory)和RAM(Random Access Memory)指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持数据,而RAM通常是在掉电之后就丢失数据,典型的RAM就是计算机的内存。ROM有很多种,PROM是可编程的ROM,它和EPROM(可擦除可编程ROM)的区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这是早期的产品,现在已经不再使用,...转载 2018-05-04 14:32:36 · 1095 阅读 · 1 评论 -
Linux平台总线驱动设备模型
platform总线是一种虚拟的总线,相应的设备则为platform_device,而驱动则为platform_driver。Linux 2.6的设备驱动模型中,把I2C、RTC、LCD等都归纳为platform_device。总线将设备和驱动绑定,在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。Linux2.6系统中定转载 2017-12-12 15:59:29 · 626 阅读 · 0 评论 -
linux字符驱动之异步通知按键驱动
在上一节里,我们在中断的基础上添加poll机制来实现有数据的时候就去读,没数据的时候,自己规定一个时间,如果还没有数据,就表示超时时间。在此以前,我们都是让应用程序主动去读,那有没有一种情况,当驱动程序有数据时,主动去告诉应用程序,告诉它,有数据了,你赶紧来读吧。答案当然是有的,这种情况在linux里的专业术语就叫异步通知。上一节文章链接:http://blog.csdn.net/xiaoxiao转载 2017-12-12 13:56:52 · 562 阅读 · 0 评论 -
linux字符驱动之poll机制按键驱动
在上一节中,我们讲解了如何自动创建设备节点,实现一个中断方式的按键驱动。虽然中断式的驱动,效率是蛮高的,但是大家有没有发现,应用程序的死循环里的读函数是一直在读的;在实际的应用场所里,有没有那么一种情况,偶尔有数据、偶尔没有数据,答案当然是有的。我们理想当然的就会想到,当有数据的时候,我们才去读它,没数据的时候我们读它干啥?岂不浪费劳动力? 上一节文章链接:http://blog.csdn.net转载 2017-12-12 13:42:53 · 587 阅读 · 0 评论 -
linux字符驱动之中断按键
在上一节中,我们讲解了如何自动创建设备节点,实现一个查询方式的按键驱动。测试的时候,大家都看到了,使用查询式的方法,占用CPU的利用率高达99%,那么有没有好的办法来取代这惨不忍睹的方法呢?答案当然是有的。上一节文章链接:http://blog.csdn.net/xiaoxiaopengbo/article/details/78779974这一节里,我们使用中断的方法来实现按键驱动。问:内核的中断转载 2017-12-12 11:18:42 · 641 阅读 · 0 评论 -
linux字符驱动之查询按键
在上一节中,我们讲解了如何自动创建设备节点,并用“最笨”的方法实现点亮LED。上一节文章链接:http://blog.csdn.net/xiaoxiaopengbo/article/details/78779897这一节里,我们基于上一节的基础上,稍微改动一下,来实现一个查询方式的按键驱动。问:既然是基于上一节的基础,只是稍微改动,改动了哪些?答:框架是不变的,还是字符设备框架,硬件操作有稍微变动转载 2017-12-12 10:58:05 · 625 阅读 · 0 评论 -
linux字符驱动之点亮LED
上一节中,我们讲解了如何自动创建设备节点,这一节我们在上一节的基础上,实现点亮LED。上一节文章链接:http://blog.csdn.net/lwj103862095/article/details/17470573驱动里面能够用很多种方法实现LED驱动,其中有本节的字符驱动(最笨的方法)、混杂设备驱动、使用内核GPIO函数接口、使用通用的平台设备驱动的方法等。但是,不要因为本节是最笨的方法,就转载 2017-12-12 10:52:42 · 701 阅读 · 0 评论 -
linux字符驱动之自动创建设备节点
上一节中,我们是手工创建设备节点,大家肯定也会觉得这样做太麻烦了。上一节文章链接:http://blog.csdn.net/xiaoxiaopengbo/article/details/78779613问:能不能让系统自动创建设备节点?答:可以,linux有udev、mdev的机制,而我们的ARM开发板上移植的busybox有mdev机制,那么就使用mdev机制来自动创建设备节点。问:文件系统里,转载 2017-12-12 10:47:44 · 745 阅读 · 0 评论 -
linux字符驱动之初见
学习驱动也有长达一年多的时间了,受益最深的就是看韦东山老师的视频,如今已经几乎将二期三期的视频全部看完,甚至已经将二期视频看过好几遍,为了再次加深印象,我将韦老师的源码自己全部编写一遍。将所有遇到的问题,记录在此。觉得看了韦老师的视频,再看其他视频都是弱爆了。由于是文章记录,不可能写的非常详细,只摘录关键点,想具体详细的深入,还请去看韦老大的视频吧。这篇文章是主要是讲解字符驱动的框架,并没有涉及高原创 2017-12-12 10:32:23 · 669 阅读 · 1 评论 -
linux第一个驱动之helloworld
第一个驱动——helloworld运行环境:JZ2440开发板,内核版本Linux (none) 2.6.22.6 #2 Sat Dec 2 18:58:18 CST 2017 armv4tl unknown开发环境:ubuntu 1204 虚拟机,在虚拟机gedit编辑实验环境前提条件:拥有一个制作好的NFS文件系统/**********************************hello原创 2017-12-12 09:54:35 · 763 阅读 · 0 评论