自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 linux设备驱动--字符设备驱动

一、linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:1、字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。2、块设备:是指可以从设备的任意位置读取一定长度数据的设备。块设备包括硬盘、磁盘、U盘和SD卡等。  每一

2017-03-21 20:38:18 472

转载 Linux系统编程——I/O多路复用select、poll、epoll的区别使用

I/O 多路复用技术是为了解决进程或线程阻塞到某个 I/O 系统调用而出现的技术,使进程不阻塞于某个特定的 I/O 系统调用。select(),poll(),epoll()都是I/O多路复用的机制。I/O多路复用通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪,就是这个文件描述符进行读写操作之前),能够通知程序进行相应的读写操作。但select(),

2017-03-02 16:40:49 535

转载 new/delete 和 new[]/delete[] 配套使用

new 和 delete 到底是什么?如果找工作的同学看一些面试的书,我相信都会遇到这样的题:sizeof 不是函数,然后举出一堆的理由来证明 sizeof 不是函数。在这里,和 sizeof 类似,new 和 delete 也不是函数,它们都是 C++ 定义的关键字,通过特定的语法可以组成表达式。和 sizeof 不同的是,sizeof 在编译时候就可以确定其返回值,new 和 dele

2017-01-13 16:05:41 683

转载 进程和线程的区别

1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.2.关系

2017-01-08 16:51:57 434

转载 rand和srand的用法

首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明。rand(产生随机数)表头文件: #include 定义函数 :int rand(void) 函数说明 :因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand

2016-07-20 10:04:00 740

转载 802.11协议解析

1.1  802.11n标准发展历程IEEE 802.11工作组意识到支持高吞吐将是WLAN技术发展历程的关键点,基于IEEE HTSG (High Throughput Study Group)前期的技术工作,于2003年成立了Task Group n (TGn)。n表示Next Generation,核心内容就是通过物理层和MAC层的优化来充分提高WLAN技术的吞吐。由于802.11n

2016-07-16 10:34:51 23645

转载 linux下的GDB调试

调用gdb编译需要在cc后面加 -g参数再加-o;[root@redhat home]#gdb 调试文件:启动gdb(gdb) l :(字母l)从第一行开始列出源码(gdb) break n :在第n行处设置断点(gdb) break func:在函数func()的入口处设置断点(gdb) info break: 查看断点信息(gdb) r:运行程序

2016-07-15 15:33:05 718

转载 TCP/IP协议 三次握手和四次挥手

转载自:http://blog.csdn.net/renzhenhuai/article/details/12105457一、TCP报文格式        TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式        上图中有几个字段需要重点介绍下:        (1)序号:Seq序号,占32位,用来

2016-07-15 15:20:57 717

转载 回调函数的理解

转载自:http://blog.csdn.net/callmeback/article/details/4242260/在看LWIP时,见到用回调函数,再看某老外公司OPC源代码时,见到用回调函数。看我国内某些代码(我公司软件等)时没用到。于是,我对回调函数产生了很大的好奇。以前,我写VC程序时用到过回调函数,但是没有用C语言来使用。最近,看到国外大量的经典代码中广泛使用了回调函数(LWI

2016-07-14 22:50:34 649

转载 指针函数和函数指针的区别

在学习ARM的过程中发现“指针函数”和“函数指针”的容易混淆,今天在网上找到这个博客写得非常详细就是转载留下了,感谢这位博主转载自:http://blog.csdn.net/ameyume/article/details/82208321.指针函数先看下面的函数声明,注意,此函数有返回值,返回值为int *,即返回值是指针类型的。[cpp] view

2016-07-14 10:03:37 689

转载 堆和栈的区别

文章转自:http://blog.csdn.net/hairetz/article/details/4141043一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   — 

2016-06-28 15:20:49 442

原创 S3C2440开发板+RT3070无线网卡 基于hostapd+udhcpd+iptables实现softAP模式(路由器)

*********************************************************主机开发环境:Centos6.5交叉编译器:arm-linux-gccLinux内核版本:Linux-3.0开发平台:FL2440开发板作者:ZhengNice***************************************

2016-06-16 21:44:00 4415

原创 基于TCP/IP协议的socket编程

=============================================================================开发环境:windows开发工具:VC6.0注意:由于我们使用的socket编程要使用到ws2_32.lib这个动态库,所以在我们编译之前要加上该动态库的连接============================

2016-05-20 20:10:03 2862

原创 socket编程常用函数解析

====================================================================================================================================开发环境:windows开发工具:VC6.0========================================

2016-05-20 20:06:58 3582

原创 基于UDP协议的socket编程

=============================================================================开发环境:windows开发工具:VC6.0注意:由于我们使用的socket编程要使用到ws2_32.lib这个动态库,所以在我们编译之前要加上该动态库的连接====================================

2016-05-16 22:11:31 1689

原创 基于TCP/IP和UDP协议的socket编程结构解析

1.套接字(socket)socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭).说白了Socket是应用层与TCP/IP协议族通信的中间软件抽象层

2016-05-16 21:45:52 8505

原创 OSI七层网络模型与TCP/IP四层网络模型

OSI模型,即开放式通信系统互联参考模型(Open System Interconnection,OSI/RM,Open Systems Interconnection Reference Model),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。OSI网络模型按照其不同功能可以划分为七层,如下图所示在OSI模型中,通信实体的对

2016-05-16 20:42:36 17609

原创 s3c2440开发板Linux系统下eeprom驱动制作以及读写程序

