Blog

一遍用了千遍,千遍只为一遍

mmap学习笔记

应用层 驱动层

前言 应用程序在跟驱动程序之间传递数据的时候,如果是通过read和write来进行的话,涉及到用户态跟内核态之间的数据传输,要走copy_from_user跟copy_to_user的数据拷贝。假设如果每次App给Kernel传的数据比较多,比如几MB,这样数据传输效率会比较低,改进方法是通过mmap来实现,把内核的buffer映射到用户态,App直接在用户态进行读写操作。 实现过程 ...

linux软链接与硬链接的区别

前言 之前一直对软链接跟硬链接有点印象,但是用的时候总是会重新翻一遍资料或者上网重新搜索,知道这两个是有区别的,但总是没记住,现在记录下来加深自己的印象。 用法 原文件 现在先生成我们的原始文件touch yuanshiwenjian,内容为this is the original file 软链接 这个时候生成原始文件的软链接 ln -s yuanshiwenjian s...

linux USB学习(一)

USB驱动实验

前言 记录下自己做的USB驱动的实验。实验主要分两种,一种是板子做USB主机的实验,另一个种则是做从机的实验。 USB主机实验 USB鼠标实验 USB 鼠标键盘属于 HID 设备。HID,翻译过来就是人体学接口设备,主要是一些人机交互的设备,比如键盘,鼠标,摇杆,绘图板等等。如果想要实现USB鼠标功能,分两步走,需要内核使能通用HID驱动和鼠标的驱动。 使能通用HID驱动 mak...

linux音频应用层学习相关记录

alsa-lib alsa-utils

前言 这篇文章主要是记录一下自己在应用层使用alsa-lib跟alsa-util,主要是amixer跟mplayer的使用,所以是在音频驱动跟LCD驱动已经加载好的情况下去做这件事情的。 内核起来后,可以看到已经有alsa device 对于声卡设备,在/dev/snd下也有相关的节点 这里简单的说下每个节点的作用 controlC0:用于声卡控制,C0表示...

Windows下Typora增加图床功能

前言 之前整理下Linux下怎么给Typora增加图床,详情见这个链接,这次也想在windows下增加这个功能,其实道理都差不多,也是利用PicGo加gitee。 安装PicGo Windows下的Typora版本要大于0.9.84版本才支持通过PicGo上传图片,所以首先要确保自己版本没有问题。 来到官网,点击免费下载 点进去后选择红框中的安装包 下载后正常安装后,在安...

给博客添加个性化设置

前言 文章还在整理中 音乐与视频支持 准备工作 首先是对音乐视频内嵌的支持,需要添加文件open-embed.html,该文件要保存到_includes目录下 文件内容如下 <style> .videoWrapper { position: relative; padding-bottom: 56.333%; height: 0; backgroun...

windows安装cygwim

前言 本来想在windows下利用git bash终端来实现一些linux下常用的 tree, grep, find等命令,在编译tree源码的时候碰到 windows下编译 posix c的问题,最终通过cygwin解决。 cygwin安装 来到官网,选择红框的安装程序 下载后运行,选择下一步 选择Install from Internet 选择Root Direc...

fossil使用(三)

前言 主要还是对fossil的Web界面的一些功能的探索 多用户 在上一篇中我提到了怎么创建新用户,但是我用新用户(非管理员身份)重新登录却失败了。下图是当时的猜想。 现在找到问题原因了 执行命令fossil ui -P 8081,浏览器会自动弹出Web界面,而且会自动登录为管理员,就算是想登录为其他用户也是强制为管理员 这是在我自己运行了fossil ui -P 8...

fossil使用(二)

前言 这次主要记录下自己查看fossilbook中文过程中关于Web界面的一些用法,比较粗糙 Web界面 连接 输入命令 fossil ui #默认8080端口 fossil ui -P 8081 #指定8081端口 随后你的浏览器会自动弹出一个Web界面来,如果没有弹出来也可以直接浏览器输入localhost:...

Ubuntu18.10破解SecureCRT

破解 来到SecureCRT官网,点击previous version 进去之后点击SecureCRT 选择8.7.3(貌似9.0的不让破解了) 注意自己的Ubuntu系统,我的是Ubuntu 18.10的,选择18.04的就可以了,下载对应的deb包 输入命令安装 sudo dpkg -i scrt-8.7.3-2279.ubuntu18-64.x86_64.d...