系统
文章平均质量分 50
系统、架构
hello2mao
https://github.com/hello2mao
展开
-
KVM 配置桥接设备
记录下为kvm配置bridge的一些知识点。一、背景libvirt配置kvm虚拟机的网络有两种方式,默认是NAT方式,但实际使用时,还是bridge的方式比较有用,设置好后客户机与互联网,客户机与主机之间的通信都很容易。二、Bridge原理Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机。网桥的基本原理就是创建一个桥接接口br0,在物理网卡和虚拟网络接口之间传递数据。三、Bridge配置方式以cen..原创 2021-03-30 10:09:37 · 617 阅读 · 0 评论 -
使用libvirt来管理qemu-kvm虚拟机
记录下libvirt的知识点。一、Libvirtlibvirt是为了更方便地管理各种Hypervisor而设计的一套虚拟化库,libvirt作为中间适配层,让底层Hypervisor对上层用户空间的管理工具(virsh,virt-manager)做到完全透明,因为libvirt屏蔽了底层各种Hypervisor的细节,为上层管理工具提供了一个统一的、较稳定的接口(API)。二、安装在centos7.6上手动升级libvirt到5.8.0。# 安装依赖包yum -y inst..原创 2021-03-24 19:24:30 · 1952 阅读 · 1 评论 -
BootLoader的BL1和BL2
记录下BootLoader的BL1和BL2BL是BootLoader的缩写。一般会把uboot分为两个部分:BL1和BL2,BL1和BL2各有分工,两者相加就是整个uboot。1、BL1阶段的功能(1)硬件设备初始化(2)加载BL2阶段代码到RAM空间(3)设置好栈(4)跳转到第二阶段代码入口2、第二阶段的功能(1)初始化本阶段使用的硬件设备(2)检测系统内存映射(3)将内核从Flash读取到RAM中(4)为内核设置启动参数(5) 调用内核...原创 2021-03-20 12:15:31 · 2069 阅读 · 0 评论 -
Simple TCP Server-Client implementation in C
记录一个C实现的server和client Demo。文章目录一、流程二、Server三、Client四、工程源码一、流程二、Server#include <stdio.h>#include <unistd.h>#include <netdb.h>#include <netinet/in.h>#include <stdlib.h>#include <string.h>#include <sys/socke.原创 2021-02-05 10:32:35 · 352 阅读 · 0 评论 -
ASCII 和 UTF-8
记录下ASCII和 UTF-8的区别摘抄自:ascii_unicode_and_utf-8一、ASCII计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为 ASCI.原创 2021-02-04 09:58:07 · 4171 阅读 · 0 评论 -
OpenCV等毫秒级间隔抽取mp4为png
使用OpenCV的C++ API抽取mp4为png时,发现CV_CAP_PROP_POS_MSEC属性居然在OpenCV 3.3.0版本下失效。一、需求把mp4等时间间隔抽取为png环境:Mac OS语言:C++抽取间隔:50ms二、问题描述在OpenCV 3.2.0下可以按如下方式实现(简化代码,未测试):VideoCapture *cap = new VideoCapture("/p原创 2017-08-21 17:32:34 · 1237 阅读 · 0 评论 -
RBAC0的一种设计
RBAC(Role-Based Access Control )是基于角色的访问控制。在20世纪90年代期间,大量的专家学者和专门研究单位对RBAC的概念进行了深入研究,先后提出了许多类型的RBAC模型,其中以美国George Mason大学信息安全技术实验室(LIST)提出的RBAC96模型最具有系统性,得到普遍的公认。RBAC96是一个模型族,其中包括RBAC0~RBAC3四个概念性模型,其中基本模型RBAC0定义了完全支持RBAC概念的任何系统的最低需求。数据库建模如下:...原创 2020-07-19 14:26:10 · 440 阅读 · 0 评论 -
服务器间文件的快速拷贝
一、需求在两台服务器间进行文件的快速拷贝二、可选方案假设Server A ip:10.38.1.1,所需拷贝文件/home/work/test.txt 假设Server B ip:10.38.1.2 需要把文件从Server A拷贝到Server B。2.1 scp在Server B上运行:scp work@10.38.1.1:/home/work/test.txt ....原创 2018-03-06 17:09:45 · 1954 阅读 · 1 评论 -
gcc/g++多版本切换
一、需求gcc/g++多版本切换二、实现以gcc为例,g++类似。// (1)安装gcc多版本sudo apt-get install gcc-4.4sudo apt-get install gcc-5.4// (2)在/usr/bin下可以看到多版本ls /usr/bin/gcc-*// (3)使用update-alternatives工具安装多版本链接s...原创 2018-03-01 22:31:46 · 2564 阅读 · 0 评论 -
LinuxI2C驱动详解
1. 写在前面本人学生一枚,之前没有详细的接触过linux驱动,只是读过宋宝华的《Linux设备驱动开发详解》,这段时间想静下心来学习下linux i2c驱动,在网上找了很多资料,前辈们写的文章让我受益匪浅,但是一开始上手真的很痛苦,基本上大家都是从linux i2c体系结构的三大组成谈起:i2c核心,i2c总线驱动,i2c设备驱动,好抽象。所以我才想写这个文章,从一个新人的角度分享下我学习linu原创 2015-06-09 14:17:51 · 1049 阅读 · 0 评论 -
(7)LinuxI2C驱动--I2C总线驱动
前面分析了i2c设备驱动如何实现通过sysfs文件系统访问eeprom,对于读写eeprom,最后都是调用了i2c_transfer(),此函数的实现在i2c核心中。int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) { unsigned long orig_jiffies; int原创 2015-06-14 16:54:02 · 1288 阅读 · 1 评论 -
(6)LinuxI2C驱动--I2C设备驱动
本节主要分析eeprom的所属的i2c设备驱动。1. eeprom板级设备资源因为原开发板的eeprom驱动还没调试好,板级资源还没写好,所以需要自己加进去。 修改arch/arm/mach-s5pv210/mach-smdkc110.c文件。 static struct at24_platform_data at24c01 = { .byte_len = SZ_8K原创 2015-06-11 19:49:02 · 1280 阅读 · 0 评论 -
(4)LinuxI2C驱动--从两个访问eeprom的例子开始
本小节介绍两个在linux应用层访问eeprom的方法,并给出示例代码方便大家理解。第一个方法是通过sysfs文件系统对eeprom进行访问,第二个方法是通过eeprom的设备文件进行访问。这两个方法分别对应了i2c设备驱动的两个不同的实现,在后面的小结会详细的分析。原创 2015-06-10 21:03:03 · 6520 阅读 · 0 评论 -
(2)LinuxI2C驱动--I2C总线
本节分析下I2C总线协议,因为我的开发板是三星s5pv210芯片,所以就以此为例。原创 2015-06-09 19:03:29 · 962 阅读 · 0 评论 -
(3)LinuxI2C驱动--解析EEPROM的读写
本节介绍eeprom的读写时序,参考的是AT24C01A的datasheet。原创 2015-06-11 13:22:12 · 1786 阅读 · 0 评论 -
(5)LinuxI2C驱动--浅谈LinuxI2C驱动架构
前面几个小结介绍了i2c总线的协议,又介绍了我们关注的eeprom的读写访问时序,还给出了两个访问eeprom的例子,我的目的是为了能更好的理解后面解析Linux下i2c驱动。网上介绍Linux I2C驱动架构的文章非常的多,我把这些内容做了个归纳与简化,但是在搬出这些非常抽象的内容之前,我想先谈下我的理解。如下图: 图中画了一个三星的s5pv210处理器,在处理器的里面集成了一个I2C适配器原创 2015-06-11 15:53:27 · 984 阅读 · 0 评论