11 Mr. 小萝卜

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 7w+

嵌入式Linux四个软件层次

在专用的嵌入式板子运行GNU/Linux系统已经变得越来越流行。一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:  1、 引导加载程序。包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。   2、 Linux内核。特定于嵌入式板子的定制内核以及内核的启动参数。   3、 文件系统。包括根文件系统和建立于Flash内存设备

2011-10-26 14:10:32

QOS (一)

IP Type of Service This classification type is based on an exact match of the one-byte ToS/DSCP field contained in the IP header of a frame. The ToS (Type of Service) or DSCP (Diffserve Codepoint) v

2011-06-13 16:48:00

IEEE 802.11 MAC层介绍 【转】

<br />IEEE 802.11 MAC层介绍IEEE 802.11 MAC协议<br /><br />  802.11规范为MAC协议定义了5类时序间隔,其中两类是由物理层决定的基本类型:短帧空间(SIFS)和时隙 (slot time)。其余3类时序间隔则基于以上两种基本的时序间隔:优先级帧间空间(PIFS)、分散帧间空间(DIFS)和扩展帧间空间(EIFS)。 SIFS是最短的时序间隔,其次为时隙。时隙可视为MAC协议操作的时间单元,尽管802.11信道就整体而言并不工作于时隙级时序间隔上。对于 8

2011-04-16 09:30:00

一些LINUX资源【转】

<br /> <br />linux内核源代码情景分析 非扫描版 上下册合订版 字清楚 带书签 1575页 pdf<br />http://download.csdn.net/source/2002579<br />*************************************************************<br />linux设备驱动开发详解 pdf,针对ARM9 s3c2410 经典 宋宝华<br />http://download.csdn.net/source/3135

2011-04-09 08:30:00

rssi

<br />最近家里无线信号很差,于是就学习一下madwifi中的rssi。<br />看一下iwconfig ath0里面的信号参数是怎么搞出来的。<br />iwconfig ath0 <br />ath0      IEEE 802.11ng  ESSID:"Atheros_AP51"  <br />          Mode:Managed  Frequency:2.412 GHz  Access Point: 00:1F:33:F7:5E:27   <br />          Bit Rat

2011-03-23 09:06:00

iwpriv 解析

iwpriv

2011-03-14 12:50:00

snprintf函数说明

<br />int snprintf(char *restrict buf, size_t n, const char * restrict format, ...);<br />函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n的话,将不会溢出。<br />函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。<br />Result1(推荐的用法)<br />#include <br />#include <br />int main() <br /

2011-03-12 10:43:00

sk_buff 学习(二)

<br /> <br />struct sk_buff {<br /> /* These two members must be first. */<br /> struct sk_buff  *next;  //这两个变量让sk_buff    <br /> struct sk_buff  *prev;  //构成双向的链表          <br /> struct sk_buff_head *list;  //指向链表的头<br /> struct sock         *sk;    //指向

2011-03-10 15:55:00

sk_buff 学习(一)

<br /> <br />一. SKB_BUFF的基本概念<br />1. 一个完整的skb buff组成<br />(1) struct sk_buff--用于维护socket buffer状态和描述信息<br />(2) header data--独立于sk_buff结构体的数据缓冲区,用来存放报文分组,使各层协议的header存储在连续的空间中,以方便协议栈对其操作<br />(3) struct skb_shared_info --作为header data的补充,用于存储ip分片,其中sk_buf

2011-03-10 15:18:00

如何定义调试用的DEBUG打印宏

<br />如何定义调试用的DEBUG打印宏 【原创】<br /> <br /> <br />在写代码的时候,非常有必要加一些DEBUG的打印信息,但是在release版本中,可以把这些打印信息去掉能缩减代码量。<br /> <br />因此,我们需要定义一个打印的DEBUG宏,当此宏未定义时,该打印实现为空。<br /> <br />如下:<br /> <br /> <br />#define __DEBUG_PRINT__<br /> <br /> <br /> <br /> <br />#ifdef

2011-03-09 22:26:00

va_list 可变参数变量

VA_LIST 是在C语言中解决变参问题的一组宏他有这么几个成员:1) va_list型变量:#ifdef  _M_ALPHAtypedef struct {        char *a0;       /* pointer to first homed integer argument */        int offset;     /* byte offset of next parameter */} va_list;#elsetypedef char *  va_list;#endif2)_I

