自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的嵌入式

真正的幸福,在于对平淡生活的热爱......

  • 博客(62)
  • 收藏
  • 关注

原创 TCP/IP学习笔记之十 --- IGMP:Internet组管理协议

 1.       概述介绍用于支持主机和路由器进行多播的Internet组管理协议(IGMP)。它让一个物理网络上的所有系统知道主机当前所在的多播组。与ICMP类似,IGMP也被当作IP层的一部分,通过IP数据报进行传输。2.       IGMP报文IGMP是有固定长度的报文。IGMP报文通过IP首部中协议字段值为2来指明。下图显示了长度为8字节的IGMP报文格式: 

2008-11-27 15:39:00 1214

原创 TCP/IP学习笔记之九 --- 广播和多播

 1.       概述单播(unicast):每一个以太网帧包含源主机和目的主机的以太网地址(48bit)。每个以太网帧仅发往单个目的的主机,目的地址指明单个接收接口,因而称为单播。在该方式下任意两个主机的通讯不会干扰网内其它主机。广播(broadcast):一个主机向网上的所有主机发送帧这就是广播。多播(multicast):处于广播和单播之间的就是多播,主机仅传松给属于多播组

2008-11-27 11:14:00 2258

转载 一张图分出你是用左脑还是右脑

如果你看见这个舞女是顺时针转,说明你用的是右脑;    如果是逆时针转,说明你用的左脑。    耶鲁大学耗时5年的研究成果,据说。    14%的美国人可以两个方向都能看见顺时针转的话 , 属於是用右脑较多的类型 逆时针转属於使用左脑较多的类型 大部分人的眼里里是逆时针方向转动 , 但也有人看来是顺时针方向转动的 . 顺时针的情况 , 女性比男性多 ~ 逆时针转动的 , 突然变成顺时针的话 , I

2008-08-24 13:24:00 1472 2

原创 TCP/IP学习笔记之八 --- 动态选路协议

当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这时就出现了动态选路。路由器之间必须采用选路协议进行通信,这样的选路协议有很多种。路由器上有一个进程称为路由守护程序(routingdaemon),它运行选路协议,并与其相邻的一些路由器进行通信。动态选路并不改变内核在IP层的选路方式(这种选路方式称为选路机制)。当路由随时间变化时,路由表中的路由由路由守护程序动态地增加或删除。

2007-12-14 19:15:00 1254

原创 TCP/IP学习笔记之七 --- IP选路

