自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (7)
  • 收藏
  • 关注

原创 简化ssh登录

简化ssh登录配置文件configconfig文件格式使用方法配置文件config通过在.ssh/config中可以配置目的主机的别名、默认端口等。config文件格式Host 登录别名 HostName 目的主机IP地址 User 登录用户名 Port 登录端口(默认是22)使用方法ssh 登录别名...

2019-10-27 01:07:02 309

原创 vxworks优先级转置

vxworks优先级转置 vxworks是有一种强优先级调度的操作系统,即基于优先级抢占式调度。简单来说,就是当一个任务 highPri_task 的优先级比另一个任务lowPri_task的优先级高时,及时当前lowPri_task正在执行,highPri_task 也可以直接抢占CPU,优先运行这与linux基于时间片轮转的调度方式有本质的区别。vxworks的强优先级调度会带来...

2018-06-13 17:04:04 1375

原创 Git-Gui的中文乱码解决方法

在Windows下使用Git-Gui时,可能会出现代码中的中文乱码的情况。 解决方法: 在软件的安装目录下,在Git\mingw32\etc\gitconfig文件末尾添加: [gui] encoding=utf-8 这样代码中的中文就能够正常显示了。另外 关于软件的其他部分的软件相关中文乱码,解决方法如下: 打开软件,在Edit -> Preferences -> fo

2017-07-06 15:03:04 2656

原创 Makefile

Makefile变量声明变量使用换行符 类似define功能自动推导隐晦规则PHONY表声明的文件是伪标件减号-命令以TAB开始语法规则指定make的文件引用其他伪目标Makefile1. 变量声明:递归展开: 将变量完全展开, 如果变量中还有其他变量也全部展开; VAR = var简单展开: 只是展开一次, 不展开它包含的其他变量; VAR := var2.

2017-05-12 13:58:14 450

原创 deepin/Linux的桌面图标点击无法打开软件的解决方法

在使用deepin Linux时,由于安装了多次QtCreator,然后把最后安装的软件删除,导致在 deepin的启动器里通过点击图标无法打开软件解决方法如下: 与Linux桌面快捷方式类似,deepin启动器的图标实际上也是一个个的桌面快捷方式,因此处理方式可以参照Linux桌面快捷图标方式的制作方法。关键就是找到deepin启动器的位置,然后修改相应图标的程序执行路径即可。deepin Li

2017-05-09 15:17:10 13669 2

原创 Linux/deepin下Qt5无法输入中文的解决方法

对于Qt爱好者和linux爱好者来说,Qt5无法输入中文已经成为了老大难问题。而且Qt Creator 也是个人认为最好的c/c++ IDE。下面就给出中文输入的解决办法 以deepin+fcitx+Qt5.4为例:(这里的fcitx以搜狗输入法为例)/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatfo

2017-05-09 11:55:02 3950

原创 vmware虚拟机无法ping通主机

在搭建虚拟机后,在测试virtual machine与主机的通信时,出现如下情况:使用桥接,主机与vm在同一个局域网内;主机ping虚拟机—-OK;虚拟机ping网管—OK;虚拟机ping外网—OK;但是虚拟机ping主机—Failed这种最简单的问题就在于主机windows7的防火墙的设置问题。解决办法 在防火墙设置—>高级安全设置—>找到“文件和打印机共享(回显请求)ICMP-v4

2017-04-12 16:05:33 2084

原创 visudo限制普通用户的特权操作sudo

在ubuntu系统中,一般常用sudo命令来临时获得root权限执行一些特权命令。这很方便,但是也有一个问题: 普通用户可以通过sudo命令完成用户的增删和密码的更改,甚至是对root用户的密码更改!!! 如:xxx@yyy$:sudo passwd rootInput the new UNIX pass word:这样,就可以直接越过root直接修改root 的密码。这是非常危险的。解决方法

2016-11-02 16:05:46 4928 2

转载 ubutnu格式化分区u盘

ubutnu格式化分区u盘

2016-10-23 17:06:13 287

原创 linux进程间通信--消息队列