最近一段时间主要将s3c2440开发板下eeprom的驱动做好了,并编写程序进行了eeprom的读写操作的测试,这篇文章主要是总结一下eeprom的驱动制作以及测试程序的编写。=============================================================================开发环境:Centos6.5内核版本:

2015-11-27 15:05:18 2496 1

原创 linux系统在往文件写入之后,读出来后面却又乱码原因

===================================================================================================================================linux系统下文件写入,读取出现乱码原因        前一段时间做好了FL2440开发板eeprom的驱动,今天在编写往eep

2015-11-11 22:50:08 4957 1

转载 linux学习之命令参数解析——getopt()函数

Linux命令行参数解析函数——getopt()=============================================================================    最近在做应用程序的时候常常会用到命令行参数,如cmd -a -b xx,getopt函数的功能就是实现命令行参数解析。表头文件 #includegetop

2015-11-02 16:34:32 611

转载 UBI error: ubi_io_write: error -5 while writing 512 bytes to PEB 60:512, wri

UBI error: ubi_io_write: error -5 while writing 512 bytes to PEB 60:512, wriIf you have a 2048 bytes per NAND page device, and have CONFIG_MTD_NAND_VERIFY_WRITE enabled in your kernel, you will

2015-08-08 11:40:03 1612

原创 移植好uboot和基于initramfs根文件系统Linux内核的开发板的启动过程

我们移植好uboot和Linux内核之后,当我们重启之后,开发板首先做的事情就是将nandflash前4K的内容复制到SRAM中去,由于SRAM只有4K大小,所以我们必须将初始化CPU、内存、中断、关闭开门狗以及nandflash中uboot拷贝到SDRAM中的的程序都放在这前4K的位置中去。而将程序编译生成一个可执行文件的最后一个过程是链接,而链接生成的可执行文件又可以分成很多段。在GUN/

2015-08-02 09:16:17 1565 1

原创 执行一个shell脚本而导致虚拟机centos6崩溃,慎重使用root权限

今天在制作根文件系统的时候,执行了一个脚本之后,虚拟机就出现了问题,不论执行什么名都会出现相同的错误,只好重启虚拟机,重启虚拟机后出现以下界面在网上查找,并没有没找出原因,询问老师之后,分析的原因是估计是脚本不小心删了系统的文件,或覆盖了某些文件导致系统坏了,这是一个很好的教训,之后再使用root时要非常小心,每一条命令都要搞清楚。

2015-07-29 21:04:08 937

转载 Uboot的作用以及启动内核的过程

uboot是用来干什么的,有什么作用?uboot 属于bootloader的一种,是用来引导启动内核的,它的最终目的就是,从flash中读出内核,放到内存中,启动内核所以,由上面描述的,就知道,UBOOT需要具有读写flash的能力。uboot是怎样引导启动内核的?uboot刚开始被放到flash中,板子上电后,会自动把其中的一部分代码拷到内存中执行,这部分代码

2015-07-28 09:22:52 7459

原创 uboot移植时自己修改也正确,但是却make不成功的问题

uboot移植的时候我们难免会出一些小的问题而make出现问题,但是当我们修改正确之后,make却任然会出现问题,这个 时候我们就会觉得非常奇怪,为什么我什么步骤修改全部正确,分析之后又一下两个原因:1.修改之后我们没重新 make fl2440_config,来重新配置我们开发板2.之前的我在生成.bin文件时候产生某些错误的文件,依然存在,而我们的编译器在编译的过程中忽略了这个问题,这

2015-07-27 10:29:31 818

原创 Windows 与开发板之间使用tftp服务不通的问题

在开发板的烧录过程中,我们会使用tftp服务来下载.bin文件到开发板上,但是用网线把电脑和开发板连接起来,开发板ping不通电脑(电脑连的是无线网,ping 无线网的ip)。但是把无线网关闭后,设置电脑本地连接 IPV4,ip和开发板ip 在一个网段内,用开发板ping电脑,ping的通,可以在开发板u-boot界面tftp下载文件。疑问:为什么无线网的时候就不行?这是因为无线网跟无线路

2015-07-27 09:57:41 2979

转载 虚拟机下centos6的网络IP配置

之前在配置虚拟机centos6的网络IP的时候选择的时候是桥接,IP选择的是自动获取,使用了一段时间,并没有什么问题,今天却发现自己的虚拟机使用secureCRT登录不进去,后来发现由于自己的IP的静态获取的,容易与其他电脑的IP发生冲突,网上搜寻了下虚拟机下centos6的网络IP配置方法,总共有三种:1、自动获取IP地址虚拟机使用桥接模式,相当于连接到物理机的网络里,物理机

2015-07-26 09:56:49 1991

原创 gcc连接静态库的时候的出现错误/usr/bin/ld: cannot find -lc

gcc连接静态库的时候出现错误提示:/usr/bin/ld: cannot find -lc具体过程:gcc main.c -o test -Ladd -ladd -Lsub -lsub  -Iadd -Isub -static ;错误:/usr/bin/ld: cannot find -lc问题出在静态编译时需要链接静态库,而静态编译时需要将所有的.a库链接到可执行程序中,所以需要l

2015-07-15 16:06:19 2258

原创 E212:无法打开并写入文件

今天开始练习vim的使用以及其配置文件,在配置好vim文件之后,开始建立了一个test.c的文件开始测试,但是出现了错误:E212:无法打开并写入文件。在查看的/home的权限之后发现,并没有写权限drwxr-xr-x.   3 root root  4096 7月  12 18:52 home更改/home的权限或者去有权限的目录下创建就可以了。

2015-07-12 20:05:40 66920 8

空空如也

空空如也

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

TA关注的人

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