自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mrwangwang的专栏

关注微信公众号IEEE,IEEE、万方文献及国内外专利下载,更多技术文章阅读

  • 博客(453)
  • 资源 (15)
  • 收藏
  • 关注

原创 如何在Ubuntu 18.04 LTS上使用UFW设置防火墙

正确配置防火墙是整个系统安全中最重要的方面之一。默认情况下,Ubuntu 18.04 LTS 附带了一个名为 UFW(UncomplicatedFirewall)的防火墙配置工具,UFW 是一个「用户友好」的前端,可以用于管理 iptables 防火墙规则,其主要目的就是让管理 iptables 更加轻松容易。安装UFWUbuntu 18.04 LTS 系统中已经默认附带了 UFW 工具...

2019-08-20 10:16:09 819

原创 snprintf函数使用总结

一直有接触snprintf,经久不用知识点又会模糊,记录下来以便日后查看【依赖头文件】#include<stdio.h>【函数原型】int snprintf(char *str, size_t size, const char *format, ...);【函数参数】str:目标字符串;size:拷贝字节数(Bytes); format:源字符串; ...格式...

2019-08-11 22:50:54 452

原创 字符串拷贝函数memcpy和strncpy以及snprintf 的性能比较

问题:函数memcpy(dest, src, sizeof(dest))、strncpy(dest, src, sizeof(dest))和snprintf(dest, sizeof(dest), “%s”, src)都可以将src字符串中的内容拷贝到dest字符串中。哪一种方式效率最高呢?就是说,哪种方式性能最好呢?解决办法:建立三个文件test_memcpy.c,test_strncp...

2019-08-11 22:48:40 929

原创 #、##、__VA_ARGS__和##__VA_ARGS__的作用

一、#用来把参数转换成字符串例子一:#define P(A) printf("%s:%d\n",#A,A);int main(int argc, char **argv){int a = 1, b = 2;P(a);P(b);P(a+b);system("pause");}...

2019-08-09 21:18:17 1591 1

原创 __attribute__ ((format (printf, 2, 3))); 介绍

功能:__attribute__ format属性可以给被声明的函数加上类似printf或者scanf的特征,它可以使编译器检查函数声明和函数实际调用参数之间的格式化字符串是否匹配。format属性告诉编译器,按照printf, scanf等标准C函数参数格式规则对该函数的参数进行检查。这在我们自己封装调试信息的接口时非常的有用。format的语法格式为:format (archet...

2019-07-31 23:04:59 936

转载 DPDK 实现的不完全笔记

写在前面本系列记录了作者在项目过程中由于好奇心驱使而了解到的部分DPDK实现细节。比较适合有同样好奇心的DPDK的初学者,通过本文您可以学习到DPDK的整体工作原理以及部分实现细节您不能学习到应用DPDK进行性能调优如果对DPDK的起源不是很清楚的话,可以先浏览下绝对干货!初学者也能看懂的DPDK解析,重点就是Linux + x86网络IO瓶颈这部分,总结一句话就是Linu...

2019-07-09 18:17:03 1284

转载 绝对干货!初学者也能看懂的DPDK解析

一、网络IO的处境和趋势从我们用户的使用就可以感受到网速一直在提升,而网络技术的发展也从1GE/10GE/25GE/40GE/100GE的演变,从中可以得出单机的网络IO能力必须跟上时代的发展。1.传统的电信领域IP层及以下,例如路由器、交换机、防火墙、基站等设备都是采用硬件解决方案。基于专用网络处理器(NP),有基于FPGA,更有基于ASIC的。但是基于硬件的劣势非常明显,发生Bu...

2019-07-09 18:03:11 5534

转载 Introduction to CMake by Example

IntroductionThis article provides a straightforward set of “Hello World!”introductions to using CMake for building C++ projects.All steps are performed using Linux on the BeagleBone platform, but ...

2019-07-04 19:16:06 336

转载 Google Protocol Buffer 的使用和原理

简介什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Protocol ...

2019-07-03 18:27:51 601

转载 pkg-config 详解

1 什么是pkg-configpkg-config是一个linux下的命令,用于获得某一个库/模块的所有编译相关的信息。例子:pkg-config opencv –libs –cflags结果:-I/usr/include/opencv/usr/lib/x86_64-linux-gnu/libopencv_calib3d.so /usr/lib/x86_64-linu...

2019-06-27 18:41:12 5970

转载 net-snmp agent开发详解,非常简单

花了一两天时间测试和整理一下。用net-snmp扩展MIB库,实现方法可归结为四种:1)一是静态库方式,通过修改配置头文件,在相应地方包含新引入的mib模块的.c和.h文件,然后重新编译库文件和扩展代码;这种方式不够灵活,每次修改扩展的MIB后,都需要重新编译snmpd和扩展的代码,再重新安装snmpd到系统中。2)二是编译动态共享库,只需把新引入的MIB模块的.c和.h文件编译成动态...

