自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

OpenWrt/WLAN/驱动/Android/嵌入式开发总结

了解的越多就发现自己越无知,路走得越远就发现自己越渺小;博观而约取,厚积而薄发,低调做事,平和为人!

  • 博客(193)
  • 资源 (21)
  • 收藏
  • 关注

原创 linux应用编程:文件操作

1:说明在文件操作方面主要是对文件的读写及对字符的读写,包括的函数有fopen(),fclose(),fwrite(),fread(),ftell(),rewind(),fgetc(),fgets()。在下面的实例中主要是通过上面的函数来完成对特定文件的读写操作。2:代码/* ==============================================

2013-09-12 18:05:18 1046

原创 单臂路由实现三层路由数据包转发及数据包格式分析

在7242+8328的板子上面,WAN口:port3,LAN口:port2,port4eth0上面的ip地址动态获取,用作外部WAN上网的接口,与此通信的数据包不加VLAN头。eth0.2 :用作内部LAN接口.IP地址固定,数据包进过LAN时自动添加或者去掉VLAN头。WAN和LAN之间是不通的。说明:192.168.100.244为WAN口所接PC IP.192.168.1

2013-09-12 18:00:18 5587 1

原创 linux应用编程:socket 常用API总结

1:代码#include #include #include #include #include #include #include #include #include #include#include#include//extern int h_errno;char interfaceIpAddr[50];int get_interface_ipAddr(char

2013-08-06 22:35:23 2276

原创 linux应用编程:thread总结

1:线程与进程的区别2:线程同步:互斥锁3:线程同步:条件变量4:线程同步:post信号量在代码中有实例。5:线程退出6:线程示例代码/* ============================================================================ Name : thr

2013-07-31 22:29:11 2240

原创 linux应用编程:signal(信号量) 实例1

1:示例代码#include#include#include#include#include#include#include#include //the copy fie size must>Mint count=0; //current copy numberint file_size; //the file sizepid_t pid;void sig_a

2013-07-29 22:53:45 1281

原创 linux 进程间通信--systemV 共享内存 实例

1:共享内存代码#include #include /* Type definitions used by many programs */#include /* Standard I/O functions */#include /* Prototypes of commonly used library functions,

2013-07-29 22:40:52 1023

原创 linux 进程间通信--systemV 信号量 实例

1:代码#include #include #include #include #include #include #define MAX_SEMAPHORES 3union semun{ int val; /* value for SETVAL */ struct semid_ds *buf;

2013-07-29 22:25:48 1203

原创 linux 进程间通信--systemV 消息队列 实例

1:消息接收端#include#include#include#include#include #include#include#include#include #include #define MAX_TEXT 512struct my_msg_st{ int my_msg_type; char msg_text[MAX_TEXT];};#define MSG

2013-07-29 22:17:52 1355

转载 I2C总线原理及应用实例

I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安

2013-07-20 10:06:03 2476

转载 SPI总线

SPI总线  MOTOROLA公司的SPI总线的基本信号线为3根传输线,即SI、SO、SCK。传输的速率由时钟信号SCK决定,SI为数据输入、SO为数据输出。采用SPI总线的系统如图8-27所示,它包含了一个主片和多个从片,主片通过发出片选信号-CS来控制对哪个从片进行通信,当某个从片的-CS信号有效时,能通过SI接收指令、数据,并通过SO发回数据。而未被选中的从片的SO端处于高阻状态。

2013-07-19 14:39:40 2535

原创 linux udp socket编程实例

1:udp通信框图2:udp server端代码#if 1#include "./../../udp_client/src/iolib/iolib.h" /* 添加用户自已的I/O函数库 */#define MAX_LINE 100//extern int checkSelect(int handfd,char *rwflag);void my_fun(char * p)

2013-07-18 21:58:10 6036

原创 linux TCP socket 实例

0:TCP/IP协议栈与数据包封装CP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后

2013-07-14 21:39:38 3982

转载 Linux静态库和动态库区别及实例

库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 静态库和动态库的区别1. 静态函数库    这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的

2013-07-14 14:31:42 2975