选路IP是最重要的功能之一。下图为IP层处理过程的简单流程。需要进行选路的数据报可以由本地主机产生,也可以由其他主机产生。在后一种情况下,主机必须配置成一个路由器,否则通过网络接口接收到的数据报,如果目的地址不是本机就要被丢弃。 IP搜索路由表的几个步骤:1) 搜索必配的主机地址;2) 搜索匹配的网络地址;3) 搜索默认表项(一般在路由表中被指定为一个网络表项,其网络号为0

2007-12-06 19:35:00 1138

原创 TCP/IP学习笔记之六 --- ICMP: Internet控制报文协议

ICMP被认为是IP层的一部分,它传递差错报文及其他需要注意的信息。ICMP报文经常被IP层或更高协议(TCP/UDP)使用(有一些差错报文返回给用户进程)。ICMP报文是在IP数据报内部被传输的,如下图:ICMP报文的格式如下:各种类型的ICMP报文如下图,不同类型由报文中的类型字段和代码字段共同决定。为了使ICMP差错报文与特定的协议或者用户进程联系起来,当发送一份

2007-11-30 10:22:00 1763

原创 TCP/IP学习笔记之五 --- RARP: 逆地址解析协议

RARP协议是许多无盘系统在引导时用来获取IP地址的。RARP分组格式基本上与ARP分组一致。一个RARP请求在网络上进行广播,它在分组中标明发送端的硬件地址,以请求相应IP地址的响应。应答通常是单播传送的。RARP带来的问题包括使用链路层广播,这样就阻止大多数路由器转发RARP请求,只返回很少信息:只是系统的IP地址。虽然RARP在概念上很简单,但是RARP服务器的实现却与系统相关。因此

2007-11-20 16:59:00 969

原创 TCP/IP学习笔记之四 --- ARP:地址解析协议

      当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit的以太网地址来确定目的接口的。设备驱动程序从不检查IP数据报中的目的IP地址。地址解析(ARP)为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层使用的任何类型的地址。      网络接口有一个硬件地址(一个48bit的值,标识不同的以太网或令牌环网络接口)。在硬件层次上进行的数据帧交换必须

2007-11-20 16:35:00 1021

原创 TCP/IP学习笔记之三 --- IP: 网际协议

 IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。其是一种不可靠、无连接的数据报传送服务。不可靠(unreliable)的意思是它不能保证IP数据报能成功地到达目的地。IP仅提供最好的传输服务。无连接(connectionless)这个术语的意思是IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。1、I

2007-11-20 16:00:00 905

原创 TCP/IP学习笔记之二 --- 链路层

 在TCP/IP协议族中,链路层是其最底层协议,主要有三个目的:(1)为IP模块发送和接收IP数据报;(2)为ARP模块发送ARP请求和接收ARP应答;(3)为RARP发送RARP请求和接收RARP应答。在TCP/IP世界中,以太网IP数据报的封装是在RFC894[Hornig1984]中定义的,IEEE802网络的IP数据报封装是在RFC1042[PostelandReynolds1988]

2007-11-19 17:28:00 959

原创 TCP/IP学习笔记之一 --- 概述

TCP/IP协议族分为四层:链路层、网络层、运输层和应用层。每一层负责不同的功能:1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP / IP协议族中,网络层协议包括IP协议(网际协议),IC

2007-11-19 15:39:00 1025

转载 如何编写代码才能使得效率高

一、排版:   1.关键词和操作符之间加适当的空格。   2.相对独立的程序块与块之间加空行   3.较长的语句、表达式等要分成多行书写。   4.划分出的新行要进行适应的缩进,使排版整齐,语句可读。   5.长表达式要在低优先级操作符处划分新行,操作符放在新行之首。   6.循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。   7.若函数或过程中的参数较长,则要进行适当的划分。  

2007-08-13 09:59:00 918

转载 DES & 3DES算法

1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(Data Encryption Standard)。上周帮leojay看3DES算法,讲讲这个算法是如何进行的:) 先来讲讲DES加密: 首先,这个算法全程是按位运算的,每次计算64位的内容,也就是8个字节。密钥Key,为64位。 我们把内容经过一个初始置换,就是每位按如下表格进行位置交换: I

2007-08-01 17:29:00 2274 1

原创 读马工的《设计与生存》(三)

“我在每一家公司都看到一些年轻人的想法和行动南辕北辙。一方面想出人头地,一方面又为一些小事影响自己的情绪和目标,应付工作。‘优秀是一种习惯’,全神贯注的工作习惯不是一日可养成的,漫不经心惯了,想快想好是不容易的。” 的确,“优秀是一种习惯”当你形成了这种习惯之后,你就是优秀的,这不是一时的,而是随时随地的。“剑走偏锋才能出奇制胜。人要有‘一技之长’,如果你会的技术别人都会,就没有竞争力。所以面

2007-05-24 15:57:00 1561 2

原创 读马工的《设计与生存》(二)

工程师研发产品往往追求性能指标,强调设计的产品能代表多么高的水平,追求他认为有用的多而全的功能,往往忽视市场的时间需求和用户的实际需求。有时候当影响公司的大局时,这种情况是一定要扭转的。如果不影响公司的大局,通过事实来教育新人,可能效果更好。因为你不让他试,就证明不了利弊。这种成长的代价,其实也体现了一种企业文化。 “用对人,才能做好事”这不仅表现在一个人的技术水平上,而且还表现在一个人的性格

2007-05-23 15:42:00 1129

原创 读马工的《设计与生存》(一)

