1.以太网接口
Net/3以太网设备驱动程序都遵循同样的设计。对于大多数Unix设备驱动程序来说,都是这样,因为写一个新接口卡的驱动
程序总是在一个已有的驱动程序的基础上修改而来的。下面我们简要地概述一下以太网的标准和一个以太网驱动程序的设
计。下图是一个IP分组的以太网封装。
我们所讨论的最初的以太网组帧的标准在1982年由Digital设备公司,intel公司以及施乐公司发布,...
分类:
其他好文 时间:
2014-05-23 08:21:11
阅读次数:
310
在 Linux 内核代码,特别是驱动代码中经常见到的用法是使用一个标准结构,后面的代码基于这个结构来实现,类似面向对象的多态特性。
在 C 语言里面借助结构体和函数指针实现的这个功能,这里我们写了个例子,提取了关键代码:
#include
struct s_new{
char name[10];
char* (* my_method)(char *name);...
分类:
系统相关 时间:
2014-05-23 07:58:18
阅读次数:
324
3.3测试驱动风格
严格的说测试驱动风格不是设计风格,它是为了能够保证程序员思路清晰热情持续,我们采用的一种策略。
部队长时间在雪地上行走,会出现雪盲症,战士出现幻觉,像梦游,注意力不集中
一般派先前部队在路上在地上撒一些树枝或别的东西解决。
同理,程序员也一样,如果长时间编码缺少反馈,也会使程序员思维钝化,产生幻觉。
测试驱动可以使程序员能够把他的任务转变为不断地制造错误和...
分类:
其他好文 时间:
2014-05-22 13:39:32
阅读次数:
242
本文出自:http://blog.csdn.net/svitter
一开始做这个实验真是觉得各种简单- -就是一张状态转换图不停的跳来跳去。。后来发现我太天真了。。一个搞来搞去搞不清楚的bug是因为老师给的状态转换图坑了 - - 当然这肯定不怪老师因为我一开始做的时候居然没发现= =。
状态转换图我就暂且不贴了,另外两篇文章的地址如下:
Compiler_词法分析_表驱动法
C...
分类:
其他好文 时间:
2014-05-22 11:27:59
阅读次数:
273
#include
#include
struct test
{
char name[20];
void (*func)(char *);
};
void tttfunc(char *name)
{
printf("current is %d\n",__LINE__);
printf("%s\n",name);
}
int main()
{
struct test ttt=
{
.n...
分类:
系统相关 时间:
2014-05-22 11:25:09
阅读次数:
380
讲解了Java中数组的使用以及和数组相关的操作。...
分类:
编程语言 时间:
2014-05-22 11:05:01
阅读次数:
391
讲解了Java中的分支和循环结构,包括用if...else...和switch...case...default构造分支结构以及用whie、do...while...和for构造循环结构。...
分类:
编程语言 时间:
2014-05-22 10:06:36
阅读次数:
349
上个例子讲到驱动LED数码管,采用一种最直接的方案,对每个LED进行高低电平的控制,这样的优点是每个LED都是受控可检的,避免了由于短路造成的假象,但对于数字变化来说,写起来就非常冗余,因此这次尝试用数组的方法实现。...
分类:
其他好文 时间:
2014-05-22 09:01:51
阅读次数:
536
Ghost winxp win7系统安装CC2540 CDC驱动程序
【重要提示】
由于很多朋友使用Ghost系统,导致安装cdc驱动时安装不成功,出现
“INF中的服务安装段落无效”、“windows无法安装调制解调器”等错误。
您只要按下面的方法做就可以了:
打开我们的开发板网盘资料的以下文件夹:
\2.开发环境安装及相关驱动\2.TI\CDC驱动\mdmcpq.inf...
分类:
其他好文 时间:
2014-05-22 08:48:17
阅读次数:
265
我们的常用的系统中,程序的工作通常是有事件驱动和消息驱动两种方式,在Android系统中,Java应用程序是靠消息驱动来工作的。
消息驱动的原理就是:
1. 有一个消息队列,可以往这个队列中投递消息;
2. 有一个消息循环,不断从消息队列中取出消息,然后进行处理。
在Android中通过Looper来封装消息循环,同时在其中封装了一个消息队列MessageQueue。
另外Andro...
分类:
移动开发 时间:
2014-05-22 08:20:57
阅读次数:
253