2019-06-05 10:36:15 2957

转载 C语言函数sscanf()的用法

IEEE、万方文献及国内外专利下载,请关注微信公众号IEEE 在我的学习过程中,从文件读取数据是一件很麻烦的事,所幸有sscanf()函数。  C语言函数sscanf()的用法sscanf() - 从一个字符串中读进与指定格式相符的数据.  函数原型:  int sscanf( string str, string fmt, mixed var1, mixed var2 .....

2019-02-11 11:21:23 583

转载 关于:socket阻塞、非阻塞,同步、异步、I/O模型

今天偶然被学弟问这个问题,自己说的模模糊糊的,还是再次总结一下!一般提起I/O模型的时候,这几个概念总是有点让人模糊,其实如果理解了,还是比较好区分的。Ps:参考《UNIX网络编程:卷一》1、“同步”和“异步”如果单单理解这两个概念还是很好区分的:同步:处理事情的的时候需要串行执行,也就是说做完一件再去做另一件,不管是否需要时间等待。也就

2016-07-11 17:29:01 694

转载 【交换安全】DAI - Dynamic ARP Inspection 详解

一、ARP协议原理1.协议概述Address Resolution Protocol在以太网环境中,节点之间互相通信,需知晓对方的MAC地址在现实环境中,一般采用IP地址标示通信的对象,而ARP的功能就是将IP“解析”到对应的MAC地址。2.协议漏洞基于广播,不可靠ARP响应报文无需请求即可直接发送,这给攻击者留下巨大漏洞没有确认

2016-06-01 11:40:34 9649 1

转载 快速理解Docker - 容器级虚拟化解决方案

作者:刘旭晖 Raymond 转载请注明出处Email:colorant at 163.comBLOG:http://blog.csdn.net/colorant/是什么 简单的说Docker是一个构建在LXC之上的,基于进程容器(Processcontainer)的轻量级VM解决方案 拿现实世界中货物的运输作类比, 为了

2016-02-16 15:25:14 720

转载 LXC(Linux containers)快速入门

1.LXC是什么?LXC是Linux containers的简称,是一种基于容器的操作系统层级的虚拟化技术。2.LXC可以做什么?LXC可以在操作系统层次上为进程提供的虚拟的执行环境,一个虚拟的执行环境就是一个容器。可以为容器绑定特定的cpu和memory节点,分配特定比例的cpu时间、IO时间,限制可以使用的内存大小(包括内存和是swap空间),提供device访问控制,

2016-02-16 15:23:49 1502

转载 Makefile 管理工具 — Automake and Autoconf

该工程下载路径:http://files.cnblogs.com/iTsihang/hello-2.0.zipautomake 参考资料:http://www.linuxforum.net/books/automake.htmlautoconf 参考资料:http://www.linuxforum.net/books/autoconf.htmlautomake源码下载:ft

2016-01-26 16:13:09 689

转载 linux下syslog使用说明

IEEE、万方文献及国内外专利下载,请关注微信公众号IEEEsyslog 系统日志应用 1) 概述      syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文件。程序,守护进程和内核提供了访问系统的日志信息。因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。      几乎所有的网络设备都可以通过sy...

