- 博客(38)
- 资源 (20)
- 收藏
- 关注
转载 QEMU/KVM源码分析之——虚拟机创建流程
原文请查阅:QEMU/KVM源码分析之——虚拟机创建流程 - Leo Hou或微信公众号文章:QEMU/KVM源码分析之——虚拟机创建流程作者公众号:
2022-03-13 23:33:14
715
转载 深入理解SR-IOV和IO虚拟化
请查阅:深入理解SR-IOV和IO虚拟化 - Leo Hou或微信公众号文章:深入理解SR-IOV和IO虚拟化作者公众号:
2022-02-25 19:07:43
2389
2
原创 Linux Socket CAN——数据发送接收流程
Linux下Socket CAN在用户空间提供socket接口,在内核空间实现CAN Frame协议,并协同CAN控制器驱动控制CAN控制器的驱动,实现CAN通信。一、发送流程二、接收流程...
2019-10-19 12:14:54
8518
原创 Linux Socket CAN——驱动开发
Linux Socket CAN驱动开发一 CAN总线协议CAN是Controller Area Network(控制器局域网)的缩写。CAN通信协议在1986年由德国电气商博世公司所开发,主要面向汽车的通信系统。现已是ISO国际标准化的串行通信协议。根据不同的距离、不同的网络,可配置不同的速度,最高速度为1MBit/s。CAN被细分为三个层次:(1)CAN对象层(the ob...
2019-10-19 12:14:44
12044
2
原创 Linux Socket CAN——canutils嵌入式移植
Linux Socket CAN——canutils嵌入式移植Canutils是基于GNU GPLv2许可的开源代码,包括canconfig、canecho、cansend、candump、cansequence五个工具,用于检测和监控Socket CAN接口。本平台采用arm64处理器,故交叉编译工具采用aarch64-linux-gnu1)下载源码:http://www.pengutr...
2019-10-19 12:14:34
4506
4
原创 Linux Socket CAN——网络工具ip嵌入式移植
Linux Socket CAN——网络工具ip嵌入式移植在对Linux Socket CAN驱动测试时需要应用软件工具ipiproute中的ip, 下面简要介绍iproute嵌入式移植。1.下载源码:https://src.fedoraproject.org/repo/pkgs/iproute/ 我选择的版本为2.6.392.修改Makefile 1)CC = aar...
2019-10-19 12:14:11
630
原创 Linux ALSA音频框架分析六:ALSA-lib嵌入式移植
Linux ALSA音频框架分析六:ALSA-lib移植 虽然linux下alsa框架给用户空间提供了系统调用,但alsa-lib对系统调用进行进一步封装,并实现了很多插件,例如多音频源进行混音播放时,调用的就是 dmix 插件。一 软件包下载进入网站http://www.alsa-project.org/选择下载合适版本的软件包。其中,alsa-lib是ALSA ...
2019-10-19 12:13:41
2451
原创 Linux ALSA音频框架分析五:HDA Driver分析
Linux ALSA音频框架分析五:HDA Driver分析一 概述HDA(High Definition Audio)是intel设计的用来取代AC97的音频标准,硬件架构上由hda dodec和hda controller组成见图1:图1二 Stream 的概念 HAD 引入了 Streams 的概念来组织数据,并通过 HDA Link 总线进行数据传输。S...
2019-10-19 12:13:12
3555
原创 Linux系统移植——initramfs根文件系统格式操作
initramfs文件系统格式操作initramsf根文件系统为.cpio格式,并压缩为.gz格式1、制作好的initramfs根文件系统打包find .|cpio -o -H newc|gzip -9 > ~/initramfs.img.gz2、initramfs.img.gz根文件系统解包解压gz:gunzip initramfs.img.gz生成 ini...
2019-10-19 12:12:16
1282
原创 Linux系统移植——Linux下USB存储设备操作
Linux下USB存储设备操作 USB存储设备常见的有U盘、USB移动硬盘、SD卡USB转换等,下面介绍一下linux下USB存储设备的一些常见操作。一、linux下USB存储设备的识别 1. ls /dev/sd* ,查看USB存储设备插入前后多出的设备文件,即为此USB存储设备。 2.df -h ,查看插入系统里USB存储设备及对应的挂载点。...
2019-10-19 12:11:51
1377
原创 Linux系统移植——设备树文件编译与反编译
设备树文件编译与反编译一、设备树编译有两种方式1、将设备树文件拷贝到内核源码的arch/*(处理器平台)/boot/dts/*(厂家)/目录下, 执行make dtbs2、dtc -I dts -O dtb *.dts > my.dtb二、设备树反编译dtc -I dtb -O dts *.dtb > my.dts...
2019-10-19 12:10:21
2417
原创 Linux 字符设备——字符CAN驱动开发
Linux 字符设备——字符CAN驱动开发刚开发完can的字符设备驱动,本想总结一下,但看到一篇博文,对字符设备驱动总结的很全面,将我想到和没想到的都总结了,顿然有种班门弄斧的感觉,遂不敢献丑,故在此贴出地址,以飨各位:https://www.cnblogs.com/chen-farsight/p/6155518.html...
2019-10-19 12:09:57
1845
原创 RHEL 6.8 printk打印到虚拟终端
Linux内核通过 printk() 输出的信息具有日志级别,内核中共提供了八种不同的日志级别,在 Linux/kernel.h 中有相应的宏对应。#define KERN_EMERG "<0>" /* system is unusable */#define KERN_ALERT "<1>" /* action must be taken...
2019-10-19 12:09:08
548
原创 Linux MMC/SD驱动开发
Linux MMC/SD驱动开发一 、Linux MMC/SD驱动模型分析 Linux下MMC/SD驱动主要分三层:card层、core层、host层。Linux下MMC/SD驱动框架见图1: 图1card层:要把操作的数据以块设备的处理方式写到记忆体上或从记...
2018-12-26 16:15:52
1703
原创 Linux系统移植——Linux补丁文件操作
Linux补丁文件操作 在linux移植过程中需要通过diff工具对kernel源码生成补丁文件,也需要通过patch工具对kernel源码 进行打补丁操作。一、diff生成补丁 1、对单个文件生成补丁 diff -up example_orig.c example_new.c > mypatch 参数详解:
2018-01-16 14:59:03
860
转载 Linux系统下提示磁盘空间满,但实际占用却很小问题解决
转载:http://blog.youkuaiyun.com/xx123er/article/details/51656218现象:删除log后df看空间未释放解决方案:1.rm删除文件后,用lsof | grep XXX 查找使用该文件的进程,kill进程即可立即释放空间。 2.更好的方法是使用echo " ">file命令在线清空该文件。
2018-01-15 10:39:43
12213
1
原创 基于PC机的Linux系统内核升级及内核模块调试
基于PC机的Linux系统内核升级及内核模块调试一、Linux内核升级 linux内核升级有多种方式,此处主要介绍基于内核源码的linux内核升级流程: 1.使用命令uname -r查看当前内核版本号 2.从https://www.kernel.org/下载要升级的内核源码,解压到/usr/src目录下 3.进入内核源包解压缩后的目录下 cp /boot/co...
2018-01-11 11:39:32
386
原创 Linux ALSA音频框架分析四:ALSA 的硬件抽象
Linux ALSA音频框架分析四:ALSA 的硬件抽象 ALSA 用 cards,device 和 subdevices 的分层结构表示 Audio 硬件设备和他们的组件。这个分层结构是 ALSA 看待硬件设备结构和能力的视角,是对实体硬件的抽象化实例。见下图ALSA设备抽象图: 目前 ALSA 内核提供给用户空间的 device 文件接口有:1)Informa...
2017-10-10 13:56:37
1811
原创 Linux ALSA音频框架分析三:ALSA框架
Linux ALSA音频框架分析三:ALSA框架一、概述 ALSA 是 Advanced Linux Sound Architecture 的缩写,即高级 Linux声音架构,在 Linux 操作系统上提供了对音频和 MIDI(Musical InstrumentDigital Interface,音乐设备数字化接口)的支持。在 Linux2.6 版本内核以后,ALSA 已...
2017-10-10 10:25:45
5051
原创 Linux ALSA音频框架分析一:数字音频简介
Linux ALSA音频框架分析一:数字音频简介 声音在自然界以声波的形式存在,是一系列连续变化的模拟信号,声音的三个要素是音调、音强和音色。声波有三个重要参数:频率 ω0、幅度A n 和相位ψn ,这也就决定了音频信号的特征。根据声波的特征,可把音频信息分类为规则音频和不规则声音。其中规则音频又可以分为语音、音乐和音效。音频信号是(Audio)带有语音、音乐和音效的有规律的声...
2017-10-09 10:52:13
1595
原创 Linux ALSA音频框架分析二:linux音频子系统介绍
linux音频子系统介绍 Linux音频系统比较复杂,各层间有很多交叉,可能是最无序的子系统,并且它有两套音频驱动框架: OSS (Open Sound System)和ALSA (Advanced Linux Sound Architechture),所以底层驱动有OSS和ALSA两套API。ALSA经过多年的发展,基本统一了Linux声卡硬件驱动层的借口,OSS日渐退出,但是在ALSA...
2017-10-09 10:38:36
3526
原创 Linux4.6.0下的网络设备驱动
Linux4.6.0下网络设备驱动1. Linux网络协议模型 Linux下网络协议模型主要分四层:网络接口层、网络层、传输层、应用层,与OSI七层协议参考模型的对比见图1.1:图1.1TCP/IP分层模型的四个协议层分别完成以下的功能:1.1网络接口层 网络接口层包括用于协作IP数据在已有网络介质上传输的协议。实际上TCP/IP标准并不定义与ISO数据链...
2017-07-25 15:24:11
1292
原创 u-boot 2016.7之以太网驱动模型
u-boot 2016.7引入了设备树(device tree) 和 驱动模型MD(driver model),这为设备的驱动的定义和访问接口提供了统一的方法,提高了驱动之间的兼容性和可移植性。具体细节建议参考./doc/driver-model/README.txt。对于u-boot2016.7的网络驱动,也属于DM应用的一个范例,此篇着重介绍u-boot2016.7的DM 模型及网络驱动模型的
2017-05-18 14:42:11
2258
原创 关于vivado无法启动SDK问题的解决
关于vivado无法启动SDK问题的解决 ubuntu 16.04 安装Vivado 2016.3无法启动SDK,在相应SDK的安装目录下:Xilinx/SDK/2016.3/eclipse/lnx64.o/eclipse.ini中的-vmargs上添加:--launcher.GTK_version2实际eclipse.ini格式如下:-startupplugins/
2017-03-20 13:36:16
17068
原创 RHEL6.8重新调整home分区大小
在vmware安装系统的时候使用了系统的自动分区,系统装好后发现/home分区太大了30G,使得/root下不够用。需将/home的空间划一点出来,分到根分区下去。1.查看分区信息#df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root
2017-01-25 09:30:40
3638
原创 ubuntu16.04中安装下载工具uget+aria2并配置Firefox
1.安装软件之前最好先更新一下依赖项,命令: sudo apt-get update2.安装uget可以直接从软件中心里面安装,或者直接使用名令行: sudo apt-get install uget3.安装aria2可以直接从软件中心里面安装,或者直接使用名令行: sudo apt-get install aria24.接下来我们就改对uget进行一些相
2017-01-18 18:08:01
40991
1
原创 rhel6.8下beyond compare 4.19安装
度过了风风雨雨的2016年,2017该好好规划规划了,开年第一篇,介绍一下linux下的文件比较工具:bcompare。
2017-01-06 15:43:01
1179
原创 Red Hat Enterprise Linux 6.8 下 aarch64-linux-gnu-gcc 4.9安装
Red Hat Enterprise Linux 6.8 下 aarch64-linux-gnu-gcc 4.9安装Red Hat Enterprise Linux 6.8 下x86_64架构CPU安装 aarch64-linux-gnu-gcc 4.9,主要有以下步骤:1.下载 aarch64-linux-gnu-gcc安装包,解压到想安装的文件夹2.设置gcc的环境变量3.
2016-11-29 18:23:49
4065
转载 Gcc的编译流程分为了四个步骤:
Gcc的编译流程分为了四个步骤: 1.预处理,生成预编译文件(.文件): Gcc –E hello.c –o hello.i 2.编译,生成汇编代码(.s文件): Gcc –S hello.i –o hello.s 3.汇编,生成目标文件(.o文件): Gcc –c hello.s –o hello.o
2016-08-01 13:11:53
65141
1
转载 uboot通过bootargs设置根文件系统的启动位置
u-bootargs bootargs是环境变量中的重中之重,甚至可以说整个环境变量都是围绕着bootargs来设置的。bootargs的种类非常非常的多,我们平常只是使用了几种而已,感兴趣的可以看看这篇文章说的很全:http://blog.chinaunix.net/u2/79570/showart_1675071.html。bootargs非常的灵活,内核和文件系统的不同搭配就会
2016-05-24 08:27:23
4726
转载 Ubuntu 14.04建tftp服务器的安装、设置、调试
Ubuntu 12.04 搭建tftp服务器的安装、设置、调试第一步:先说明一下ubuntu默认root是禁用的,所以先要创建root用户,这样以后不用再sudo了: $ su root 输入密码获取获取管理员账户操作相关阅读:Ubuntu下tftp服务搭建 http://www.linuxidc.com/Linux/2012-08/67933.htmTFTP服
2016-05-20 10:55:32
1757
原创 ubuntu 14.04下安装SecreCRT 8.0.1
Ubuntu 14.04安装SecureCRT 8.0.11、软件准备Ubuntu14.10 x64SecureCRT8.0.1的版本:scrt-8.0.1-1082.ubuntu14.i386.deb下载地址:http://www.vandyke.com/download/securecrt/download.html2、安装SecureCRT在终端下执行:
2016-05-20 10:39:58
6764
转载 Ubuntu 14.04环境变量修改
因在开发编译时是找不到命令,原因是将路径添加到环境变量,如何设置环境变量,搜索一下,找到以下关于环境变量设置的几个文件及何时执行。首先要认识几个和环境变量有关的文件:/etc/profile —— 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置;/etc/environment ——
2016-05-20 10:26:38
372
原创 Linux下基于v4l2框架的图像采集
对于linux下笔记本内置摄像头图像采集,一开始也挺头大的,怎样去驱动笔记本内置摄像头呢?伟大的互联网告诉我们这都不叫事。通过 lsusb查看摄像头信息,如果不明显,可以用lsusb -v|less 查看详细信息,确定摄像头是usb设备后,v4l2框架才是可用的。 V4L2(Video For Linux Two) 是内核提供给应用程序访问音、视频驱动的统一接口,它图像采集的操作步...
2016-05-20 10:25:12
2238
原创 按键定时扫描——有限状态机的软件实现方法(下)
对于按键需要连续扫描3次得到状态序列011时,keydown才置1,如果采用数字电路中的同步时序逻辑电路的设计思想,可以假设为串行数据检测器,只有出现011才置1。首先进行逻辑抽象,假设键盘按键输入scankey为X,输出结果keydown为Y。 设没有1输入以前的状态为a,输入一个1后为b,连续输入2个1时为c。所以得:Q1*=X &(Q0 | Q1)
2016-05-20 10:23:59
1429
原创 按键定时扫描——有限状态机的软件实现方法(上)
按键定时扫描 ——有限状态机的软件实现方法由于按键扫描采用定时扫描方式,由连续2次或3次扫描的状态来判断按键是否按下,所以可以采用有限状态机--即时序逻辑思维,来判断按键是否按下。 图一Keydown的卡诺图:得到逻辑表达式:
2016-05-20 10:22:17
4999
转载 ubuntu下搭建nfs服务器
NFS(Network FileSystem,网络文件系统)是由SUN公司发展,并于1984年推出的技术,用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操作系统无关。NFS分服务器和客户机,当使用远端文件时只要用mount命令就可把远端NFS服务器上的文件系统挂载在本地文件系统之下,操作远程文件与操作本地文件没
2016-05-20 10:12:58
542
DDI0487Fc_armv8_arm-2.pdf
2020-08-18
基于FPGA的FIR滤波器设计与实现
2015-09-01
JCreator4.5
2010-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人