- 博客(25)
- 资源 (4)
- 收藏
- 关注
原创 (6.3)USB驱动程序框架
/* AUTHOR: Pinus* Creat on : 2018-11-5* KERNEL : linux-4.4.145* REFS : Linux USB驱动学习总结(二)---- USB设备驱动 chenliang0224的专栏 hub_thread usb hub驱动 ...
2018-11-07 21:54:04
1369
原创 (6.2)USB前置概念
/* AUTHOR: Pinus* Creat on : 2018-11-4* KERNEL : linux-4.4.145* REFS : Linux USB驱动学习总结(二)---- USB设备驱动*/概述现象:把USB设备接到PC1. 右下角弹出"发现android phone"2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",...
2018-11-07 21:34:04
472
原创 (6.1)各种USB接口简介
/* AUTHOR: Pinus* Creat on : 2018-11-3* REFS : Type-C与Type-A、Type-B接口 Linux USB驱动学习总结(一)---- USB基本概念及驱动架构*/USB概念介绍USB,Universal Serial Bus(通用串行总线),是一个外部总线标准,用于规范电脑与外部设备的连接和通...
2018-11-07 21:15:49
36687
原创 (5)豪华套件触摸屏
/* AUTHOR: Pinus* Creat on : 2018-11-1* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期 18.Llinux-触摸屏驱动(详解)*/概念这篇和 LCD采用相同方式记录,着重讲概念,希望大家在了解基础概念的基...
2018-11-02 20:52:37
280
原创 (4)高大上的LCD
/* AUTHOR: Pinus* Creat on : 2018-11-1* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期S3C2440上LCD驱动(FrameBuffer)实例开发讲解*/概述 不要说我这取得名字low,我感觉吧,一个东西它能显示出来图...
2018-11-01 21:44:31
306
原创 (3.8)一个按键所能涉及的:内核按键标准驱动gpio-keys
/* AUTHOR: Pinus* Creat on : 2018-10-30* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 内核 gpio-keys.c Linux驱动子系统之输入子系统(6)-gpio-keys 47 使用linux内核源码里...
2018-10-30 21:21:56
2142
原创 (3.7)一个按键所能涉及的:设备驱动分层分离的概念
/* AUTHOR: Pinus* Creat on : 2018-10-29* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期 Linux设备驱动模型之platform(平台)总线详解 详解Linux2.6内核中基于pla...
2018-10-29 20:08:55
484
原创 (3.6)一个按键所能涉及的:输入子系统
/* AUTHOR: Pinus* Creat on : 2018-10-28* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期 linux驱动子系统之输入子系统(1) 我对linux驱动 输入子系统的理解 ...
2018-10-28 17:25:40
339
原创 (3.5)一个按键所能涉及的:定时器防抖动
/* AUTHOR: Pinus* Creat on : 2018-10-25* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期 通过定时器完成防抖动的总结*/概述 除颤吗。。。能看的应该都懂为什么,单片机上不也是常用什么dela...
2018-10-26 17:10:22
909
原创 (3.4)一个按键所能涉及的:同步互斥阻塞
/* AUTHOR: Pinus* Creat on : 2018-10-25* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期同步、异步、互斥、信号量、阻塞、非阻塞socket阻塞与非阻塞,同步与异步、I/O模型字符设备驱动同步之互斥阻塞*/概述(1)临界资源...
2018-10-25 21:41:20
239
原创 (3.3)一个按键所能涉及的:异步通知机制
/* AUTHOR: Pinus* Creat on : 2018-10-24* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期 linux异步通知机制 与 fcntl 函数使用详解 Linux驱动技术(四) _异步通知技术...
2018-10-24 21:57:57
423
原创 (3.2)一个按键所能涉及的:poll机制
/* AUTHOR: Pinus* Creat on : 2018-10-11* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期*/概述 啥子事poll机制呢?直白来说,当你在应用程序中使用poll,程序就会在给定时间内进入沉睡状态等待某项资源,只回在两种情...
2018-10-23 20:02:09
830
原创 (3.1)一个按键所能涉及的:按键中断
/* AUTHOR: Pinus* Creat on : 2018-10-11* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期*/概述 作为本系列的第三节第一部分,我们以实现一个按键中断讲述字符设备驱动中经常会涉及的种种,首先先介绍外部中断的实现; ...
2018-10-22 19:46:57
1992
原创 (2.3)file_operation 实现具体操作:思考二
【思考二;内核怎样创建设备,主设备号具体应用是什么呢?】major = register_chrdev(0, "leds_dev", &jz2440_leds_fops); //注册设备 告诉内核> 第一个参数是主设备号,0代表动态分配。第二个参数是设备的名字,第三个参数是文件操作指针。__register_chrdev(0, 0, 256, "leds_dev", &...
2018-10-21 10:52:23
366
原创 (2.4)file_operation 实现具体操作:思考三四
【思考三:为什么要创建类呢?】概念: 在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点,当然前提条件是用户空间移植了udev。 内核中定义了struct class结构体,顾名思义,一个str...
2018-10-21 10:32:32
301
原创 (2.2)file_operation 实现具体操作:思考一
【思考一:内核是如何将app里的操作函数和驱动里的操作函数联系上的呢?】 参考: Linux 内核sys_open文件系统与设备操作流程分析 走马观花:Linux 系统调用 open 七日游 一般用户在应用程序里调用的 open, read, write 函数是 c 库的函数,这些函数会触发 swi val异常,从而引发系统调用,进入到内核空间,内核...
2018-10-21 10:22:52
560
原创 (2.1)file_operation 实现设具体操作:概述与实现
/* AUTHOR: Pinus* Creat on : 2018-10-11* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期《LINUX内核源码情景分析》*/概述 Unix类系统将设备也看作是文件,通过操作文件的方式操作硬件。而操作文件的方式无非就是ope...
2018-10-21 10:08:59
1513
原创 (1) 设备驱动的最基本框架
/* AUTHOR: Pinus* Creat on : 2018-10-11* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期《LINUX内核源码情景分析》*/设备驱动概述 计算机最基本的三个物质基础就是CPU、内存以及设备,设备驱动顾名思义,就是用来操作设...
2018-10-21 09:40:02
536
原创 设备驱动总结序言
不久前算是将韦东山第二期视频教程看完了,其中大多数的实验都做过,但其中由于Linux内核版本原因,韦老师教学用的是2.6,我下载的学习用的是4.4,当初年少轻狂啊。。。显然,内核中已经有很多东西发生了变化,学习时也难免囫囵吞枣。再加上本人记忆曲线下降的很快所以,想着在继续学习第三期视频进行项目实践之前,先把第二期涉及到的种种进行总结,力求知其然也知其所以然。巩固知识,造福来人。学习过程...
2018-10-21 09:35:34
174
原创 用PWM控制舵机(以是stm32为例)
因为做校创需要用到舵机,以前知道大致的理论,因此看了一些帖子,总结一下被以后查看。什么是PWM波PWM就是脉冲宽度调制,也就是占空比可变的脉冲波形.pwm的占空比,就是指高电平保持的时间,与该pwm时钟周期时间之比。在应用中就是通过调节pwm占空比来控制,也就是一个周期中高电平所占的百分比来控制舵机的转角的。 舵机的控制原理 控制舵机所用pwm占空...
2018-10-11 19:44:46
36585
6
转载 ROM、SDRAM、RAM、DRAM、SRAM、FLASH 的区别
原文:ROM、SDRAM、RAM、DRAM、SRAM、FLASH 的区别ROM 和 RAM 指的都是半导体存储器,ROM 是 Read Only Memory 的缩写,RAM是 Random Access Memory的缩写。ROM 在系统体质供电的时候仍然可以保存数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM 有两大类,一种称为静态 RAM (Stati...
2018-04-18 14:55:23
486
原创 树莓派常见问题汇总(总结)
1.把树莓派容量扩展至最大https://blog.youkuaiyun.com/guanmaoning/article/details/787602462.打开树莓派3自带的wifi模块https://jingyan.baidu.com/article/ab69b2709b090a2ca7189f9b.html3.更改软件源sudo nano /etc/apt/sources.list#注释掉原来的...
2018-03-29 21:07:11
4004
原创 python-opencv的安装方法及有可能的错误汇总(raspi)
方法1:sudo pip install opencv-python测试:python -c "import cv2"有可能的错误:pip找不到包解决:更新pipsudo pip install --upgrade pipsudo pip install wheel 更新后可能出现pip错误无法使用,卸载pip重新安装sudo apt-get remove pipsudo apt-ge...
2018-03-26 17:24:12
687
原创 树莓派python入门(1):树莓派系统安装与初次连接
序:这一系列用于记录自己学习python和树莓派的历程,自我总结,也是帮助后来人少走弯路。前期准备:硬件:树莓派3代b型,16Gsd卡,读卡器路由器,网线,电脑 ?_?。软件: SD Card Formatter.exe(sd卡格式化工具); Win32DiskImager(镜像文件烧写工具); MobaXterm(免费的ssh和ftp连接工具,神器)。 (软件百度搜一下就有)一:系统下
2017-12-02 20:16:31
4472
1
原创 从零开始:在树莓派上构建tensorflow——详细至极
==前言==:本人现在也是一头雾水,忙活了一天终于把环境装好了,闲来无事,突发奇想,总结一下经验,让后人少走弯路 T-T详细介绍了在树莓派3b上搭建tensorflow的过程
2017-11-26 21:38:07
29064
5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人