2016-01-22 18:03:04 5530

转载 利用mmap /dev/mem 读写Linux内存

使用 hexedit /dev/mem 可以显示所有物理内存中的信息。 运用mmap将/dev/mem map出来,然后直接对其读写可以实现用户空间的内核操作。以下是我写的一个sample[cpp] view plaincopy#include  #include  #include  #include  #inclu

2016-01-18 21:00:49 1303

转载 Linux内存管理之mmap详解

一. mmap系统调用1. mmap系统调用        mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。当使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作,不必再调用read,write等系统调用.

2016-01-18 20:47:49 725

转载 Linux下USB驱动框架分析

IEEE、万方文献及国内外专利下载,请关注微信公众号IEEELinux USB驱动框架分析(一)   初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了。好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发。但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货。当然,还会顺带提一下其...

2016-01-06 20:51:13 1362

转载 STM32之中断与事件---中断与事件的区别

这张图是一条外部中断线或外部事件线的示意图,图中信号线上划有一条斜线,旁边标志19字样的注释,表示这样的线路共有19套.图中的蓝色虚线箭头,标出了外部中断信号的传输路径,首先外部信号从编号1的芯片管脚进入,经过编号2的边沿检测电路,通过编号3的或门进入中断挂起请求寄存器,最后经过编号4的与门输出到NVIC中断检测电路,这个边沿检测电路受上升沿或下降沿选择寄存器控制,用户可以使用这两个寄存器控制需要

2016-01-01 16:14:07 997

转载 linux内核ipv4网络部分分层结构及涉入源文件

http://hi.baidu.com/amy_yeni/blog/item/c54003004d9a080b738da5b3.htmllinux内核ipv4网络部分分层结构:BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件主要有:/net/socket.c /net/p

2015-12-26 19:59:07 794

转载 linux 内核网络,数据接收流程图

4.3 数据接收流程图各层主要函数以及位置功能说明:         1)sock_read:初始化msghdr{}的结构类型变量msg,并且将需要接收的数据存放的地址传给msg.msg_iov->iov_base.      net/socket.c         2)sock_recvmsg: 调用函数指针sock->ops->recvmsg()完

2015-12-26 19:42:30 1592

转载 Windows系统和Linux系统中的静态链接库与动态链接库(三)

本文主要讲述在Linux系统中的静态链接库与动态链接库。      1.Linux系统中的静态链接库      (1)创建头文件static_lib.h和源文件static_lib.c,以及应用静态库的主程序文件main.c,代码分别如下(与前面Windwos系统那篇代码基本一样):    [cpp] view plaincopy

2015-12-26 16:55:15 463

转载 GNU Autotools的使用方法

手工写Makefile是一件很有趣的事情,对于比较大型的项目,如果有工具可以代劳,自然是一件好事。在Linux系统开发环境中,GNU Autotools 无疑就充当了这个重要角色。(在Windows系统的开发环境中,IDE工具,诸如Visual Studio,来管理项目也很方便。)      本文以一个简单项目为例子,来讲述GNU Autotools的一列工具及其命令的用法。aut

2015-12-26 16:33:02 598

转载 用户空间和内核空间通讯之【Netlink 下】

关于Netlink多播机制的用法        在上一篇博文中我们所遇到的情况都是用户空间作为消息进程的发起者,Netlink还支持内核作为消息的发送方的情况。这一般用于内核主动向用户空间报告一些内核状态,例如我们在用户空间看到的USB的热插拔事件的通告就是这样的应用。       先说一下我们的目标,内核线程每个一秒钟往一个多播组里发送一条消息,然后用户空间所以加入了该组的进程都会收到这

2015-12-22 20:35:44 490

转载 用户空间和内核空间通讯之【Netlink 中】