开始读的时候离现在快有一年多了,当时时间没有多少,读了前两章感觉很不错,但时间到了于是就还了图书馆,后面就没有借了继续读。 前几天女友回家有事,终于自己一个人有时间泡了一天图书馆,这本《设计与生存》终于又借了回来,继续以前没有读完的部分。“一个五十人的团队,其实真正能独立做研发工作的就往往只是六七人,主要靠这些骨干带着Team往前走,所以凝聚了骨干就稳定了团队”的确是,特别是我在现在的公司

2007-05-23 15:15:00 1367

转载 嵌入式软件测试的十大秘诀

 在嵌入式软件开发过程中,一般来说,花在测试和花在编码的时间比为3:1(实际上可能更多)。这个比例随着你的编程和测试水平的提高而不断下降,但不论怎样,软件测试对一般人来讲很重要。很多年前,一位开发人员为了在对嵌入式有更深层次的理解,向Oracle询问了这样的一个问题:我怎么才能知道并懂得我的系统到底在干些什么呢?   Oracle面对这个问题有些吃惊,因为在当时没有人这么问过,而同时代的嵌入式

2007-01-16 17:33:00 1565

转载 MISRA-C :2004 规则常用要点

规则2.1 强制 汇编语言应该被封装并隔离。在需要使用汇编指令的地方建议以如下方式封装并隔离这些指令(a) 汇编函数(b) C 函数(c) 宏出于效率的考虑有时必须要嵌入一些简单的汇编指令如开关中断如果不管出于什么原因需要这样做那么最好使用宏来完成#define NOP asm (“ NOP”);规则2.2 强制 源代码应该使用 /*…*/ 类型的注释 。规则2.4 建议 代码段不应被注释掉(co

2006-12-05 09:54:00 4526

转载 分析内核初始化时根内存盘的加载过程

概述====1)当内核配置了内存盘时, 内核在初始化时可以将软盘加载到内存盘中作为根盘.当同时配置了初始化内存盘(Initail RAM Disk)时, 内核在初始化时可以在安装主盘之前,通过引导程序所加载的initrd文件建立一个内存初始化盘, 首先将它安装成根文件系统, 然后执行其根目录下的linuxrc 文件,可用于在安装主盘之前加载一些内核模块. 等到linuxrc 程序退出后, 再将主盘

2006-11-16 18:17:00 3080

原创 构建嵌入式Linux的Ramdisk

 1,进入工作目录,建立需要的目录$mkdir rdmnt                    // 新ramdisk挂载的目录$mkdir rdimg                    // 产生的镜像文件的目录$mkdir rdold                    // ramdisk旧文件目录$mkdir rdold/tmp                // 挂载旧ramdi

2006-09-15 15:53:00 2635

原创 在Linux下为嵌入式Linux内核编译busybox

 笔者所用的是一块ARM9 Atmel 9200的开发板,Linux内核为2.4.27, 交叉编译器为2.95.3,编译环境为RedHat9 Linux下。1、从http://www.busybox.net/downloads下载到busybox,笔者下载的为busybox1.1.3,下载后解压到一个目录下,如 /tmp 目录下;2、进入解压后的目录,输入make menuconfig 进

2006-09-15 15:23:00 8637

原创 使用Philips ARM7 LPC2119 通过SPI与炬力ATT7022B电力DSP芯片的通讯

 一、炬力ATT7022B        ATT7022B是一款具有高可靠性、高精度、高稳定性的三相基波/谐波电能计量芯片,在1000:1的动态范围内功率测量精度优于0.1%,电流和电压的有效值测量精度优于0.5%。ATT7022B可以单独计量基波电能,消除谐波对电能计量的负面影响,为电力部门公平计费提供参考依据。其内部集成7通道的16位高精度ADC和24位高速DSP,第七路ADC可用于防窃电,片

2006-08-08 11:31:00 4393 1

转载 RS485主从式多机通讯协议

RS485主从式多机通讯协议一、数据传输协议此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息按本协议发出。1、数据在网

2006-07-21 14:45:00 20566 5

