自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 CVE-2015-7547 临时解决方法

采用临时解决方法:限制UDP 回复字节512字节,限制tcp回复字节为1024见https://www.seebug.org/vuldb/ssvid-90749send_vc    TCP部分添加send_dg    udp部分代码添加

2016-04-27 17:33:42 1909

转载 CVE-2015-7547 分析代码bug

原址:https://www.sdk.cn/news/2189Glibc中处理DNS查询的代码中存在栈溢出漏洞,远端攻击者可以通过DNS服务回应特定构造的DNS响应数据包,导致glibc相关的应用程序crash或者利用栈溢出运行任意代码。应用程序调用使用getaddrinfo 函数将会收到该漏洞的影响。该漏洞编号CVE-2015-7547。◆◆◆受影响的系统有哪些?Ce

2016-04-27 11:10:05 660

转载 CVE-2015-7547溢出漏洞的简单分析与调试 glibc getaddrinfo

bug:说明https://www.seebug.org/vuldb/ssvid-90749漏洞编号:SSV-90749披露/发现时间:2015-07-13提交时间:2016-02-17漏洞等级:漏洞类别:缓冲区溢出CVE-ID:CVE-2015-7547CNNVD-ID:补充 CNVD-ID:补充 漏

2016-04-27 11:07:38 2963

转载 构建Linux根文件系统

转自:七天不吃饭三天不喝水,天天做题的家伙:http://luojilie.blog.163.com/blog/static/191826963201292463719738/构建Linux根文件系统:第一步:移植安装busybox——Unix命令集合。    见上个文件。第二步:使用glibc库:    安装lib库文件:    开发板上只需要加载器和动态库:

2016-04-26 09:03:10 278

转载 一步一步制作yaffs/yaffs2根文件系统(二)---安装BusyBox,构造/bin、/sbin、/usr、linuxr

转自:王文松博客:http://blog.csdn.net/mybelief321/article/details/9896613 开发环境:Ubuntu 12.04                            开发板:mini2440  256M NandFlash   64M SDRAM                             交叉编译器:ar

2016-04-26 08:56:08 318

转载 构造根文件系统三之构建etc、dev等剩余目录

转自:http://blog.csdn.net/mybelief321/article/details/9896613 前面两节介绍了如何安装Busybox、C库,建立了 bin/、sbin/、usr/sbin、usr/bin、lib/等目录,最小根文件系统的大部分目录、文件已经建好。本节介绍剩下的部分,假设开发板的根文件系统在主机上的目录为/home/song/nfs_root/fs

2016-04-26 08:52:43 306

转载 Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解

转自:http://blog.csdn.net/mybelief321/article/details/9076583安装环境       Linux版本:Ubuntu 12.04    内核版本:Linux 3.5.0   交叉编译器版本:arm-linux-gcc-4.4.3 这个版本的交叉编译器我已经上传到了资源上,可以随便下载,点此下载安装前的絮叨    首

2016-04-26 08:50:19 512

转载 构建根文件系统二之安装使用glibc库

原址:http://www.tuicool.com/articles/UvQV3a 在我们制作交叉编译工具链arm-linux-gcc时,已经生成了glibc库,可以直接使用它来构建根文件系统,本文使用的时光盘里自带的压缩库,由下图可以看出,这是arm-linux-gcc3.4.5版本的glibc库,而我的arm-linux-gcc是4.4.3的,可不可以使用呢?可以的啊!glibc库

2016-04-25 14:14:57 607

转载 ./configure 参数详解

总结一下:./config  参数列表Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。  与一些技巧相比,Configure显得基础一些,当然使用和学习

2016-04-22 11:50:51 2465

原创 hisiv400+glibc-2.23编译

记录:首先从gnu官网下载最新版的glibc,地址http://www.gnu.org/software/libc/ $tar xvf glibc-2.23.tar.bz$cd glibc-2.23$.configure --prefix=/user1/yueyc/hisi-glibc-2.23 --host=arm-linux --enable-add-o

2016-04-22 11:39:17 3963

转载 YUV像素和ycbcr

原文:http://www.cnblogs.com/biglucky/p/4128450.html一幅彩色图像的基本要素是什么?说白了,一幅图像包括的基本东西就是二进制数据,其容量大小实质即为二进制数据的多少。一幅1920x1080像素的YUV422的图像,大小是1920X1080X2=4147200(十进制),也就是3.95M大小。这个大小跟多少个像素点和数据的存储格式有关。下面

2016-04-21 14:35:30 539

转载 RGB、YUV和YCbCr

转自:http://blog.sina.com.cn/s/blog_a85e142101010h8n.html之前对RGB、YUV和YCbCr一直没有清晰的理解和认识,今天打算做一个小结,结合网上的文章谈谈自己的看法,也希望有机会看到这篇文章的人能指点一二,相互交流,共同进步。    首先要说明,上述的RGB、YUV和YCbCr都是人为规定的彩色模型或颜色空间(有时也叫彩色系统或彩