概念基本操作创建或打开添加消息读取消息控制消息队列概念消息队列由 ID 唯一标识;消息队列就是一个消息的列表,用户可在队列中添加,读取消息等;可按照类型来收发消息;基本操作1. 创建或打开;int msgget(key_t key, int flag);2. 添加消息;int msgsnd(int msqid, const void* msgp, size_t size, in

2016-09-15 00:55:59 294

原创 linux进程间通信IPC

常见的进程间通信方式一、传统进程间通信:1. 无名管道;2. 有名管道;pipe/fifo3. 信号(软件层次对中断的模拟);signal二、system v IPC对象1. 共享内存(效率最高);share memory2. 消息队列;message queue3. 信号灯(semaphore);三、 套接字socket1. 网络套接字2. 本地套接字

2016-09-15 00:18:43 240

原创 FTP/TFTP的区别与联系

定义FTP: (File Transfer Protocol)文件传输协议;使用已知 TCP 端口号: 20 的数据和 21 用于连接对话框TFTP:(Trivial File Transfer Protocol)精简文件传输协议;UDP 端口号 69 其文件传输活动从名字可见, TFTP是FTP协议的一个简化版.区别:1. 使用协议不同:FTP: 使用TCP协议,实现文件的可靠传输,并且支持客户

2016-09-11 11:15:17 856

转载 sizeof/strlen区别

sizeof/strlen区别

2016-09-09 11:41:28 241

转载 大端,小端

这里引用一位朋友的写的,很不错. 大端小端

2016-09-08 22:40:43 215

转载 PPM,PGM图片格式

转自: PPM / PGM / PBM 图像文件格式 下面将详细介绍ppm文件ppm文件是一种图像文件,有其自己的文件格式。ppm文件由两个部分组成:第一个部分是三行ASCII码,这个部分决定了图像的存储格式以及图像的特征;第二个部分就是图像的数据部分,图像就是由这个部分组成的。  ppm的第一

2016-09-08 15:49:02 1421

原创 V4L2_Camera实例代码

一个简单的V4L2摄像头设备采集图像框架, 开源代码: https://github.com/Michael-Jay/V4L2_Camera/其中,之前一直困扰我的就是在ioctl(fd, VIDIOC_DQBUF, &tmp_buf)后, 要把缓存中的数据保存到文件中时, 使用write()时, 误把缓存区的首地址错弄成了struct v4l2_buffer tmp_buf; 导致从缓存中一直

2016-09-06 14:09:46 2229 2

原创 根据二叉树遍历结果反推树

根据遍历结果画出二叉树的图已知前序、中序遍历,求后序遍历例:前序遍历: GDAFEMHZ中序遍历: ADEFGHMZ画树求法:根据前序遍历的特点,我们知道根结点为G观察中序遍历ADEFGHMZ。其中root节点G左侧的ADEF必然是root的左子树,G右侧的HMZ必然是root的右子树。观察左子树ADEF,左子树的中的根节点必然是大树的root的leftchi

2016-09-03 00:53:59 7417 1

原创 linux驱动-其他知识点

时间流jiffies内存空间分配kmaklloc128kget_free_pages4Mvmalloc4MIO内存空间端口空间映射机制ioremap动态map_dec静态mmap1. 时间流jiffies全局变量,从上电开始. 每隔一个固定时间就会+1, 这个时间是由定时器中断实现的, 只读.相当于计数定时器产生中断的个数.#include <linux/param.h>中的

2016-08-22 14:49:55 252

原创 linux驱动-阻塞_非阻塞_异步通知

linux设备驱动中的阻塞非阻塞IO异步通知阻塞操作等待队列的驱动编程在已有的设备驱动基本框架上继续非阻塞操作实现过程驱动编程实现编程典型模板异步通知编程实现使用场景linux设备驱动中的阻塞,非阻塞I/O,异步通知阻塞操作在执行设备操作时, 若不能获得资源则进程睡眠,让出CPU,当满足可操纵条件后,内核唤醒进程继续执行;由于阻塞的进程会进入睡眠状态,因此需要适时的唤醒它,否则进程

2016-08-22 14:46:29 386

原创 linux驱动-字符设备驱动

linux驱动(一) — 字符设备char dev驱动编写流程1. 注册设备号找到设备的设备号;设备号唯一标示设备. register_chrdev_region();2. 初始化;cdev_init; 初始化cdev_add();添加到系统ioremap(); convert HAL address to virtual address in kernel.3. 文件操作(open

2016-08-22 14:45:50 199

原创 linux驱动-中断机制

中断机制linux中断机制如何实现与别的系统中断的区别 上下半部中断机制1. linux中断机制如何实现,与别的系统中断的区别— 上下半部为了解决高优先级的执行时间很长, 但是低优先级执行时间短,这样就会造成其他中断无法响应.将所有的中断分成上,下 两部分, 其中上半部分的优先级平级, (优先解决紧急事件,时间尽量短), 而下半部分按照优先级来执行(推迟处理). 类似于到餐馆吃饭, 来的都是客

2016-08-22 14:45:18 289

原创 linux驱动-并发

linux中的并发情况:进程;中断;CPU;(多核cpu)并发互斥控制机制:1. 中断屏蔽;(有中断处理程序访问共享资源时)说白了, 就是操作硬件的时候,关闭该硬件的中断,使之独占.中断屏蔽的使用方法:local_irq_disable(); //关闭local所有中断........local_irq_enable();这样可以实现中断的屏蔽,但是同时也会关闭其他的中断,如系

2016-08-22 14:41:05 288

原创 linux驱动-平台设备

平台设备把硬件设备添加到设备树更改驱动程序中的加载入口驱动程序的修改平台设备集成SOC系统中的设备,从resource角度统一抽象为platform设备.它的优点就是实现了硬件信息和驱动的分离.早起是通过板级文件(在内核中)修改, 但是那样需要重新编译内核,比较麻烦. 于是平台设备就**直接将硬件设备的信息放到 设备树 中, 从而驱动不在存放硬件信息, 实现硬件与驱动的分离.方便维护**1

2016-08-22 14:40:26 319

原创 块设备

块设备块设备和字符设备区别块设备的 硬件原理块驱动层次结构块设备能够随机访问固定大小(如512字节)数据片(chunk)的设备被称作块设备块设备和字符设备区别:---- | 块设备 | 字符设备访问单位 | 固定大小 | 无 //块设备访问最小单位是扇区sector(常见的是512字节)随机访问 | 支持

2016-08-22 14:39:38 257

原创 linux驱动-I2C设备

UART硬件I2C设备硬件I2C驱动框架I2C驱动编写进入内核源码修改设备树dts文件添加如下内容修改驱动程序SPI硬件UART全双工,异步, **U**niversual **A**sync **R**eceive **T**ransport.硬件1根 发送线Tx;1根 接收线Rx;I2C设备硬件:CLK —– 1根时钟线: 标准的时钟方波DATA —– 1根数据线:

2016-08-22 14:37:50 1746 1

原创 linux驱动概述

linux设备驱动分类字符设备驱动块设备网络设备套路框架如下驱动三要素实现module_initmodule_exit对应的函数添加其他功能模块file_operations硬件地址到内核地址的映射ioremap应用层调用驱动的流程结合linux软件层次Note幻数加密驱动添加到内核从内核卸载linux设备驱动分类1. 字符设备驱动;在传递数据时,按照字节流先后顺序传递.

2016-08-18 09:42:54 303

原创 linux/ubuntu16.04搭建minicom的arm调试环境

linux下搭建minicom实现arm调试工具步骤检查系统环境配置安装minicom配置minicom整一个测试程序搞一下呢源代码下载调试linux下搭建minicom实现arm调试个人觉得windows下的超级中断不是好用,而且本人在linux下开发,没有使用虚拟机,因此需要在linux配置调试环境,这里记录一下.工具ubuntu16.04minicomusb转串口线 HL

2016-08-02 19:39:18 6706

原创 异常和中断

异常和中断模式和异常的对应关系异常处理异常向量表异常优先级异常处理流程CPU进入异常程序员退出异常恢复中断处理异常和中断异常就是在程序运行过程中(USER mode),出现了一些异常情况,而中断是异常的一种情况.模式和异常的对应关系如图: 上图需要特别注意的就是,如果在程序执行过程中需要进行系统调用(程序正常运行在USER模式,而内核运行在SVC模式,user模式无法直接运行SVC

2016-08-02 09:50:36 483

原创 ARM状态寄存器-PSR

ARM程序状态寄存器Program State Register CPSR SPSR 结构解析

2016-08-01 19:54:34 8818

原创 ARM寄存器

ARM寄存器分类分组堆栈指针链接寄存器

2016-08-01 18:39:58 551

原创 ARM汇编指令

计算机硬件组成存储器运算器控制器中线BUSARM编程模型指令集ARM约定处理器工作模式和对应的寄存器状态计算机硬件组成存储器:用来存放程序和数据的记忆部件,是计算机实现”存储程序控制”的基础. regitster(CPU内部)—> cache(SRAM)—-> 内存(DRAM)—->外部存储器 快———————————速度——————————

2016-08-01 18:21:36 414

原创 ARM异常和中断

异常和中断模式和异常的对应关系异常处理异常向量表异常优先级异常处理流程CPU进入异常程序员退出异常恢复中断处理异常和中断异常就是在程序运行过程中(USER mode),出现了一些异常情况,而中断是异常的一种情况.模式和异常的对应关系如图:上图需要特别注意的就是,如果在程序执行过程中需要进行系统调用(程序正常运行在USER模式,而内核运行在SVC模式,user模式无法直接运行SVC模式

2016-08-01 14:43:49 917

原创 ARM寄存器

ARM寄存器操作模式寄存器组织概要32个通用寄存器7个状态寄存器state program status register1个程序计数器PCprogram counter通用寄存器分组未分组寄存器R0-R7分组寄存器R8-R14ARM寄存器寄存器是存在于CPU中的存储速度极快的存储器,主要负责储存程序运行过程中需要保存的临时变量和系统环境变量等等.操作模式为了处理不同的情况,ARM设

2016-08-01 01:04:29 1300

翻译 QFile Class(Qt官方文档译)

细节描述QFile类提供了一个从文件读写的接口。QFile是一个可供读写文档和二进制文件资源的IO设备,它一般被他自己使用,更方便的是通过QTextStream和QDataStream。文件的名字通常是通过构造函数来传递,当然也可以随时通过使用setFileName().函数实现。无论在什么操作系统下,QFile都最好使用”/”作为文件路径分隔符,而不是使用windows系统下的”\”,这也是不支持

2016-07-25 14:41:46 2289

原创 c++初始化列表

初始化列表使用场合:成员变量是const类型;对于需要继承父类的类,在构造函数需要传入父类的指针,用以把子对象与父对象建立联系。

2016-07-19 18:31:11 214

原创 全局变量和局部变量在内存中的区别

程序中各数据类型在内存中的分配:1、栈区(stack):——– 由编译器自动分配释放(存放函数的参数值, 局部变量的值等),操作方式类似于数据结构中的栈; 2、堆区(heap) :——– 由程序员分配释放,如果不释放可能由OS回收,但区别与数据结构中的堆,其分配方式类似于链表; 3、全局区/静态区(全局变量/static):——- 全局变量和静态static变量是放在一起的已初始化的全局va

2016-07-18 19:29:05 2406

原创 c++中const的使用

const应用于成员函数class Actor JackieChen ;JackieChen.say() const;上述的函数调用等价于:JackieChen.say(const Actor* this);它的目的是防止调用对象JackieChen被函数say()给修改了。尤其是当对象定义为const类型时,为了防止被修改。class Actor{ void say() const;}

2016-07-15 14:08:03 211

转载 vmware 各个文件类型说明

VMware虚拟机文件夹中各文件作用详解转自:http://blog.sina.com.cn/s/blog_5551d4480101cpzb.html虚拟机的文件管理由VMware Workstation来执行。 一个虚拟机一般以一系列文件的形式储存在宿主机中, 这些文件一般在由workstation为虚拟机所创建的那个目录中。这里列出了这些关键文件及其扩展名。 在以下说明例子中,表示创建的虚

2016-07-14 14:13:43 1850

原创 c++ 引用

实质实质上就是一个常量指针void * const p;例如:int a = 2;int &p = a;等价于int* const p = &a;看下面的例子:float a = 0.0;float b = 1.0;cout << (int &) a << endl;cout << (int &) b << endl;运行结果? 运行结果? 运行结果?01065353216(即0x3

2016-07-14 10:25:09 217

原创 个人记事本

strlen()size_t strlen(const char *s);The strlen() function calculates the length of the string s, excluding**(不包括)** the terminating null byte (‘\0’). 计算长度时,不包括末尾的结束符’\0’。 但是,换行符’\n’要计算在内。fgets()c

2016-07-08 20:16:36 231

C语言经典算法100例

C语言经典算法100例

2016-08-26

Embedded C

Embedded C,Addison Wesley

2016-08-26

[C语言从入门到精通].王娣版.pdf

[C语言从入门到精通].王娣版.pdf

2016-08-26

Android 4.4 SDK Reference.chm

Android 4.4 SDK Reference(2014.1.12)

2016-08-26

linux socket programing

linux socket programing from farsight.

2016-06-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除