转载 人生致命的八个经典问题

        问题一:如果你家附近有一家餐厅,东西又贵又难吃,桌上还爬着蟑螂,你会因为它很近很方便,就一而再、再而三地光临吗?   回答:你一定会说,这是什么烂问题,谁那么笨,花钱买罪受?   可同样的情况换个场合,自己或许就做类似的蠢事。   不少男女都曾经抱怨过他们的情人或配偶品性不端,三心二意,不负责任。明知在一起没什么好的结果,怨恨已经比爱还多,但却“不知道为什么”还是要和他搅和下去,分

2006-07-21 10:28:00 1085

转载 串口通信的基本概念

串口通信的基本概念1,什么是串口?2,什么是RS-232?3,什么是RS-422?4,什么是RS-485?5,什么是握手?1,什么是串口?串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信

2006-06-30 11:12:00 3390

转载 用 Eclipse 平台进行 C/C++ 开发

用 Eclipse 平台进行 C/C++ 开发如何使用 C/C++ 开发工具箱(CDT)C 和 C++ 语言都是世界上最流行且使用最普遍的编程语言,因此 Eclipse 平台(Eclipse Platform)提供对 C/C++ 开发的支持一点都不足为奇。因为 Eclipse 平台只是用于开发者工具的一个框架,它不直接支持 C/C++;它使用外部插件来提供支持。本文将向您演示如何使用 CD

2006-06-27 10:35:00 1223

原创 可对任意类型数据进行编码的Base64编解码源码

// 测试平台: 在Win2K下的Cygwin gcc编译通过,测试没有发现问题(如果你发现了还请告诉我,谢谢!)// 调用的库: strlen() (  其实可以自己写一个类似的功能函数来取长度的 )/************************************************************************************************

2006-06-23 12:51:00 2886

原创 Philips P89LPC917单片机对温度芯片DS1820的取温度笔记

硬件环境:  P89LPC917, DS1820温度芯片, VDD=3.3V, 调试串口;软件环境:  Keil uVision2, 串口通讯控制器(用来接收串口数据)过程: 看了资料, 其有着许多C51单片机操作DS1820的实例,但是其晶振频率都是参照标准的51芯片的,为11.059MHz. 而P89LPC917的晶振是7372800Hz.由于单总线对时序十分的严谨,而且十分的短暂,所

2006-06-19 13:11:00 1884 1

原创 秒级的时间换算

1s  (秒)1ms (毫秒)   1毫秒 = 0.001秒 = 10-3秒(millisecond) 1μs (微秒)   1微秒 = 0.000001秒 = 10-6秒(microsecond) 1ns (纳秒)   1纳秒 = 0.000000001秒 = 10-9秒(nanosecond) 1ps (皮秒)   1皮秒 = 0.000000000001秒 = 10-12秒 1fs (飞秒)

2006-06-15 16:43:00 5278 1

转载 与人相处的24条黄金法则

        下列法则告诉人们,怎样才能给别人提供他们所需要的东西。当我们遵照这些法则行事的时候,我们就能增加自己的关系账户上的财富。1.尽可能鼓励别人。你要称赞他获得的成果――即使是很小的成功。称赞如同阳光,缺少它我们就没有生长的养份。你的称赞永远都不会多余。2.你要在任何时候都让别人保留脸面。不要让任何人感到难堪,不要贬低别人,不要夸大别人的错误。3.在别人背后只说他的好话。如果你找不到

2006-06-09 17:39:00 1114

转载 给年轻工程师的十大忠告

