随笔分类 -  Linux

摘要:USB2.0规范中传输速度是480 Mbps(即60 MB/s)。但是很多USB2.0设备在实际工作时的数据传输速度却与此相差甚远,比如用PC用U盘拷个东西,往往比60MB/s慢很多,这是为什么呢? 其实想想也能知道一些原因,USB总线中传输数据的就一对差分线,单是其要同时支持各种设备(一个USB 阅读全文
posted @ 2021-04-11 10:52 Aaron看世界 阅读(1749) 评论(0) 推荐(0)
摘要:USB:Universal Serial Bus,意为通用串行总线。 由来:USB最初是为了替代许多不同的低速总线(包括并行、串行和键盘连接)而设计的,它以单一类型的总线连接各种不同的类型 的设备。 发展:USB的发展已经超越了这些低速的连接方式,它现在可以支持几乎所有可以连接到PC上的设备。 US 阅读全文
posted @ 2021-02-16 10:49 Aaron看世界 阅读(1192) 评论(0) 推荐(1)
摘要:内部寄存器 一.应用层读写内部寄存器 步骤1:打开linux系统dev目录下的/dev/mem文件; dev_fd = open("/dev/mem", O_RDWR|O_SYNC); 步骤2:将寄存器地址映射到用户空间; unsigned char *map_base=(unsigned char 阅读全文
posted @ 2021-01-23 19:23 Aaron看世界 阅读(6697) 评论(0) 推荐(1)
摘要:USB鼠标设备驱动程序简单实现(一) 一、Linux下的USB驱动程序 分离和分层是Linux下驱动程序开发采用的最基本的形式,USB驱动开发在主机端主要涉及两个部分:主机控制器驱动和设备驱动。 主机控制器驱动主要是和具体的Soc相关的,它来识别USB设备,安装对应的设备驱动程序,提供对USB设备的 阅读全文
posted @ 2021-01-23 10:37 Aaron看世界 阅读(412) 评论(0) 推荐(0)
摘要:参考: https://blog.csdn.net/zengshitang520/article/details/50685758?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-1.control&depth_1-u 阅读全文
posted @ 2021-01-17 17:20 Aaron看世界 阅读(484) 评论(0) 推荐(0)
摘要:USB概念释义及相关机制 1.热插拔(hot-plugging或Hot Swap): 即带电插拔。 热插拔功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件,从而提高了系统对灾难的及时恢复能力、扩展性和灵活性等。 例如一些面向高端应用的磁盘镜像系统都可以提供磁盘的 阅读全文
posted @ 2020-12-27 10:40 Aaron看世界 阅读(2305) 评论(0) 推荐(0)
摘要:开局一张图 (以下是个人理解,如有不足之处,非常欢迎讨论及指正) Linux系统USB驱动主要包括主、从两大类驱动。 由上图可看出,左边部分是作为USB主驱动的框架,右边部分是作为USB从设备的驱动框架,中间可由OTG驱动互相转换。 USB主驱动的框架 先看左边部分,USB主驱动框架包括:USB设备 阅读全文
posted @ 2020-08-19 20:12 Aaron看世界 阅读(1452) 评论(0) 推荐(1)
摘要:背景:在嵌入式环境下使用LCD液晶屏时,我们往往发现在启动时,LCD液晶屏会短暂的出现命令行界面; 又或者在运行应用程序主界面时,使用键盘按键,会进入到命令行界面。这给用户使用和体验都不是很友好。 在调试研发阶段,可以保留该功能;但是在生产出厂阶段,还是去掉此功能比较好,毕竟调试的方法有很多种,比如 阅读全文
posted @ 2020-08-06 22:25 Aaron看世界 阅读(1341) 评论(0) 推荐(0)
摘要:离线安装背景或原因:你的开发或使用环境不允许联网(这样的办公环境不多了,联网的话使用sudo apt-get install xxx即可) 前期准备:由于GCC、G++、Make等工具依赖项众多,我们需要提前先把基础依赖库下载并安装,才能安装以上工具。 工具安装包或基础依赖库下载参加以下Ubuntu 阅读全文
posted @ 2020-08-05 20:10 Aaron看世界 阅读(14774) 评论(0) 推荐(0)
摘要:ubuntu设备驱动是由装载模块的方式进行的 2.6.x核心模块在http://www.ibm.com/developerworks/cn/linux/l-module26/上可以下载 按照定义创建驱动文件 创建c文件 Drive.c #include "linux/kernel.h" #inclu 阅读全文
posted @ 2020-08-02 10:24 Aaron看世界 阅读(1549) 评论(0) 推荐(0)
摘要:1./dev目录下tty设备释义 /dev/tty 当前控制终端Terminal /dev/ttyn和/dev/console (虚拟)控制台终端 /dev/ttySn 一般为/dev/ttyS0 串行端口终端,接串口线使用的端口设备 /dev/ttyUSBn 一般为/dev/ttyUSB0 USB 阅读全文
posted @ 2020-06-20 22:29 Aaron看世界 阅读(2003) 评论(0) 推荐(0)
摘要:嵌入式Linux系统添加通用USB接口的打印机功能,主要包括以下三步。 一.内核添加USB接口的通用打印机识别驱动 在make menuconfig 编译菜单项选上USB打印机选项: Device Drivers > [*] USB support > <*> USB Printer support 阅读全文
posted @ 2020-06-20 17:19 Aaron看世界 阅读(3173) 评论(1) 推荐(0)
摘要:在研发嵌入式产品时,往往会用到LCD(液晶屏)来显示图形界面,而液晶屏的显示亮度则需要背光系统去调节。 调光方法: 1.数字调光,又称波宽控制调光(Pulse Width Modulation,简称PWM): 通过PWM 波开启和关闭LED 来改变正向电流的导通时间以达到亮度调节的效果。 2.模拟调 阅读全文
posted @ 2020-05-30 15:51 Aaron看世界 阅读(4334) 评论(0) 推荐(0)
摘要:我们在开发嵌入式产品时,会需要U盘读写功能,但是Linux系统不像Windows系统那样能默认配置U盘自动挂载,所以我们需要在Linux系统中手动添加rule规则,实现U盘自动挂载功能。 Udev规则 是什么? udev 是Linux 系统的一个设备管理器,它主要的功能是管理/dev目录底下的设备节 阅读全文
posted @ 2020-05-28 16:41 Aaron看世界 阅读(3439) 评论(0) 推荐(0)
摘要:1.第一个肯定是git啦,上面的人各个都有才,说话又好听,想啥有啥。 https://github.com/ 2.Linux系统各版本内核 https://www.kernel.org/ https://elixir.bootlin.com/linux/latest/source/Documenta 阅读全文
posted @ 2020-05-26 21:42 Aaron看世界 阅读(680) 评论(0) 推荐(1)
摘要:1.IOMUX概念 IOMUX概念的引出:SOC厂商为了推出功能丰富的核心板,以应对不同市场不同用户的需求,引入了引脚复用-IOMUXC架构。 IOMUX架构:输入输出多路复用器(Input/Output Multiplexer ),说白了就是用有限的引脚资源实现尽可能多的功能,每个引脚最多可复用好 阅读全文
posted @ 2020-05-26 14:18 Aaron看世界 阅读(4748) 评论(0) 推荐(0)
摘要:研发带液晶屏的嵌入式设备产品时,开机启动时会在液晶屏启动阶段显示启动图片(并不是动画,安卓系统可以配置动画,Linux不可配置动画,需要其他手段)。 为了产品及品牌需要,我们往往需要将开机画面修改成产品或品牌相关的图片。具体修改步骤如下: 1.准备图片。 准备一张和液晶屏尺寸大小的png格式的图片, 阅读全文
posted @ 2020-05-25 14:43 Aaron看世界 阅读(2282) 评论(2) 推荐(0)
摘要:RTC芯片在嵌入式设备中经常使用,但是会在使用过程中出现耗电过快等问题。本文以m41t80驱动为例,分析并解决。 现象描述:设备在生产时,遇到了安装好电池后,未在应用层调用驱动对rtc芯片进行校准,经过一段时间后,电池无电;而在生产时,装好电池后,直接在应用层调用驱动对RTC芯片校准后,经过一段时间 阅读全文
posted @ 2020-05-25 11:17 Aaron看世界 阅读(872) 评论(0) 推荐(0)