原创 总结的常用shell脚本命令,以备后用。

#!/bin/sh#for exm to test# ./check.sh 12 36 25 12 453 1 2 3 RETVAL=0SRRVER_START=1SRRVER_STOP=2DNS_STATUS=1dnsCheck(){ while test "x`pidof dnsmasq`" != x ; do ec

2013-07-13 21:00:56 4338

原创 linux thread 同步 操作 实例

1:linux thread 介绍如果需要只终止某个线程而不终止整个进程,可以有三种方法:从线程函数return。这种方法对主线程不适用,从main函数return相当于调用exit。一个线程可以调用pthread_cancel终止同一进程中的另一个线程。线程可以调用pthread_exit终止自己。#include void pthread_exit(void *value_ptr)

2013-07-04 22:44:04 2488

原创 linux fork signal 编程实例

1:signal的种类2:使用signal实现系统sleep功能static void sigHandler(int sig){    static int count = 0;    static int alarmcount = 0;    /* UNSAFE: This handler uses non-async-signal-safe functions

2013-07-03 22:39:53 1391

原创 linux-消息队列编程实例

上面是在eclipse下面的工程的编译情况,这个代码是来自《PRAISE FOR THE LINUX PROGRAMMING INTERFACE》一书。有三个文件组成。/*************************************************************************\* Copyright (C) Micha

2013-06-27 22:33:57 1463

原创 atheros之flash驱动程序分析

1:uboot中的参数mtkparts在uboot的bootargs的参数设置如下:其中mtdparts=“”的内容会传递给内核进行解析。即:在linux内核文件Cmdlinepart.c打开调试信息:即:/* debug macro */#if 1 //更改为1,将打开调试信息#define dbg(x) do { printk("DEBUG-CMDLINE-

2013-06-25 22:02:36 4515

原创 linux下组播收发程序

服务器端代码:#include #include #include #include #include #include #include #include #include #include #include #define MCAST_PORT 31241#define LOCAL_PORT 56171#define MCAST_ADDR "224.1.2

2013-06-13 22:20:11 4380

原创 linux 下getsockopt()和setsockopt()分析

1:在linux socket编译成中,我们经常使用如下类似的命令:       #include          /* See NOTES */       #include        int getsockopt(int sockfd, int level, int optname,void *optval, socklen_t *optlen);

2013-05-20 22:04:03 2151

原创 linux 下 nf_conntrack_tuple 跟踪记录

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2013-05-20 21:57:26 6605

原创 iptables 中的NAT使用总结

首先对SNAT DNAT进行概念介绍:SNAT:源地址转换目标地址不变,重新改写源地址,并在本机建立NAT表项,当数据返回时,根据NAT表将目的地址数据改写为数据发送出去时候的源地址,并发送给主机目前大多都是解决内网用户用同一个公网地址上网的情况DNAT:目标地址转换和SNAT相反,源地址不变,重新修改目标地址,在本机建立NAT表项,当数据返回时,根据NAT

2013-05-15 17:37:58 15245

转载 寻扶风高中03级毕业的 黄文娟,望知情者速与本人联系.

寻找陕西省宝鸡市扶风高中03级毕业的黄文娟,望知情者速与本人联系.。我相信最终有天会找到你的。03年高中毕业的时候,只知道去北京上学了,2004-2005年中还联系过几次。最后不知道为什么联系不上了。

2013-03-25 19:22:23 1900

原创 跨网段组播数据转发

最近在实际的项目中遇到了组播通信,其中最主要的问题是组播如何跨网络路由的问题,起初在网络找资料,找到了PIMD来实现组播数包的转发。借助pimd也能实现组包数据包的转发。但是,pimd是个应用程序,如果组播数据平凡的话,会影响到系统的效率。同时考虑到实际的项目中,组播数据源和组播的接受者是在同一个局域网之内,只要交换机支持组播,通过交换机将组播的发送者和接受者连接起来,之后通过更改驱动程序

2013-03-05 20:21:46 23615

原创 pppoe调试信息

---------------------------------------------* The following section contains information about your systemThu Jan  1 00:02:21 UTC 1970Output of uname -aLinux (none) 2.6.31--LSDK-9.2.0_U10.102

2013-03-05 19:23:30 7226 3

原创 组播路由pimd 2.1.8

最近工作中涉及到了组播,对基本的概念,同时在linux下面对发送和接受组播的UDP程序进行验证。主要涉及到组播数据包的路由,linux内核中普通的路由协议是不支持组播数据包的转发,因此需要研究支持组播数据包转发的路由。因此选用了pimd 2.1.8。同时研究组播时需要设计到IGMP协议,是跟组播路由器通信的协议,主要是用来报告自己加入的组播组和响应组播路由器的查询结果。其实现可以在linux内

2013-01-23 21:37:29 14970 4

原创 zubao

http://blog.csdn.net/yming0221/article/details/7549340  http://www.cnblogs.com/hateislove214/archive/2010/11/05/1869883.htmlhttp://blog.csdn.net/sandflee/article/details/5675732http://wenk

2013-01-12 18:12:41 1181

原创 根据IP地址获取对应的MAC地址

#include #include #include #include #include #include int main(int argc, char *argv[]){  struct sockaddr_in sin = { 0 };  struct arpreq myarp = { { 0 } };  int sockfd;  unsigne

2013-01-08 21:32:53 5075

原创 linux 内核线程实例

~ # ps PID USER VSZ STAT COMMAND 1 root 868 S init 2 root 0 SW< [kthreadd] 3 root 0 SW< [ksoftirqd/0] 4 root 0 SW< [events/0] 5 r

2012-12-28 21:33:36 2907

原创 jffs2根文件系统与uimage内核

1:jffs2根文件系统在我们现在mips平台上面,其根文件系统使用的是jffs2格式的文件系统。创建jffs2时,使用的命令如下:jffs2_build: image_root@echo Making jffs2 at `date`cd $(IMAGEPATH) && \$(TOPDIR)/build/util/mkfs.jffs2 --root=$(IMAGE_ROOT

2012-12-28 21:31:07 3906

原创 linux TC命令使用总结

brctl addbr br0brctl addif br0 eth1ifconfig br0 192.168.119.7ifconfig eth0 10.10.106.230echo 1 > /proc/sys/net/ipv4/ip_forward 在实际的项目中,由于需要控制下载和上传的带宽,为特定的用户提供可靠的带宽保证。上传时使用的是WAN口即用来连接外网的,在我

2012-12-28 21:26:31 24436 1

原创 linux 内核中的软中断处理

Linux内核定义的软中断如下:static struct softirq_actionsoftirq_vec[NR_SOFTIRQS] __cacheline_aligned_in_smp;char *softirq_to_name[NR_SOFTIRQS] = {       "HI","TIMER", "NET_TX", "NET_RX", "BLOCK",       "T

2012-12-27 19:27:49 2046

原创 linux下之定时器timer实例

最近工作中涉及到在一定的时间之后对特定的动作进行处理。比如按键,按键需要在按下至少4S之后,重新启动系统之类、此时使用定时器,可以确保准确的计时。下面的实现可以通用。struct timer_list os_timer_t; //定义定时器#define OS_TIMER_FUNC(_fn) \ void _fn(unsigned long timer_arg)#define OS_

2012-12-08 09:48:15 7863 2

原创 内核中如何实现周期性的任务执行

/*本实例主要测试的是:内核中如何实现周期性的任务执行。如果驱动程序中需要执行周期性的动作,可使用以下三种方式之一。基本思路为:创建work,让创建的work调度到linux系统内核queue还是自己创建的queue。默认的工作队列是把创建的任务提交给特定的内核线程来执行,这个特定的内核线程是:event/n,n是处理器的编号,单处理器中n为0,即为event/0这样一个内

2012-12-08 09:45:26 2922

翻译 ebtables的使用

http://blog.163.com/dyc_888@126/blog/static/10044335120111255249503/http://blog.chinaunix.net/uid-10694051-id-2935976.html一:ebtables简介ebtables和iptables类似,都是Linux系统下网络数据包过滤的配置工具。既然称之为配置工具,就是说过滤功能

2012-12-06 16:29:34 14298

原创 linux 下VLAN数据包格式及vconfig命令测试

主要是对VLAN的数据包格式进行了抓包分析。同时对vconfig命令的适用进行了说明。PC:10.10.107.168  AP:10.10.107.231(eth0.100)1:添加VLAN,使用vconfig。~# vconfigBusyBoxv1.10.3 (2012-09-23 02:13:20 CST) multi-call binaryUsage:vconfi

2012-11-25 10:11:39 25024 2

原创 atheros 8328交换芯片 在SDK_10.5.13上面的移植

这一部分  内容主要是根据自己的工作内容总结而成。其修改的总结文档可以在8328在SDK 10.5.13上的K移植总结.pdf上面下载。

2012-10-19 16:01:38 2315

原创 NAPI处理方式分析

NAPI 的核心在于:在一个繁忙网络,每次有网络数据包到达时,不需要都引发中断,因为高频率的中断可能会影响系统的整体效率,在高流量下,网卡产生的中断可能达到每秒几千次,而如果每次中断都需要系统来处理,是一个很大的压力,而NAPI 使用轮询时是禁止了网卡的接收中断的,这样会减小系统处理中断的压力,NAPI 是Linux 上采用的一种提高网络处理效率的技术,它的核心概念就是不采用中断的方式读取数据,而

2012-08-23 22:18:16 4466

原创 AR9344中ethernet处理方式分析

http://bbs.chinaunix.net/thread-1960516-1-1.html9344 ethernet数据接收代码分析在板的ethernet只有一个网卡,在系统处理话的时候有如下类似代码:    for(i = 0; i     {        dev = alloc_etherdev(ATHR_MAC_ETHERDEV_SZ);        if

2012-08-23 22:16:57 6398 2

转载 tasklet网络分析汇总

Chapter 1:驱动程序在初始化时,通过函数task_init建立一个tasklet,然后调用函数tasklet_schedule将这个tasklet放在 tasklet_vec链表的头部,并唤醒后台线程ksoftirqd。当后台线程ksoftirqd运行调用__do_softirq时,会执行在中断向量表softirq_vec里中断号TASKLET_SOFTIRQ对应的tasklet_

2012-08-22 23:01:33 1358

基于KSZ9897VLAN 虚拟WAN网络接口

VLAN脚本

2023-12-06

ipsec通道说明.docx

1:概述 1 2:中心防火墙端 2 3:企业级基站 4 1:网络信息 4 2:ipsec.secrets 秘钥配置文件 5 3:ipsec.conf配置文件 5 4:通道验证及测试 5 1:中心防火墙与基站端通道信息查看 5 2:通过加密数据包增长判断 6 3:通道的启用与禁用来判断 8 4:抓包分析 8

2020-04-05

WLAN各平台吞吐量测试总结

目前,WLAN各平台对于吞吐量测试的指标都存在部分不满足,为了进一步优化吞吐量性能,需要对各平台集中验证,验证各平台07版本和08商用软件采用的SDK版本驱动软件的吞吐量性能,以及07版本和08商用版本的吞吐量性能,比较分析之间的差异,为08商用版本关于吞吐量的优化提供技术依据。

2019-03-21

privoxy入门总结

代理服务器是建立在TCP/IP协议应用层上的一种服务软件,是以HTTP协议为基础的。工作过程简单来说分为4步: 1:客户端向服务器发送的请求到达代理服务器; 2:代理服务器把请求转发给客户端真正需要联系的服务器; 3:服务器向代理服务器返回响应; 4:代理服务器把响应返回给客户端。

2019-03-21

art相关知识总结

跟驱动相关的文件信息如下: 由于在运行ART的时候,需要驱动提供art.ko和mdk_client.out这俩个文件。 现在在ap93平台上面的art的版本信息如下: art_client_9b16 art_client_9b34 其中分别包含了art和client的代码。

2019-03-21

高通WiFi相关总结

1、ini文件版本 解释:ART测试软件中的ini文件版本与WLAN驱动中用到的ini文件不一致 处理:可能会影响同频干扰、灵敏度差的问题,需下一版本中更新此版本文件,并做射频验证。 需系统、硬件人员配合验证。 后续WLAN应用软件需提供查看ART和INI文件版本的方法,方便生产调测。 2、CCK、OFDM相关参数,可能会和低速率灵敏度差的问题有关 解释:该处参数与ANI的内部算法相关,默认属于动态调节; 处理:这类参数驱动中接口还未实现,需自己编码实现。目前代码为默认的配置,不可改。 atheros不建议调整该类参数;我们希望能和系统、硬件一起验证各参数的实际效果,找到一种最优化的配置。

2019-03-21

TR069基于jCWMPServer和netcwmp-maste入门测试环境搭建及测试

TR069基于jCWMPServer和netcwmp-maste入门测试环境搭建及测试.

2014-07-22

wifidog总结

wifidog的运行环境及authpuppy的数据交互过程,数据包交互的内容。

2014-06-16

openwrt学习总结

自己学习openwrt过程中的总结: openwrt学习总结目录 1:ath9k中的EEPROM中的数据... 2 2:Atheros原厂中的EEPROM的中的数据... 3 3:如何在openwrt添加自定义模块接口... 4 3.1 make menuconfig中的 kernelmodules. 4 3.2:添加自己的模块到文件netdevices.mk. 6 4:openwrt内核编译及文件系统的生成... 7 4.1 主.config和内核.config的关系... 8 4.2 Linux内核uimage生成... 11 4.3 Linux根文件系统生成... 12 5:openwrt中的进程启动方式... 12 6:网络配置... 15 6.1:有线网络配置... 15 6.2:无线网络配置... 16 7:LUCI命令使用入门... 16 8:openwrt web页面代码分析... 19

2014-06-03

Atheros Ethernet驱动

WAN口自动识别Atheros的AR8337或者AR8035芯片!

2014-06-03

sock5 udp 透传 总结

主要总结如何通过sock5来实现UDP数据的透传,其中包括sock5客户端,dante-1.4.0sock5代理服务代码及UDPserver代码,均为linux下面代码,希望能对有需要的朋友有所帮助。

2014-02-14

vitess交换芯片开发总结

对vitesse交换芯片工作的总结,主要包括vitesse的PHy芯片8664,8488,seraiLED驱动的移植及总结。ecosystem 应用程序示例。

2013-11-06

shell 创建及解析脚本

通过脚本创建和解析文件,同时对,dhcpc,dhcpd,dnsmasq,hostapd pppoe进行管理

2013-09-29

ucos for linux port 代码

ucos for linux port 代码,此书的ucos代码可以在linux直接运行,可以分析ucos的设计原理及相关API功能的验证。

2013-09-20

shell 脚本

自己在实际项目中的shell总结,在以后的工作中,可以直接修改使用。

2013-07-22

linux udp code

linux下udp客户端和服务端代码。其中客户端使用select方式来查询那个文件fd是可读的。

2013-07-18

组播路由pimd测试及分析.pdf

主要是组播路由协议pimd的测试总结及代码分析。

2013-06-13

linux下atheros8328初始化及配置过程.pdf

linux下atheros8328初始化及配置过程.

2013-05-20

Atheros _AR8328 NAT_HELP单VLAN移植测试报告.pdf

主要是对atheros 8328芯片功能的使用总结。包括代码的分析。

2013-05-20

Atheros_AR7242+AR8328 uboot移植总结.docx

Atheros_AR7242+AR8328 uboot移植总结

2012-12-08

8328在SDK 10.5.13上的K移植总结.pdf

本文档是对8328,在sdk_10.5.13上面移植,及测试的总结。

2012-11-25

Serial Attached SCSI technologies and architectures

Serial Attached SCSI technologies and architectures

2012-03-05

存储 LSI expander 开发总结

主要对LSI expander sdk 开发过程中进行了总结,并对代码中涉及到SAS协议进行了概述,其中SAS协议来自于网络。 包括的内容有:SAS协议集,SSP,SMP,SES,SCSI,LSI expander sdk 开发环境的搭建。

2012-01-31

空空如也

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

TA关注的人

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