2011-03-09 22:04:00

为何国内不允许手机有WIFI功能

<br />从2003年英特尔宣布推出迅驰移动计算技术以来,WIFI上网开始逐步影响百姓生活。WIFI上网使用户摆脱了线路的限制,带来了极大的便利,目前基本上已成为笔记本电脑的必备功能,WIFI在手机上的应用虽然早就有之,但大都没有给用户很好的上网体验。直到07 年苹果公司在iPhone手机上成功应用WIFI,WIFI上网才成为一个广受关注的手机功能。另外,在轰轰烈烈的无线城市建设计划影响下,在中国电信天翼计划的推波助澜下,手机WIFI上网迅速成为国内手机用户关注的热点。 <br />中国手机用户能用WIF

2011-02-24 16:39:00

queue.h usage (二)

<br /> <br />【转】http://bachmozart.javaeye.com/blog/292836<br /> <br />这两天想看看memcached的实现,所以先学习了libevent,使用起来还是比较简单的,其实是对select/poll/kqueue等的封装,学习libevent过程中又遇到了linux下队列的使用,简单分析如下,权当做记录: <br /><br />libevent中的例子中使用的是FreeBSD下的queue.h,在linux的/usr/include/sys/

2011-01-19 16:13:00

定时器 timer_list (二)

kernel timer_list usageinclude/linux/timer.h<br />struct timer_list {<br />struct list_head entry;<br />unsigned long expires;<br /><br />spinlock_t lock;<br />unsigned long magic;<br /><br />void (*function)(unsigned long);<br />unsigned long data;<br /><

2011-01-18 12:40:00

定时器 timer_list (一)

<br />定时器 timer_list   (一) <br /> <br /> struct timer_list<br />|-----------------------------------|<br />|struct list_head     entry         |<br />|unsigned long        expires       |<br />|void     (*function)(unsigned long)|<br />|unsigned long      

2011-01-18 12:38:00

__attribute__

<br />GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function     Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。<br />__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute__参数。<br />__attribute__语法格式为:<br />__at

2010-12-28 10:25:00

queue.h usage

<br /> queue.h usage<br /> /*<br /> * TAILQ example program.<br />*/<br />#include <stdlib.h><br />#include <stdio.h><br />/*<br /> * On many OpenBSD/NetBSD/FreeBSD you could include <sys/queue.h>, but<br /> * for portability we’ll include the local copy.<

2010-12-23 19:24:00

对一个结构体取下标

<br /> <br /> <br />如下:<br /><br />  wh = (struct ieee80211_frame *) skb->data;<br />  frm = (u_int8_t *)&wh[1];<br /><br /><br />wh是一个指针<br />frm = wh + sizeof(struct ieee80211_frame) <br />&wh[1] 即frm是wh偏移这一段结构体大小size后的地址。<br /> <br />这是一种写代码的技巧,在协议相关代码里

2010-12-23 19:21:00

Linux内核中结构体的特殊初始化方法

<br />在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。这种方式称为指定初始化(designated initializer)。下面我们看一个例子,Linux-2.6.x/drivers/usb/storage/usb.c中有这样一个结构体初始化项目: static struct usb_driver usb_storage_driver = {        .owner = THIS_MODULE,        .n

2010-12-19 09:13:00

结构体内的#define宏定义

<br />关于宏的作用域<br />1.     宏没有可见域。<br />        如果说有,那就是从本文件(包括被包含的文件)中,该宏定义处开始,至文件的尾部或取消宏(#undef)为止。<br />2.     考虑一种特殊情况:<br />        一个宏定义,如果写在结构体之内,即使与结构体之外的宏定义名字重复了最多是编译警告。可是如果不在结构体之内,名字重复可肯定是error。(未证实,可以做实验,而且可以把两处的宏定义成不同的值,会是什么情况?)<br />        定义在

2010-12-18 23:29:00

查看更多

勋章 我的勋章
    暂无奖章