
linux设备驱动
文章平均质量分 84
lilifang_2011
这个作者很懒,什么都没留下…
展开
-
ubuntu 设置静态路由_ubuntu配置静态路由及重启生效-阿里云开发者社区
route ip转载 2022-12-20 10:55:46 · 4632 阅读 · 0 评论 -
select、poll、epoll之间的区别总结[整理] + 知乎大神解答
http://www.cnblogs.com/Anker/p/3265058.htmlselect,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间。关于这三种I.转载 2021-04-28 14:48:10 · 307 阅读 · 0 评论 -
有关EMMC、Nandflash、SSD、HDD的科普类说明
带着疑问,查了一些资料,梳理了一下思路。目前的主要配置:手机存储用eMMC,笔记本电脑用SSD,台式机SSD与HDD组合使用=======================================第一部分:文章出处:https://www.cnblogs.com/Christal-R/p/7230304.html============================================全面理解SSD和NAND Flash Flash Memory又叫做闪存,是一种非易失原创 2021-02-08 10:41:45 · 3765 阅读 · 0 评论 -
Linux C 串口属性设置
1.属性描述串口属于终端设备,其接口属性用termios结构描述,如程序清单13.9所示。程序清单13.9termios结构structtermios{tcflag_tc_cflag/*控制标志*/tcflag_tc_iflag;/*输入标志*/tcflag_tc_oflag;/*输出标志*/tcflag_tc_lflag;/*本地标志*/tcflag_tc_cc[NCCS];/*控制字符*/};粗略而言,控制标志影响到RS-232...转载 2021-01-27 17:50:20 · 1259 阅读 · 0 评论 -
Linux串口编程_termios
1.1Linux串口编程主要是设置structtermios结构体的个成员值。Termios是在POSIX规范中定义的标准接口,表示终端设备(包括虚拟终端丶串口等),串口是一种终端设备,一般通过终端编程接口对其进行配置和控制。串口的配置最重要的是以下结构体定义中标明红色的条目,配置方法如下: 某几位清0:struct_name.flag&= ~(MASK1 | MASK 2….) 某几位置1:struc_name.flag|= (MASK1 | MASK2…)1.2例如...转载 2021-01-27 17:48:52 · 857 阅读 · 0 评论 -
Linux基础.交叉编译工具链,makefile
一. 交叉工具链大纲1. 什么是交叉工具链?什么是交叉编译?2. 安装交叉工具链方法,结合环境变量PATH,工具链选项3. Makefile使用,Makefile书写规则4. 嵌入式静态库/动态库制作,库是如何使用?二. 什么是交叉工具链?什么是交叉编译?回顾编译过程 编译 高级语言(xxxx.c) ------> 目标程序(xxxx)编译器:GCC编译过程: 预处理,编译,汇编,链接gec@ubuntu:~$ which gcc --> gcc编译器本身也是一个li转载 2021-01-27 17:46:42 · 2321 阅读 · 0 评论 -
奇小葩讲设备树(5/5)-- Linux设备树详解(五)设备树的使用
对于任何的知识来说,了解了理论的知识,知道了设备树怎么解析用以代替传统的范式之后,我们需要知道怎么使用设备树。对于使用我们分两部分,一部分是它有哪些接口,能做些什么,至于怎么编写dts文件本章不讨论。主要包括两部分:对于设备树,编译和设备启动后,怎么来查看设备树的信息,怎么用来debug 设备树的操作函数提供了哪些接口,基本的方法有哪些1. 文件系统下的设备树一部分是出现问题后,怎么用来debug,对于内核来说一切皆是文件的思想,设备树与文件系统的关系,在Linux系统起来后,会将解析完成转载 2021-01-25 10:56:12 · 336 阅读 · 0 评论 -
奇小葩讲设备树(4/5)-- Linux设备树详解(四)kernel的解析
uboot将一些参数,设备树文件传给内核,那么内核如何处理这些设备树文件呢?本章就kernel解析设备树的过程和原理,本章的主要内容以Device Tree相关的数据流分析为索引,对ARM linux kernel的代码进行解析。主要的数据流包括:设备树对于内核的意义 从u-boot传递dtb开始,kernel初始化流程,如何将dtb并将其转换成Device Tree Structure 传递运行时参数传递以及platform的识别流程分析 如何将Device Tree Structure并入l转载 2021-01-25 10:54:48 · 226 阅读 · 0 评论 -
奇小葩讲设备树(3/5)-- Linux设备树详解(三)u-boot设备树的传递
前面两节介绍了设备的基本概念、编译、结构的组成,本章讨论的主要内容为dtb如何通过Bootloader引导程序加载到内核 bootloader如何解析dbt bootloader支持哪些dtb的操作1. 传递dtb给内核对于传统bootloader提供两种工作模式:一是启动加载模式(start loading),一是下载模式(downloading)工作在启动加载模式时,bootloader会自动执行bootcmd命令,比如:bootcmd=“nand read 0x100000 0转载 2021-01-25 10:52:40 · 465 阅读 · 1 评论 -
奇小葩讲设备树(2/5)-- Linux设备树详解(二)文件构成
设备树就是描述单板资源以及设备的一种文本文件。至于出现的原因,基本的语法和使用方法,上一章节做了基本的介绍。本篇文章主要是更深层次的探讨设备文件的构成。1. devie tree的编译Device Tree文件的格式为dts,包含的头文件格式为dtsi,dts文件是一种人可以看懂的编码格式。但是uboot和linux不能直接识别,他们只能识别二进制文件,所以需要把dts文件编译成dtb文件。dtb文件是一种可以被kernel和uboot识别的二进制文件。把dts编译成dtb文件的工具是dtc。Lin转载 2021-01-25 10:51:01 · 182 阅读 · 0 评论 -
奇小葩讲设备树(1/5)-- Linux设备树详解(一) 基础知识
关于设备树,之前就经过详细的系统培训,但是本着会用就行的原则,对各个知识点都没有进行系统的总结。都是用到哪里学哪里,时间长了,基本也忘记了。所以对于后期知识各个知识点进行总结,本章主要讨论一下内容,能看懂和修改对应模块的dts文件。dts的引入 dts的基本语法和基本格式介绍 dts的组成,各个模块使用方法1. dts为何物在传统Linux内核中,ARM架构的板极硬件细节过多地被硬编码在arch/arm/plat-xxx和arch/arm/mach-xxx,比如板上的platform设备转载 2021-01-25 10:49:31 · 280 阅读 · 0 评论 -
linux内核设备树及编译--完整清晰
1、设备树的概念 在内核源码中,存在大量对板级细节信息描述的代码。这些代码充斥在/arch/arm/plat-xxx和/arch/arm/mach-xxx目录,对内核而言这些platform设备、resource、i2c_board_info、spi_board_info以及各种硬件的platform_data绝大多数纯属垃圾冗余代码。为了解决这一问题,ARM内核版本3.x之后引入了原先在PowerPC等其他体系架构已经使用的FlattenedDeviceTree。 ...转载 2021-01-25 10:43:32 · 5526 阅读 · 0 评论 -
设备树之编译和烧写
0.本文中所有文件都来源于讯为itop4412视频教程编译环境 1.1 Ubuntu12.04.2 (讯为提供),基于itop4412_scp_elite开发板 1.2 安装设备树编译器:apt-get install device-tree-compiler 1.3 uboot及内核的源码和编译器 源码文件 itop4412_kernel_4_14_2_bsp-20190225.tar.gz 编译器gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.ta转载 2021-01-25 10:21:27 · 776 阅读 · 0 评论 -
Ubuntu18.04下安装NFS详细步骤
1.安装NFS服务:服务器端:sudo apt install nfs-kernel-server服务器端:sudo apt install portmap(如果安装上一个,可以不用执行此操作)客户端:sudo apt install nfs-common2.修改NFS配置文件 1)配置portmapsudo vim /etc/default/portmap-i 127.0.0.1 2)配 置/etc/hosts.allow$ sudo...转载 2021-01-22 17:00:54 · 834 阅读 · 0 评论 -
【Device Tree】设备树(一)——GPIO
以RK3328为例,介绍设备树在GPIO方面的应用。引脚图如下一、首先在DTS文件中增加GPIO资源描述:gpio_demo: gpio_demo { status = "okay"; compatible = "rk3328,gpio_demo"; firefly-gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>; /* GPIO0_B4 */转载 2021-01-20 17:33:52 · 3887 阅读 · 0 评论 -
Android 指纹调试流程(高通、MTK均适用)
前言:指纹调试我们只需要关注kernel、hal、ta就可以将其点亮,高通使用自己的tee环境,MTK则需要使用第三方tee OS,三方tee的集成调试一般会有厂家配合,主要是调试spi ta,在此就不做阐述了,下面重点介绍指纹bring up。一、驱动调试驱动调试分为两个方面,dts中配置上电、reset、irq、pinctrl和移植driver代码调试驱动节点。1.dts配置一般高通和MTK平台代码中都会有默认集成的一家指纹,只需要copy过来改下gpio,如果有用到pinctrl,也要转载 2021-01-19 16:13:37 · 4547 阅读 · 0 评论 -
MSM8998(高通835处理器)外接指纹识别传感器linux驱动如何与设备树进行匹配
驱动名称:fpc1020.c平台:msm8998描述指纹传感器设备的结构: struct fpc1020_data { struct device *dev; struct wake_lock ttw_wl; int irq_gpio; int rst_gpio; //复位gpio号 int irq_num; //中断号 struct mutex lock; bool prepared; ...转载 2021-01-19 16:12:19 · 832 阅读 · 0 评论 -
CAN总线在嵌入式Linux下驱动程序的实现
引文出处:https://www.cnblogs.com/general001/articles/2342728.html 1引言 基于嵌入式系统设计的工业控制装置,在工业控制现场受到各种干扰,如电磁、粉尘、天气等对系统的正常运行造成很大的影响。在工业控制现场各个设备之间要经常交换、传输数据,需要一种抗干扰性强、稳定、传输速率快的现场总线进行通信。文章采用CAN总线,基于嵌入式系统32位的S3C44B0X微处理器,通过其SPI接口,MCP2510CAN控制器扩展CAN总线;将嵌入式操作系统嵌入到.转载 2020-12-14 14:59:15 · 448 阅读 · 0 评论