2016-04-21 11:54:14 343

转载 RGB/YUV/YCbCr--关于显示,颜色你需要了解的一些 事 入门扫盲好文章

转自:http://www.52rd.com/Blog/Detail_RD.Blog_SHRDFresh_64107.html?WebShieldDRSessionVerify=9SBPE8cKzz8CRka3FqU6工作中常听说RGB/YUV/YCbCr 这样一些名词,概念上似乎很混淆?这里是一个简介,部分内容来自wiki,理解不对的地方欢迎指正。  A:首先

2016-04-21 11:43:00 5501

转载 linux 监视文件系统inotify 测试

原址:http://blog.csdn.net/hepeng597/article/details/7792565一、简介Inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等。您还可以跟踪活动的源头和目标等细节。在实际项目中,如果项目带有配置文件,那么怎么让配置文件的改变和项目程序同步而不需要重启程序

2016-04-20 15:20:01 712

转载 Linux inotify功能及实现原理

1. inotify主要功能它是一个内核用于通知用户空间程序文件系统变化的机制。众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如 hotplug、udev 和 inotify 就是

2016-04-20 15:17:33 263

转载 Linux下网卡phy状态检测与控制

原址:http://blog.sina.com.cn/s/blog_79453a7e0100p9t7.html最近在一个项目中,集成一个交换机芯片的时候,遇到一些麻烦,发现交换机的性能总是上不去,100M的交换机,实际交换能力只有10M。跟做硬件的同事一起,花了几周时间调试,才找到问题。原来是接到交换机芯片上的几个子系统,用的Micrel 8041PHY芯片,默认关闭了硬件

2016-04-19 18:46:02 3340

转载 Linux下使用popen()执行shell命令

简单说一下popen()函数函数定义#include FILE * popen(const char *command , const char *type );int pclose(FILE *stream);函数说明  popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程。这个管道必须由pclo

2016-04-19 17:08:29 467

转载 关于文件I/o的原子操作

【摘自《Linux/Unix系统编程手册》】所有系统调用都是以原子操作方式执行的。这里是指内核保证了某系统调用中的所有步骤会作为独立操作而一次性执行,其间不会为其它进程或线程所中断。原子性是某些操作得以圆满成功的关键所在。特别是它规避了竞争状态(race conditions)。竞争状态是这样一种情形:操作共享资源的两个进程(或线程),其结果取决于一个无法预期的顺序,即这些进程(或

2016-04-18 18:33:54 867

转载 Linux 下smi/mdio总线通信

Linux 下smi/mdio总线通信韩大卫@吉林师范大学下面代码描述了在用户层访问smi/mdio总线, 读写phy芯片寄存器的通用代码。Linux内核2.6以上通用。将下面代码编译后,将可执行文件a.out 重命名为mdiomdio eth0 1 读取phy寄存器1的数值mdio eth0 0 0x1120 将0x1120写入 phy寄存器1eth0 为mac层

2016-04-15 13:10:43 1077 1

转载 Ubuntu下shell脚本运行异常:bash和dash的区别

echo $SHELL  -->  /bin/bashtype sh      -->  /bin/sh然后我到/bin下看了有"sh -> dash",原来sh是/bin/dash的链接。后来google了一下才发现,buntu6.10已将先前默认的bashshell更换为了dash。其表现是/bin/sh链接到了/bin/dash而不是传统的/bin/bash。

2016-04-15 11:11:36 507

转载 网口扫盲三:以太网芯片MAC和PHY的关系

原址:http://www.cnblogs.com/jason-lu/articles/3195473.html问:如何实现单片以太网微控制器?答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数、缩小芯片面积.单片以太网微控制器还降低了功

2016-04-14 13:37:14 567

转载 使用struct ifreq实现ifconfig

ifconfig C

2016-04-14 12:57:42 547

转载 原始套接字SOCK_RAW

实际上,我们常用的网络编程都是在应用层的报文的收发操作,也就是大多数程序员接触到的流式套接字(SOCK_STREAM)和数据包式套接字(SOCK_DGRAM)。而这些数据包都是由系统提供的协议栈实现,用户只需要填充应用层报文即可,由系统完成底层报文头的填充并发送。然而在某些情况下需要执行更底层的操作,比如修改报文头、避开系统协议栈等。这个时候就需要使用其他的方式来实现。 一 原始套

2016-04-14 11:30:06 811

转载 Linux系统中/dev/mtd与/dev/mtdblock的区别

MTD(memory technology device内存技术设备)是用于访问memory设备(ROM、flash)的Linux的子系统。MTD的主要目的是为了使新的memory设备的驱 动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。MTD的所有源代码在/drivers/mtd子目录下。我将CFI接口的MTD设备分为四层 (从设备节点直到底层硬件驱动),这四层从上到下依次是:设备节点、

2016-04-13 15:39:24 340

转载 比较kmalloc/vmalloc/get_free_pages

对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC0000000),3GB到4GB为内核空间。内核空间中,从3G到vmall