今天我们来动手演练一下Netlink的用法,看看它到底是如何实现用户-内核空间的数据通信的。我们依旧是在2.6.21的内核环境下进行开发。      在文件里包含了Netlink协议簇已经定义好的一些预定义协议:点击(此处)折叠或打开#define NETLINK_ROUTE        0    /* Routing/device hook         

2015-12-22 20:34:45 457

转载 用户空间和内核空间通讯之【Netlink 上】

引言         Alan Cox在内核1.3版本的开发阶段最先引入了Netlink,刚开始时Netlink是以字符驱动接口的方式提供内核与用户空间的双向数据通信;随后,在2.1内核开发过程中,Alexey Kuznetsov将Netlink改写成一个更加灵活、且易于扩展的基于消息通信接口,并将其应用到高级路由子系统的基础框架里。自那时起,Netlink就成了Linux内核子系统和用户态的

2015-12-22 20:32:45 440

转载 守护进程的创建方法和步骤

概念:     守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。(这里的结尾字母d就是Daemon的意

2015-12-21 20:04:58 537

转载 对zebra的一点思考(Think Of ZEBRA)

http://blog.csdn.net/xuyanbo2008/article/details/7439936===================================================此文并不针对zebra的应用,甚至不是一个架构的分析,只是对于Zebra的一点儿思考。 Zebra 设计得是如此简洁明快。每一种数据结

2015-12-17 20:54:05 685

转载 zebra代码简单分析

web site: http://www.zebra.org/ 1) zebra是很有名的linux下的开源路由软件项目,代码写的非常漂亮,模块化,很清晰的结构。 关于软件的框架部分就不说了,zebra 官方网站上已经有详细的解释了,简单的来说:zebra作为一个守护进程来维护linux路由信息,其他模块rip, bgp 和这个守护进程通过消息通信来更新和获取路由信息。 

2015-12-17 20:10:14 3861

转载 linux下core文件调试方法

在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制 (1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 (2)使用ulimit -c filesize命令,可

2015-11-11 20:49:29 407

转载 在EEPROM中保存浮点数的方法

最近一个项目,需要在EEPROM中保存浮点数,于是想到浮点数占四个字节,直接移位,发现得到的char型是0,看来这个方法不可行。搜索论坛,高人提议用联合体来解决,联合体看似与结构体相似,其不同之处在于结构体中每个变量占用不同的内存,而联合体共用一段内存,这就给保存浮点数提供了极大的便利。比如我要保存一个浮点数a,我定义一个联合体union{float x;uchar s...

2015-11-07 22:04:09 5750

转载 make -C M=

Makefile为,PWD = $(shell pwd)KERNEL_SRC = /usr/src/linux-source-2.6.15/ obj-m := test.omodule-objs := test.o all:       $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules

2015-09-16 11:25:28 451

转载 如何在Allegro16.3里设置Xnet并进行等长设置

附件是一篇网上找到的文章,此文详细介绍了如何设置Xnet以及进行等长设置走线。本人的应用相对更简单,由于不是经常画板子,所以对于如何使用Xnet常常忘记,而本文介绍的相对复杂,为了在每次画板子的时候相对快速的使用Xnet,特记录本人使用Xnet的过程于此。       首先,介绍本人为何要使用Xnet。本人使用Xnet的场合主要有两种场合,一种是走线路径阻抗匹配

2015-09-05 16:04:39 12268

转载 C小程序 - setbuf和setvbuf

以下每个小程序,都在sleep(100)的时候,去cat文件12345.txt的内容#include stdio.h>main(){        char * str = "abcde";        FILE * fp = fopen("12345.txt", "w");        fwrite(str, sizeof(

2015-08-26 17:54:36 520

转载 soldermask和pastemask的理解

制板要soldermask,焊接要pastemask SOLDERMASK:阻焊层,就是用它来涂敷绿油等阻焊材料,从而防止不需要焊接的地方沾染焊锡的,这一层会露出所有需要焊接的焊盘,并且开孔会比实际焊盘要大。涂绿油时,看到有东西(焊盘)的地方就不涂绿油即可,而且由于其开孔比实际焊盘要大,保证绿油不会涂到焊盘上,这一层资料需要提供给PCB厂。 PASTEMASK:焊膏

2015-08-20 23:39:51 5829

转载 linux内核中的GPIO系统之(2):pin control subsystem

一、前言在linux2.6内核上工作的嵌入式软件工程师在pin control上都会遇到这样的状况:(1)启动一个新的项目后,需要根据硬件平台的设定进行pin control相关的编码。例如:在bootloader中建立一个大的table,描述各个引脚的配置和缺省状态。此外,由于SOC的引脚是可以复用的,因此在各个具体的driver中,也可能会对引脚进行的配置。这些工作都是比较繁琐

2015-08-17 09:01:39 1038

转载 OpenWRT开发之——对C++的支持(解决库依赖问题)

C++是本人的强项。如果在OpenWrt中不能用C++进行开发,那就有点大失所望了。接下来将与大家一起来尝试写一个C++程序,并把它做成 ipk 包,并试运行。各文件内容在 SDK/package/ 路径下创建 cpp-demo 目录,并生成一个非常简单的 cpp 程序?12345

2015-08-13 17:00:35 5078

深入浅出玩转 FPGA_12576311.pdf

深入浅出玩转 FPGA_12576311.pdf

2011-10-07

FAT32文件系统的存储机制及其在单片机上的实现.pdf

FAT32文件系统的存储机制及其在单片机上的实现.pdf

2011-10-07

linux中文包中文输入法安装.txt

linux中文包中文输入法安装.txt,喜欢中文输入法的可能有用!

2011-10-07

Keil_C51_BANK_原理和实现方式.pdf

Keil_C51_BANK_原理和实现方式.pdf

2011-10-07

C51启动文件--STARTUp.A51--详细注释.docx

C51启动文件--STARTUp.A51--详细注释.docx

2011-10-07

51系列中data,idata,xdata,pdata的区别.doc

51系列中data,idata,xdata,pdata的区别.doc

2011-10-07

网卡结构详解:MAC、PHY、传输特性、机械特性、电气特性等

网卡结构详解:MAC、PHY、传输特性、机械特性、电气特性等

2011-10-07

51汇编指令大全

51汇编指令大全,详细介绍了8051常用的汇编指令,对初学汇编语言或工程应用时查找相关指令有很大帮助,希望对大家有用

2011-10-07

基于FPGA的视频采集系统的设计与实现

基于FPGA的视频采集系统的设计与实现 基于FPGA的视频采集系统的设计与实现

2011-04-03

什么是差分信号,差分信号的介绍

介绍了差分信号的定义、分类、实现方式,很全面,很强大,希望对大家有用

2011-04-03

基于FPGA的视频采集

视频图像采集是视频信号处理系统的前端部分,正在向高速、高分辨率、高集成化、高可靠性方向发展。图像采集系统在当今工业、军事、医学各个领域都有着极其广泛的应用,如使用在远程监控、安防、远程抄表、可视电话、工业控制、图像模式识别、医疗器械等各个领域都有着广泛的应用[1]。本文介绍了一种基于FPGA的图像采集系统,用户可以根据需要对FPGA 内部的逻辑模块和I/O模块重新配置,以实现系统的重构[1][2];而且采用这种设计方案 ,便于及时地发现设计中的错误,能够有效地缩短研发时间,提高工作效率。

2011-04-03

USB接口的数字摄像系统设计

讨论了基于usb接口的数字摄像系统的实现

2011-04-03

2009考研英语作文预测班辅导讲义-徐绽

2009考研英语作文预测班辅导讲义-徐绽

2010-11-18

清华阎石《数字电子技术基础》第五版教学课件

清华阎石《数字电子技术基础》第五版教学课件

2010-10-29

uc_osII中文教程

uc_0sII 中文教程,讲得很详细,觉得不错,希望大家喜欢。

2009-03-29

空空如也

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

TA关注的人

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