EDN首页   博客首页 用户登陆  |  注册

最新日志

发表于:2008/11/19 21:10:33
标签:嵌入式  

1

嵌入式Linux开发需要的参考资料

引导:如需获得对 vmlinux 和 zimage 之间区别的极好解释,请在 Alessandro Rubini 编写的“Kernel Configuration: dealing with the unexpected(Linux Magazine)的一文中找到“Booting your kernel”一节。 有关内核、映像和引导过程的更多信息,请阅读中央昆士兰大学(Central Queensland University)的系统管理文本的第 13 章。 要进一步了解引导过程的工作原理,请参阅 ROLO: A Developer's Guide,它讨论了在不利用 BIOS 的情况下引导 Linux(Embedded Linux Works,2001 年 6 月)。 小型分发版:The Embedded Linux Distributions Quick Reference Guide 涵…

系统分类: 嵌入式   |    用户分类: 无分类    |    来源: 转贴

该用户于2008/11/19 21:10:40编辑过该文章

点击查看原文

阅读(655)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/11/5 16:13:20
标签:C语言  队列  

1

队列的c语言实现

队列是一种与栈相反的数据结构,它是先进先出(first in, first out),同样它也是一种运算受限的结构。 队列的抽象数据类型: ADT QUEUE = { InitQueue(&Q) //create a queue DestroyQueue(&q) //destroy a queue clearQueue(&q) //clear the queue ............ } 队列的c语言实现 1: 顺序队列: /* ****************************************** * FileName:squeue.c * Author:hufeng Date:2007/11/21 * Version:v1.0 * Description: The program creat a queue and lots * of operating * ******************************************/ /* header file */ #include <stdio.h> #define …

系统分类: 软件开发   |    用户分类: 编程语言    |    来源: 转贴

点击查看原文

阅读(1623)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/11/5 16:11:03
标签:C语言  队列  

1

修改了一个抓包的程序(c语言队列)

修改了一个抓包的程序(c语言队列)05 年底写了个抓包的小工具,做某些方面的测试用。但是在大流量的时候,存在一些问题,经常会漏掉一些包没有分析,即使接到了预定义好的包,也没有办法作出某些响应。周末没事,就做了一些改写,主要原理很简单,就是用一个队列(Queue)对高峰流量做一下缓冲,先存下来再慢慢分析。读了计算机专业的人应该就容易了,数据结构有讲。我比较土一点,学经济的,只能自己根据C#的接口YY一个类似的。 整个程序代码比较长就不贴了,把队列代码贴在下面吧,放…

系统分类: 软件开发   |    用户分类: 编程语言    |    来源: 转贴

点击查看原文

阅读(694)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/11/5 16:08:01
标签:C语言  数据结构  队列  

1

数据结构C语言实现系列——队列

#include <stdio.h> #include <stdlib.h> typedef int elemType; /************************************************************************/ /* 以下是关于队列链接存储操作的6种算法 */ /************************************************************************/ struct sNode{ elemType data; /* 值域 */ struct sNode *next; /* 链接指针 */ }; struct queueLK{ struct sNode *front; /* 队首指针 */ struct sNode *rear; /* 队尾指针 */ }; /* 1.初始化链队 */ void initQueue(struct queueLK *hq) { hq->front = hq->rear = NULL; /* 把队首和队尾指针置空 */ return; } /* …

系统分类: 软件开发   |    用户分类: 编程语言    |    来源: 转贴

点击查看原文

阅读(594)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/10/22 11:45:22
标签:嵌入式  

1

嵌入式软件工程师的技能修炼

点穴: 深入了解至少一种处理器/控制器的体系结构,熟悉其汇编指令。 掌法: 精通C语言,掌握加载技术和编译链接知识。 兵刃: 了解常用存储、通讯和人机接口设备,熟练编写设备驱动程序。 阵法: 嵌入式操作系统的理论和实践。 兵法: 程序设计思想的修炼。推荐阅读成熟的GUI和TCP/IP协议栈代码,体会其设计方法。 需求分析技术。 所在领域的专业技术。原理和算法,相关的国际和国家标准。 实战: 做项目,做大量的项目,前面所说才能真正为我所用。 如此,或可独当一面。

系统分类: 嵌入式   |    用户分类: 无分类    |    来源: 转贴

点击查看原文

阅读(641)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/10/15 11:42:10
标签:嵌入式  可移植性  

1

嵌入式系统硬件抽象层的建立及软件的可移植性设计

摘要:在阐述嵌入式系统软件设计方法的基础上,介绍嵌入式系统底层软件可移值性设计和硬件抽象层的建立;举例说明利用此思想的嵌入式软件的设计及测试过程。 关键词:设备驱动程序 嵌入式系统 软件设计 可移植性1 嵌入式系统设计  由于嵌入式系统有着体积小、功能集中、可靠性高等优点,已被广泛地应用到日常生活的各个方面,如移动通信、工业控制、医疗器械,家用电器等。如何缩短嵌入式系统的开发周期,降低开发成本,以及提高产品的可靠性已成为嵌入式行业普遍关注的问题。在嵌入式系统…

系统分类: 嵌入式   |    用户分类: 无分类    |    来源: 转贴

点击查看原文

阅读(381)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/9/19 18:34:06
标签:C语言  通信  数据包  

1

C语言对通讯数据包生成校验码的例子

在写Socket通讯程序的时候,为了校验传送的数据包的完整性,我一般会使用给数据包附加校验码 的方法,具体做法就是: 对要传输的数据从第一个字符到最后一个字符进行异或运算,最后回得到一个异或结果字符,把这个字符转换为2进制字符串!附加在数据包后面,收取数据的一方,收到数据后,先根据预先定义的格式拆分数据包,对收到的数据进行异或运算, 然后把结果和发送方的校验码比较,如果一致,说明数据传输没有问题。附上一段银行接口实际应用中的例子://定义报文结构 typedef struct tradePackage { char p_trade_code[4]; c…

系统分类: 软件开发   |    用户分类: 通信网络    |    来源: 转贴

点击查看原文

阅读(572)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/9/9 11:32:22
标签:无标签

2

C宏——智者的利刃,愚者的恶梦!

文章来自:http://blog.vckbase.com/smileonce/archive/2005/03/27/4081.html水平不高不低的C++程序员最喜欢挂在嘴上的一句话就是:C宏,万恶之首,错误的开端,应该被废弃。 请注意,我用了一句不敬的修饰语“水平不高不低的”。为什么这么说?因为水平低都插不上话,都在在静静地听老前辈布道呢。水平高的,比如Bane Stroustrup老人家,也只是说若干种场合下C++语言能够提供比C macro更好的解决方案,而没有完全否定C macro的价值。但是话就怕传来传去,一传就走样。久而久之,就被传成上面那句话。其实…

系统分类: 软件开发   |    用户分类: 编程语言    |    来源: 转贴

点击查看原文

阅读(424)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/8/27 9:12:02
标签:C语言  union  

2

C语言的联合(union)介绍

“联合”与“结构”有一些相似之处。但两者有本质上的不同。在结构中各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度。应该说明的是, 这里所谓的共享不是指把多个成员同时装入一个联合变量内, 而是指该联合变量可被赋予任一成员值,但每次只能赋一种值, 赋入新值则冲去旧值。如前面介绍的“单位”变量, 如定义为一个可装入“班级”或“教研室”的联合后,就允许赋予整型值(班级)或字符串(教研室)。要么赋予整型…

系统分类: 软件开发   |    用户分类: 编程语言    |    来源: 转贴

点击查看原文

阅读(5455)  |  评论(1)  |   收藏 (0)  |    举报

发表于:2008/8/27 9:12:01
标签:C语言  union  

2

C语言的联合(union)介绍

“联合”与“结构”有一些相似之处。但两者有本质上的不同。在结构中各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度。应该说明的是, 这里所谓的共享不是指把多个成员同时装入一个联合变量内, 而是指该联合变量可被赋予任一成员值,但每次只能赋一种值, 赋入新值则冲去旧值。如前面介绍的“单位”变量, 如定义为一个可装入“班级”或“教研室”的联合后,就允许赋予整型值(班级)或字符串(教研室)。要么赋予整型…

系统分类: 软件开发   |    用户分类: 编程语言    |    来源: 转贴

点击查看原文

阅读(421)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/8/27 9:09:52
标签:C++  指针  

2

C/C++语言void及void指针深层探索

1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。 2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义: void a; 这行语句编译时会出错,提示“illegal use of type 'void'”。不过,即使void a的编译不会出错,它也没有任何实际意义。 void真正发挥的…

系统分类: 软件开发   |    用户分类: 编程语言    |    来源: 转贴

点击查看原文

阅读(312)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/8/22 22:27:17
标签:VC  串口通信  

2

基于VC的串行通信技术应用

本文将介绍在Windows平台下串行通信的工作机制和用Visual C++设计串行通信程序的编程方法及通信方式。 VC中实现串行通信的编程技术 以下我们将介绍VC中几种实现串行通信的编程技术: 利用VC++的标准通信函数 利用VC++的标准通信函数_inp和_outp可实现串口通信。下面是一个串口初始化的程序: void init_com(PORT){char i; outp(PORT+3,0x80);outp(PORT,0x0C);outp(PORT+1,0);outp(PORT+3 ,0x3a);outp(PORT+3 ,0x03);i=inp(PORT+5) && 0xfe;outp(PORT+5,i);} 使用串行通信控件MSComm 串行通信控件MSCOmm…

系统分类: 通信网络   |    用户分类: 通信网络    |    来源: 转贴

点击查看原文

阅读(492)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/8/22 18:36:05
标签:在线编程  

2

在线编程技术在车身控制系统中的应用

金浩 吴晔 张本宏 合肥工业大学 摘 要:随着嵌入式技术的发展,在线编程技术得到了广泛使用,本文针对汽车车身控制系统难以在线升级的问题,提出将基于控制器局域网总线的在线编程技术应用到车身控制系统中。详细分析了系统的体系结构,对系统软件体系进行了分层,并划分每一层实现的功能。最后,讨论如何对电子控制单元节点的软件进行设计,解决了软件设计中的关键问题。 关键词:车身控制系统、电子控制单元、在线编程、中断向量表 1.引言 随着flash存储器件的普遍使用,在线编程IAP(In Applicatio…

系统分类: 汽车电子   |    用户分类: 电子技术    |    来源: 转贴

点击查看原文

阅读(380)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/8/21 23:25:33
标签:单片机  串口  通信协议  

3

单片机通信协议处理

现在大部分的仪器设备都要求能过通过上位机软件来操作,这样方便调试,利于操作。其中就涉及到通信的过程。在实际制作的几个设备中,笔者总结出了通信程序的通用写法,包括上位机端和下位机端等,现写出来和大家分享,希望大家多提意见! 1. 自定义数据通信协议 这里所说的数据协议是建立在物理层之上的通信数据包格式。所谓通信的物理层就是指我们通常所用到的RS232、RS485、红外、光纤、无线等等通信方式。在这个层面上,底层软件提供两个基本的操作函数:发送一个字节数据、接收一个…

系统分类: 通信网络   |    用户分类: 通信网络    |    来源: 转贴

点击查看原文

阅读(565)  |  评论(0)  |   收藏 (0)  |    举报

发表于:2008/8/12 16:07:28
标签:协议  

2

用 C 封装串口数据协议,可用于流式传输

用 C 封装 串口数据协议,可用于流式传输 #define OUT #define INOUT #define IN #define INIT_LIST_HEAD(x) #define btsc_TRUE 0 #define btsc_FALSE 1 #define btsc_NULL 0 struct list_head{ struct list_head* prev,*next; }; struct btsc_Property{ char * name; char * value; }; struct btsc_Packet{ /*struct list_head list;*/ struct btsc_Property** properties; int size; int capacity; struct btsc_Context * ctx; }; struct btsc_Packet* btsc_Packet_Alloc(struct btsc_Context* ); void btsc_Packet_Free(struct btsc_Packet*); struct btsc_Property* btsc_Property_Alloc(struct btsc_Context* ,char * name,char * value); void btsc_Property…

系统分类: 软件开发   |    用户分类: 通信网络    |    来源: 转贴

点击查看原文

阅读(492)  |  评论(0)  |   收藏 (0)  |    举报

23456789Next >Total , Page /