给年轻工程师的十大忠告    诸位,咱当电子工程师也是十余年了,不算有出息,环顾四周,也没有看见几个有出息的!回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师妹们提个醒,希望他们比咱们强!    [1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手

2006-05-12 10:49:00 978

转载 PCB设计基础知识

                                                                                         PCB设计基础知识    印刷电路板(Printed circuit board,PCB)几乎会出现在每一种电子设备当中。如果在某样设备中有电子零件,那么它们也都是镶在大小各异的PCB上。除了固定各种小零件外,PCB的主要

2006-05-12 10:44:00 1548

原创 UCOS-II在LPC2210上的移植--OS_CPU_A.s

UCOS-II在LPC2210上的移植--OS_CPU_A.sCPU: Philips ARM7 LPC2210OS: uC/OS-II 2.52IDE: ADS 1.2移植一个操作系统到一个CPU体系的结构上,移植者必须的要求:1、对目标体系结构要有很深的了解 -- ARM Architecture Reference Manual2、对OS原理要有较深入的了解 -- 嵌入式实时操作系统

2006-04-28 18:00:00 2840

原创 UCOS-II在LPC2210上的移植--OS_CPU_c.c

UCOS-II在LPC2210上的移植--OS_CPU_c.c CPU: Philips ARM7 LPC2210OS: uC/OS-II 2.52IDE: ADS 1.2移植一个操作系统到一个CPU体系的结构上,移植者必须的要求:1、对目标体系结构要有很深的了解 -- ARM Architecture Reference Manual2、对OS原理要有较深入的了解 -- 嵌入式实时操

2006-04-27 17:14:00 2621

原创 UCOS-II在LPC2210上的移植--OS_CPU.h

UCOS-II在LPC2210上的移植--OS_CPU.h CPU: Philips ARM7 LPC2210OS: uC/OS-II 2.52IDE: ADS 1.2移植一个操作系统到一个CPU体系的结构上,移植者必须的要求:1、对目标体系结构要有很深的了解 -- ARM Architecture Reference Manual2、对OS原理要有较深入的了解 -- 嵌入式实时操作系统u

2006-04-27 15:58:00 3081 1

原创 对ARM7 LPC2210的Bootloader源码分析

对周立功公司开发板EasyARM LPC2210开发板Chenmingji写的Bootlaoder进行分析和解读。一、变(常)量声明    首先声明堆栈大小          ;define the stack size    ;定义堆栈的大小    SVC_STACK_LEGTH         EQU         0    FIQ_STACK_LEGTH         EQU    

2006-04-26 11:29:00 3631

转载 使用ADS1.2进行嵌入式软件开发(下)

放置堆栈和heapScatterloading机制提供了一种指定代码和静态数据布局的方法。下面介绍如何放置应用程序的堆栈和heap。* _user_initial_stackheap重定向应用程序的堆栈和heap是在C库函数初始化过程中建立起来的。可以通过重定向对应的子程序来改变堆栈和heap的位置,在ADS的库函数中,即_user_initial_stackheap()函数。_user_init

2006-03-30 17:15:00 2734

转载 使用ADS1.2进行嵌入式软件开发(上)

 概述        嵌入式应用程序通常都是在样机环境下调试与开发的,这种环境与最终产品之间并不完全相同。因此,在系统调试阶段就考虑应用程序在最终目标硬件中的运行情况是非常重要的。       本文旨在讨论如何将一个开发/调试环境下的嵌入式应用程序转移到最终独立运行的目标系统中去,并提到了ARM ADS1.2开发工具包的一些功能特性及其在这个过程中所起到的作用。       使用ADS开发

2006-03-30 17:14:00 3364

转载 ARM处理器中断处理的编程实现

ARM编程特别是系统初始化代码的编写中通常需要实现中断的响应、解析跳转和返回等操作,以便支持上层应用程序的开发,而这往往是困扰初学者的一个难题。中断处理的编程实现需要深入了解ARM内核和处理器本身的中断特征,从而设计一种快速简便的中断处理机制。需要说明的是,具体的上层高级语言编写的中断服务函数不在本文的讨论范围之内。       ARM处理器异常中断处理概述       当异常中断发生时,系统执行

2006-03-30 17:12:00 3347

转载 黑客常用的命令和快捷键

黑客入侵中常用的命令:*net user 查看用户列表*net user 用户名 密码 /add 添加用户*net user 用户名 密码 更改用户密码*net localgroup administrators 用户名 /add 添加用户到管理组*net user 用户名 /delete 删除用户*net user 用户名 查看用户的基本情况*net user 用户名 /active:n

2006-03-30 09:44:00 957

空空如也

空空如也

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

TA关注的人

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