2016-04-08 16:04:21 288

转载 在Linux中使用线程

转自:http://www.linuxidc.com/Linux/2013-10/91381.htm我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下。如果你之前有过多线程方面的编程经验,完全可以忽略本文的内容,因为它非常的初级。首先说明一下,在Linux编写多线程程序需要包含头文件pthread.h。也就是说你在任何采用多线程设计的程序中都会看到类似这样的

2016-03-31 09:57:10 336

转载 Linux驱动中completion接口浅析(wait_for_complete例子,很好)

completion是一种轻量级的机制,它允许一个线程告诉另一个线程工作已经完成。可以利用下面的宏静态创建completion:                         DECLARE_COMPLETION(my_completion);                如果运行时创建completion,则必须采用以下方法动态创建和初始化:               

2016-03-25 16:40:24 825

转载 Poll机制分析(转韦东山)

poll 机制

2016-03-25 16:22:19 289

转载 Linux 的 completion机制

一、定义:linux/include/linux/completion.h 13struct completion { 14 unsigned int done; 15 wait_queue_head_t wait; 16}; 二、作用:虽然信号量可以用于实现同步,但往往可能会出现一些不好

2016-03-24 18:44:40 346

转载 spin_lock、spin_lock_irq、spin_lock_irqsave区别

void spin_lock(spinlock_t *lock);void spin_lock_irq(spinlock_t *lock);void spin_lock_irqsave(spinlock_t *lock, unsigned long flags);1、spin_lock与spin_lock_irq区别在Linux内核中何时使用

2016-03-23 17:52:33 455

转载 Linux下实现U盘、SD卡自动挂载功能(转)

在 Linux中我们经常用到U盘、SD卡的挂载问题,每次都手动挂载或卸载非常麻烦,我们可以采取以下方法实现自动挂载或卸载U盘、SD卡http://blog.csdn.net/xdw1985829/article/details/6684968#comments(copy原址)1、首先在/etc/init.d/rsC中加入以下语句echo /sbin/mdev > /pr

2015-12-30 15:30:42 600

转载 嵌入式wpa_supplicant的移植

wpa_supplicant openssl arm 移植

2015-12-11 16:39:22 514

原创 嵌入式linux C语言 如何同步系统时钟到硬件时钟

网络资源一大抄,抄来抄去瞎胡闹。贱人一堆。使用settimeofday设置时间后, 重启系统时间并没有设置成功是因为settimeofday,紧紧能设置系统时间并不能设置硬件时间,开机时linux会从硬件的rtc的时钟芯片中获取一次硬件时间,然后以此为基础来运行系统时间。settimeofday  相当于date shell命令,紧紧能设置系统时间。如果想设置硬件时间,需要

2015-10-23 19:14:41 3024

转载 Alsa是Linux高级音频接口(百度文库无下载券抄来的)

Alsa是Linux高级音频接口。面对众多的音频设备,Alsa为Linux音频开发人员提供了一套标准的访问机制,使得音频开发变得十分容易。不信?下面我们就利用它编写一个简单的录音/播音程序,不过这需要你有一定的计算机语言基础。一个典型的音频程序应该具有以下结构:  打开音频设备  为设备设置读写参数  向音频设备读/写音频数据  关闭设备,Alsa库为我们实现这些操作提供了丰富的接口。

2015-10-10 10:49:59 665

转载 C语言获取文件CRC32算法附加CRC原理(转)

最后得到的余数就是CRC码。下面是网上找到的CRC原理,不弄长的了,凑合看吧。 CRC 校验的基本思想是利用线性编码理论,在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的监督码(既CRC 码)r 位,并附在信息后边,构成一个新的二进制码序列数共(k+r)位,最后发送出去。在接收端,则根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。16

2015-10-10 10:29:42 1365

转载 libcurl之ftp上传 & 下载 (转)

源地址:http://my.oschina.net/pathenon/blog/66154由于项目的需要,利用libcurl编写程序与ftp服务器通信,进行文件上传或下载,愈发地感到curl功能的强悍。其实在命令行下直接使用curl命令就可以完成这些功能,但是需要获取上传下载行为的状态以便更好地控制。直接上代码: #ifndef _FTP_MANAGER_H_#def

2015-10-09 12:39:38 846

工具合集制作范例 i2c-read->btools i2c-write->btools等工具

一个仿busybox 范例 i2c_read->btools i2c_write->btools

2018-05-22

日历转UTC秒 C语言源码

以前上传的资源中有个小bug,又不好修正就从新传一次 //if (tim_p->tm_mon > 1 && _DAYS_IN_YEAR (tim_p->tm_year) == 366) if (tim_p->tm_mon > 2 && _DAYS_IN_YEAR (tim_p->tm_year) == 366) days++;

2016-02-18

日历时间转UTC秒 日历时间 UTC 格林威治 秒

日历时间 UTC 格林威治 秒 ,将日历时间转换为UTC 4字节。

2014-03-26

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

TA关注的人

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