自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 设备树详解

https://blog.csdn.net/lq496387202/article/details/79416299Device Tree常用方法解析Device Tree在Linux内核驱动中的使用源于2011年3月17日Linus Torvalds在ARM Linux邮件列表中的一封邮件,他宣称“this whole ARM thing is a f*cking pain in the...

2018-09-04 21:15:36 532

原创 Linux文件系统详解

从操作系统的角度详解Linux文件系统层次、文件系统分类、文件系统的存储结构、不同存储介质的区别(RAM、ROM、Flash)、存储节点inode。本文参考:http://blog.chinaunix.net/uid-8698570-id-1763151.htmlhttp://www.iteye.com/topic/816268http://soft.chinabyte.com/os/...

2018-08-28 21:15:44 205

原创 Source Insight的一些使用总结

一、Source Insigth 新建工程 新建一个工程,导入需要查看的代码,可以方便的进行查阅。新建工程的步骤如下:在菜单栏中找到【Project】选项,点击打开; 在弹出的菜单栏中选择【New Project】选项; 会弹出一个对话框,在【New project name】中为项目起一个自己的名字。在下面的对话框中选择一个你想要将工程保存位置(一般默认不修改,此位置不是代码...

2018-08-24 23:43:18 300

原创 C++中的隐式转换

首先我们看下一种比较常见的技术——类构造函数的隐式转换。这儿先说明下,之后的例子中,我会为了尽量突出主要内容,而忽略一些可以作为充分条件但非必要条件的东西,故设计的一些代码存在“不完善”的嫌疑。因为为了堵住所有漏洞,往往会让整个代码让人感觉其重心并非在我想介绍的技术上,而在“苦行僧”式的编程原则上。        我们知道C++是一个类型严格的语言,比如下面一个函数  void ...

2018-08-17 16:29:58 443

原创 磁盘、内存、闪存、缓存等物理存储介质的区别

计算机系统中存在多种物理存储介质,比较有代表性的有以下几种介质。寄存器(register) 高速缓冲存储器(cache),即缓存 主存储器(main memory),即内存 快闪存储器(flash memory),即闪存 磁盘存储器(magnetic-disk storage),即硬盘、磁盘 光学存储器(optical storage) 磁带存储器(tape storage)寄存...

2018-08-13 15:55:27 3200 1

原创 虚拟地址与物理地址的区别

4. MMU 请点评 现代操作系统普遍采用虚拟内存管理(Virtual Memory Management)机制,这需要处理器中的MMU(Memory Management Unit,内存管理单元)提供支持,本节简要介绍MMU的作用。首先引入两个概念,虚拟地址和物理地址。如果处理器没有MMU,或者有MMU但没有启用,CPU执行单元发出的内存地址将直接传到芯片引脚上,被内存芯片(以下称为...

2018-08-10 21:09:03 4055 1

原创 Docker+Git效率工作

https://blog.csdn.net/qq_29245097/article/details/52996911

2018-08-04 22:58:08 152

原创 git常用命令和上传(持续更新)

在本地项目文件中使用bash$ git config --global user.name "你的名字"$ git config --global user.email "你的邮箱"1. 初始化  $ git init$ git remote add origin https://gitee.com/xxx/xxx.git (你的远程项目地址)2.克隆一下$ git c...

2018-08-02 15:36:06 142

原创 android 5

1、国际化values(默认的)   创建不同后缀的values 对应不同国家的语言 2、进程与线程释放顺序优先级主线程也称UI线程主线程一般不做耗时操作,转移到非主线程规定:非主线程不能修改控件的内容线程的通信,使用handler对象,接受非主线程的消息(写代码的时候,学会逆向思维,不要死记硬背)AsyncTask 异步类(异步任务)(将上面的步骤...

2018-08-02 15:35:03 126

原创 android 4

1、listview 组件用于显示列表 (适配器adapter 起到连接视图层和数据层的工具) 2种适配器:   ArrayAdapter、SimpleAdapter 他们的共同父类是:    BaseAdapter泛型 <T> 3、菜单(menu )( 不属于aciticity生命周期中的方法)选择菜单(按钮激活)上下文菜单(绑定控件) 4...

2018-07-30 22:36:23 118

原创 android 3

SeekBar学习(进度条控件) 解决问题的时候,拆分问题,转换成一步一步的去实现 MVC设计模式(数据、视图分离模式) UI 1、  文本混合编辑在xml中编辑(推荐) 2、所有控件的顶级父类是 view(控件标签)viewgroup(布局标签,见xml)  是一种view容器布局标签中可以包含其他布局标签(类比图层) 3、androi...

2018-07-30 21:51:57 148

原创 Android之四大组件、六大布局、五大存储

一.四大组件:        Android四大组件分别为activity、service、content provider、broadcast receiver。一、android四大组件详解1、activity(1)一个Activity通常就是一个单独的屏幕(窗口)。(2)Activity之间通过Intent进行通信。(3)android应用中每一个Activity...

2018-07-27 14:11:23 260

原创 android 2

替换:   ctrl + F 1、不同程序间的页面跳转注册页面的唯一标识(在页面注册下面)在intent- filer 中填写获取意图对象,跳转到目标学号 2、页面跳转,携带数据添加数据 (intent.putextrea)---name----value-- 键值对接受数据   getIntent()获取intent对象,从而获取数据  intent.getstr...

2018-07-26 16:55:22 222

原创 android 1

安卓 (一款开源的操作系统) 环境:eclipse(从中加入安卓的 基本内库、闸包等)或者:用studio 控件顶级父类是:  View 类 1、按钮修改 textview加载布局文件找控件-------通过id找到控件------new Button按钮操作按钮----------------设置一个点击监听的事件(用匿名子类) ctrl + D ...

2018-07-25 21:17:32 443

原创 妙谈ARM内核和架构(转)

ARM产品越来越丰富,命名也越来越多。很多朋友提问: ARM内核和架构都是什么意思?内核和架构的关系是什么?比如ARMv7架构,这个架构指的是什么?小编选出了几个精彩回答!希望对嵌友们在选择设计电路时有所帮助~1.ARM内核:从ARM7、ARM9到Cortex-A7、A8、A9、A12、A15再到Cortex-A53、A57等,总之不同版本 ARM 有不同的想法。比如为高速度设计的Cort...

2018-07-23 19:03:55 148

原创 java EE 学习笔记 4

JAVA EE                                     (ctrl + 1:获取参数   ) 1、File类 (文件类)new File( 路径,文件名) 2、io流:   字符流(纯文本)、    字节流(图片、音频等,也能操作文本文件)                   字节流: Inputstream               ...

2018-07-20 16:06:39 125

原创 java EE 学习笔记 3

JAVA EE 1、类型判断运算符 : instanceof    如 if(n instanceof Bage) 2、内部类(寄生类)、外部类                 (注:外部类不能加static,内部类可以)编译时期 从JAVA编译成class字节码文件会生成两个独立的class文件创建对象:  new wai();在外部类中不能直接调用内部类的方法,...

2018-07-19 17:06:06 111

原创 java EE 学习笔记 2

JAVA EE                                          (除了基本类型以外,其它类型都是引用类型!) 1、get set 方法:    使用   alt + shift + s (快捷设置) (Generate getters and setters)2、string类型是个引用类型 3、数组:数组也是引用类型,以对象的形式存在...

2018-07-18 17:04:06 136

原创 java EE 学习笔记 1

JAVA EE 面向对象的语言: 1、对象就是实现功能的东西2、类是对象的图纸          类的创建:属性、方法、构造器     对象的创建 new()创建对象,对象的使用用 "."         一个源文件一般对应一个类     信息的封装     构造器(有参、无参)     权限: public(公共的)、private(私有的,只...

2018-07-17 16:59:23 244

原创 一些代码 for remember

这是考虑到避免内存重叠的memcpy,如有不足还请多多指点!void *memcpy(void *dest, const void *src, size_t count){char *d;const char *s;if (dest > (src+size)) || (dest < src)){d = (char *)dest;s = (char *)src;...

2018-07-16 20:11:57 274

原创 深入浅出 TCP/IP 协议栈

TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求。由于我们大部分时间都工作在应用层,下层的事情不用我们操心;其次网络协议体系本身就很复杂庞大,入门门槛高,因此很难搞清楚TCP/IP的工作原理,通...

2018-07-14 23:54:18 313

原创 IO的多路复用

使用select函数实现io多路复用 #include <sys/select.h> #include <sys/time.h> #include <sys/types.h> #include <unistd.h>1、select()int select(int nfds, fd_set *readfds, fd_set *writefd...

2018-07-11 22:35:54 129

原创 存储器管理单元、虚拟地址、内存映射的概念

一、MMUMMU是存储器管理单元的缩写,是用来管理虚拟内存系统的器件。MMU通常是CPU的一部分,本身有少量存储空间存放从虚拟地址到物理地址的匹配表。此表称作TLB(转换旁置缓冲区)。所有数据请求都送往MMU,由MMU决定数据是在RAM内还是在大容量存储器设备内。如果数据不在存储空间内,MMU将产生页面错误中断。MMU的两个主要功能是:1.     将虚地址转换成物理地址。2.     控制存...

2018-07-06 14:36:48 720

原创 内存映射文件原理

 原理 首先,“映射”这个词,就和数学课上说的“一一映射”是一个意思,就是建立一种一一对应关系,在这里主要是只 硬盘上文件 的位置与进程 逻辑地址空间中 一块大小相同的区域之间的一一对应,如图1中过程1所示。这种对应关系纯属是逻辑上的概念,物理上是不存在的,原因是进程的逻辑地址空间本身就是不存在 的。在内存映射的过程中,并没有实际的数据拷贝,文件没有被载入内存,只是逻辑上被放入了内存,具体到代...

2018-07-06 10:53:47 314

原创 如何玩转OpenMV

https://blog.csdn.net/HZ_CloudRiver/article/details/78177307?locationNum=6&fps=1

2018-07-05 15:25:21 1644 1

原创 System V IPC

System V IPC 1、概述   System V IPC共有三种类型:System V消息队列、System V 信号量、System V 共享内存区。 System V IPC操作函数如下:2、key_t键和ftok函数  三种类型的IPC使用key_t值作为他们的名字,头文件<sys/types.h>把key_t定义为一个整数,通常是一个至少32位的整数,由ftok...

2018-07-04 17:56:13 174

原创 pthread_cond_wait 中的 mutex 参数有什么用

原因简单说, 就是 cond_signal 这些函数在没有已经存在 cond_wait 的情况下, 什么也不会做; 因此, 如果出现先signal 后 wait 的时序, 则有可能导致 wait 死锁; 因此一个所谓常用做法就是将 signal 与 wait 都放进 mutex 保护下; 然后在 wait 之前检查某些条件, 如果满足了, 则不会调用 wait; 如下mutex_lock();...

2018-07-03 18:19:00 424

原创 GNU C 9条扩展语法

GNU C 对标准C进行一系列扩展,以增强标准C的功能。1、零长度和变量长度数组    GNU C 允许使用零长度数组,比如 char data[0];    GNU C 允许使用一个变量定义数组的长度如:        int n=0;        scanf("%d",&n);        int array[n];2、case 范围    GNU C支持 case x...y...

2018-07-02 20:24:51 458

原创 学习OpenWrt完美教程

http://zhidx.com/p/186.html从零开始学习OpenWrt完美教程Cisco/Linksys在2003年发布了WRT54G这款无线路由器,同年有人发现它的IOS是基于Linux的,然而Linux是基于GPL许可证发布的,按照该许可证Cisco应该把WRT54G 的IOS的源代码公开。2003年3月, Cisco迫于公众压力公开了WRT54G的源代码。此后就有了一些基于Cisc...

2018-06-24 22:57:43 22836

原创 数据结构的球钟问题(采用的是顺序栈和链式队列)

#include <stdio.h> 2.#include <stdlib.h> 3. 4.#define MAX 20 5. 6.#define _SEGMENT_ 7.#define _DEBUG_ 8. 9.//栈设计 10.typedef struct 11.{ 12. int data[MAX]; 13. ...

2018-06-23 22:28:54 260

原创 shell编程的初体验

 程序的功能如下: 编写一个shell脚本,实现以下功能 1、与用户交互,输入一个目录名,检测该目录是否存在。存在则继续下面的操作,不存在则退出 2、当目录名存在时,循环判断并输出目录中各文件的权限。#! /bin/bash echo "请输入一个目录"read dirif [ -d $dir ]then cd $dir for file in * do echo -n "$f...

2018-06-14 19:47:04 149

原创 shell脚本编程中常见的一些问题

如果要比较的字符串中间有空格,可以用下面的程序(摘自《Unix Shells by Example, 3rd Edition》)name="Joe Blow"if [[ $name == "Joe Blow" ]]then     printf "Hello $name\n"fi如果不带空格,则可以用下面的程序name="Joe"if [ $name = "Joe" ]then     pri...

2018-06-14 14:21:38 185

原创 永久修改PATH环境变量的几种办法

查看PATH:echo $PATH以添加mongodb server为列修改方法一:export PATH=/usr/local/mongodb/bin:$PATH//配置完后可以通过echo $PATH查看配置结果。生效方法:立即生效有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置用户局限:仅对当前用户 修改方法二:通过修改.bashrc文件:vim ...

2018-06-14 10:57:45 8440

原创 NAT协议的一些解释

1.为什么出现了NAT? IP地址只有32位,最多只有42.9亿个地址,还要去掉保留地址、组播地址,能用的地址只有36亿左右,但是当下有数以万亿的主机,没有这么多IP地址怎么办,后面有了IPv6,但是当下IPv4还是主流,利用IPv4怎么满足这么多主机的IP地址呢?答案就是NAT,NAT技术使公司、机构以及个人产生以及局域网,然后在各个局域网的边界WAN端口使用一个或多个公网的IPv4进行一对...

2018-06-14 08:36:21 3543

原创 DHCP的一些解释

一、什么是DHCP?  DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。简单来说,DHCP就是一个不需...

2018-06-13 19:08:21 18648

原创 Ubuntu中启用关闭Network-manager网络设置问题

Ubuntu中启用关闭Network-manager网络设置问题!【Server版本】在UbuntuServer版本中,因为只存有命令行模式,所以要想进行网络参数设置,只能通过修改/etc/network/interfaces。具体设置方法如下:(1) UbuntuServer 修改 IP地址打开/etc/network/interfacessudo vim/etc/network/inter...

2018-06-13 18:00:01 22303 1

原创 ipv4协议的详解

一、 IPv4协议报头格式 0                        4                          8                                               16                     19                          24                               ...

2018-06-13 12:41:26 3996

原创 IDE、SCSI、SATA几种常见的硬盘接口

 目前硬盘最要分为3种。也即:IDE、SCSI、SATA。首先,这三个都是一种硬盘的接口标准。        最初硬盘的通用标准即IDE(Integrated Device Electronics:电子集成驱动器),IDE经过不断的发展,除了开始的几个版本外,后续的几个版本都叫Ultra DMA,其中最快的是Ultra DMA133,速度达到了133M/s。而人们通常喜欢用ATA来称呼IDE硬...

2018-06-12 21:08:11 7118

转载 Linux中的软链接和硬链接(转)

Linux 系统中有软链接和硬链接两种特殊的“文件”。软链接可以看作是Windows中的快捷方式,可以让你快速链接到目标档案或目录。硬链接则透过文件系统的inode来产生新档名,而不是产生新档案。创建方法都很简单:软链接(符号链接) ln -s   source  target 硬链接 (实体链接)ln       source  targetinode要解释清楚两者的区别和联系需要先说清楚 ...

2018-06-12 18:35:21 189

原创 在linux中inode和软链接与硬链接的联系

Linux 的文件与目录现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用。在 UNIX 系统中,操作系统为磁盘上的文本与图像、鼠标与键盘等输入设备及网络交互等 I/O 操作设计了一组通用 API,使他们被处理时均可统一使用字节流方式。换言之,UNIX 系统中除进程之外的一切皆是文件,而 Linux 保持了这一特性。为了便于文件的管理...

2018-06-12 18:24:06 809 1

空空如也

空空如也

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

TA关注的人

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