自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Linux进程状态

转载出处:http://blog.csdn.net/shenwansangz/article/details/51981459Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。Linux进程转换图:Linux进程状态:R (TASK_RUNNING),可执行状态。 

2017-12-17 09:58:10 215

原创 C语言位操作

位与、位或、位异或的特点总结及使用:位与:(任何数,其实就是1或者0)与1位与无变化,与0位与变成0 特定位清0(&)特定位为0,其他位为1位或:(任何数,其实就是1或者0)与1位或变成1,与0位或无变化 特定位置1(|)特定位为1,其他位为0位异或:(任何数,其实就是1或者0)与1位异或会取反,与0位异或无变化 特定位取反(^)特定位为1,其他位为01>.位与

2017-12-14 21:09:35 727

原创 C语言关键字

1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。      也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数

2017-12-14 21:07:19 282

原创 Linux网络编程

OSI七层结构模型:物理层在OSI参考模型中,物理层(Physical Layer)是参考模型的最低层,也是OSI模型的第一层。物理层的主要功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实

2017-12-14 21:01:12 1914

原创 Linux应用编程

一、【线程与进程】       、进程:a>.进程技术优势:(1)CPU时分复用,单核心CPU可以实现宏观上的并行(2)实现多任务系统需求(多任务的需求是客观的)b>.进程技术劣势(1)进程间切换开销大(2)进程间通信麻烦而且效率低、线程a>.线程技术保留了进程技术实现多任务的特性。b>.线程的改进就是在线程间切换和线程间通信上提升了效率。c>.多线程在

2017-12-14 20:45:48 390

原创 Linux中的信号

一、信号总述(1)什么是信号:信号是内容受限的一种异步通信机制,信号由谁发出:(1)用户在终端按下按键(2)硬件异常后由操作系统内核发出信号(3)用户使用kill命令向其他进程发出信号(kill -9 xxx       :杀死相应进程)(4)某种软件条件满足后也会发出信号,如alarm闹钟时间到会产生SIGALARM信号,向一个读端已经关闭的管道write时会产生SIGPIP

2017-12-14 20:43:41 170

原创 Linux进程全解

3.4Linux进程全解一、程序的开始与结束:我们通常认为C语言的起始函数是main函数,实质上一个程序的启动函数并不一定是main函数,这个可以采用链接器来设置,但是gcc中默认main就是C语言的入口函数,在main函数启动之前,内核会调用一个特殊的启动例程,这个启动例程从内核中取得命令行参数值和环境变量值,为调用main函数做好准备,因此对应程序而言main函数并不是起始,但是对应C

2017-12-14 20:39:34 572

原创 获取Linux系统信息

一、常用的时间相关的API和C库函数:timetime_ttime(time_t *t);       time(&tNow);time系统调用返回当前时间以秒为单位的距离1970-01-01 00:00:00 +0000(UTC)过去的秒数。这个time内部就是用jiffies换算得到的秒数。/*****************************************

2017-12-14 20:38:24 444

原创 Linux下的文件属性 & 杂散问题

一、linux中各种文件类型(1)普通文件(-        regular file)(1)文本文件。常见的.c文件, .h文件  .txt文件等都是文本文件。文本文件的好处就是可以被人轻松读懂和编写。(2)二进制文件。常见的可执行程序文件(gcc编译生成的a.out,arm-linux-gcc编译连接生成的.bin)都是二进制文件。【对比】:     1>.(刨除文件属性和

2017-12-14 20:04:25 240

原创 Linux中的文件IO

(1).文件IO:IO就是输入输出,文件IO就是读写文件。文件IO & 标准IO(1)文件IO就指的是我们当前在讲的open、close、write、read等API函数构成的一套用来读写文件的体系,这套体系可以很好的完成文件读写,但是效率并不是最高的。(2)应用层C语言库函数提供了一些用来做文件读写的函数列表,叫标准IO。标准IO由一系列的C库函数构成(fopen、fclose、

2017-12-14 20:00:42 329

原创 uboot文件配置 & uboot启动第一阶段

x210官方uboot文件配置:【1解压】先将BSP(板级支持包)copy在/root目录下,并解压。tar -jxvf qt_x210v3_130807.tar.bz2【2配置】:【make x210_sd_config】出现Configuring for x210_sd board...表明配置成功。【3编译】:【make】 得到uboot.bin先cd进入uboot目录下,再vi

2017-12-14 19:55:38 1641

原创 uboot启动第二阶段

/*****************************************前言************************************/一、start_armboot函数简介A>.ldr pc, _start_armboot,这个跳转【即:start_armboot函数】是启动第一阶段和启动第二阶段的分界线。 B>.这个函数在uboot/lib_a

2017-12-14 19:52:02 586

转载 Linux字符设备驱动

转载地址:http://www.cnblogs.com/lihuidashen/p/4426129.html一、linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设

2017-12-06 22:12:36 196

原创 驱动分析——相关头文件包含

#include //module_init() & module_exit()#include //__init() & __exit()#include //register_chrdev() & unregister_chrdev()#include //copy_from_user() & copy_from_user()#include #include

2017-11-24 12:41:59 395

原创 驱动注册的两种方式(一)——file_operations结构体

#include //module_init() &module_exit()#include //__init()& __exit()#include #include //module_init() & module_exit()#include //__init __exit#include //register_chrdev() & unre

2017-11-24 12:11:59 3016

原创 Linux内核三大数据结构——file_operations、file & inode

file_operations:    该结构是将系统调用 和驱动程序连接起来,这个结构的每一成员都对应着一个系统调用。当用户进程利用系统调用对设备进行读写操作的时候,这些系统调用通过设备节点中的主设备号和次设备号来确定相应的驱动程序,而每一个字符驱动在linux内核中又是由cdev结构体来描述的,其中cdev结构体中含有成员fops结构体,然后就可以读取file_operations结构体中

2017-11-12 16:33:03 962

原创 驱动入门——Makefile分析

#ubuntu的内核源码树,如果要编译在ubuntu中安装的模块就打开这2个#KERN_VER = $(shell uname -r)#KERN_DIR = /lib/modules/$(KERN_VER)/build # 开发板的linux内核的源码树目录KERN_DIR = /root/driver/kernelobj-m += module_test.o

2017-11-11 19:39:52 369

空空如也

空空如也

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

TA关注的人

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