- 博客(22)
- 收藏
- 关注
原创 ubuntu下ns2的安装及GDB调试过程
在ubuntu上安装ns2,首先需要安装:# sudo apt-get install build-essential g++# sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev# sduo apt-get install libxmu-dev libxmu-headers 接着到ns2的SourceForge去下载软
2014-06-12 14:59:28
1069
原创 总结
目前为止,我使用过的界面编程语言有:1.c#,《c#从入门到精通》,visual studio 2010,工业控制可视化界面(实时曲线);2.c++/MFC,《深入浅出MFC》,vc6.0,随机二叉树的生成、贪吃蛇。c# 关键字:类(字段、方法),委托,事件,WPF控件MFC关键:1.c++类库,封装了大部分的windows API函数。(浅封装,句柄->对象函数的映射
2014-03-12 11:10:13
933
原创 ns2中command的用法
分裂对象模型tclclTclObject类是所有编译类(c++)的基类,SplitObject类是所有解释类(TclCL)类的基类,而类TciClass包含了这两个类间的映射关系。创建对象时,用户通过tcl脚本创建解释对象的同时在c++类结构中创建了对应的类。通过变量绑定bind可以同时在OTcl类和c++类中访问和修改成员变量。static class AOMDVclass : pu
2014-03-11 15:17:49
2281
原创 AOMDV协议中的路由表rt
读了大概一半的aomdv.cc代码,rt出现了很多很多次,导致我如果不研究一下,aomdv的代码完全读不下去……嗯,看一下rt:aomdv_rt_entry *rt 是一个指向aomdv_rt_entry类的指针。而aomdv_rt_entry类是在aomdv_rtable.h中定义的,下面具体看一下。定义路由表节点的类:aomdv_rt_entry:其中定义的成员函数主要
2014-03-10 15:59:41
2621
原创 ns中定时器句柄的定义
这部分内容涉及到ns的事件调度器,这部分内容可见博客http://blog.youkuaiyun.com/ise_gaoyue1990/article/details/7630943-----------------------------------------------------------------------------------------------------------------
2014-03-06 11:09:59
2214
原创 ns2中的队列,Packet
ns2中收发的数据包一般都需要排队,也就是说数据包需要组成一个FIFO的队列。队列的形成与Packet类有关。Packet类在/ns-allinone-2.35/ns-2.35/common/packet.h中定义(HDR_CMN在同一个文件中定义)。class Packet : public Event {private: unsigned char* bits_; // hea
2014-02-28 15:05:27
2189
原创 tips
(1)assert()assert宏的原型定义在中,作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。#include void assert( int expression );(2)->一般用来指向结构体或者类的指针用来引用对象里面的变量或函数。(3)&1.
2014-02-28 14:39:38
805
原创 NS2中的数据包common头结构hdr_cmn
在aomdv_rqueue.cc中多次遇到了HDR_CMN(p),查遍了AOMDV协议都没有找到定义,最后还是度娘出了结果,在下边列出。不得不说,看得越深入,涉及到NS底层的实现也越多。-------------------------------------------------------------------------------------------------------
2014-02-28 09:55:54
4596
原创 friend,inline,构造函数初始化列表
(1) friend 友元允许特定的非成员函数访问一个类的私有成员。友元仍是类的“接口组成部分”(2) inline 内联函数将函数指定为内联函数,就是将它在程序中每个调用点上“内联地”展开。适用于优化小的,只有几行的而且经常被调用的函数。避免函数调用的开销。调用函数需要做的工作:调用前保存寄存器,并在返回时恢复;复制实参;转向一个新位置执行。调用函数比求解
2014-02-26 16:29:27
948
原创 ns2中宏定义实现的链表LIST
-----------------------------------------------------------链表的定义-----------------------------------------------------------List的定义:#define LIST_HEAD(name, type) \struct name { \ ty
2014-02-26 14:51:13
1499
原创 #define 后只有一个参数
#define AOMDV_PACKET_SALVAGING#define AOMDV_MAX_SALVAGE_COUNT 10#define AOMDV_EXPANDING_RING_SEARCH一般情况下,宏定义时的用法为:#define a b ,后接两个参数,表示用a代替b。但很多时候,#define 后只有一个参数,经常出现在头文件的开始处。解释:
2014-02-25 15:59:17
16578
转载 NS2工具(cbrgen,setdest,threshold,nam)
【转载】 Jerry's Study : NS2中的小工具 2009年09月09日 星期三 19:48http://hi.baidu.com/jerry_916/blog/item/e13e843ca7c8a4e73c6d9754.html一. cbrgen(~ns/indep-utils/cmu-scen-gen)cbrgen用来生成传输负
2013-10-31 09:46:17
2413
转载 ZigBee vs WiFi vs 433
Zigbee、WiFi和433MHz无线技术各有特点,我的客户应该选择哪一种? Zigbee、WiFi和433MHz无线技术都属于近距离无线通讯技术,并且都使用ISM免执照频段,但它们各具特点。 ZigBee的特点是低功耗、高可靠性、强抗干扰性,布网容易,通过无线中继器可以非常方便地将网络覆盖范围扩展至数十倍,因此从小空间到大空间、从简单空间环境到复杂空间环
2013-09-12 15:59:24
5393
原创 那些现在用不到以后可能也会用到的文章
GenericApp功能 http://yueqiang32.blog.163.com/blog/static/176355344201265102345637/使用Packet Sniffer分析Z-Stack协议数据 http://blog.chinaunix.net/uid-20788636-id-1841396.html
2013-08-19 15:17:04
723
原创 Z-Stack协议分析工具之Packet Sniffer
Packetsniffer 包嗅探器 一种帮助维护、故障检测和微调局域网和广域网的软件工具。这种工具观察网络段的通信量,学习掌握网络配置,对协议进行译码,提交统计数字,自动识别许多网络常见问题,并能够生成管理报告。 ---------------------------------------------------以上来自百度百科------------------------
2013-08-19 10:55:38
2347
原创 zstack协议栈移植过程中IAR不能编译的问题
开发环境:用CC2530开发,已经安装了IAR 7.51A和ZStack-CC2530-2.3.0-1.4.0-1协议栈。问题发生的背景:在实验室项目的开发过程中,我直接移植了师兄修改好的例程(把整个ZStack-CC2530-2.3.0-1.4.0-1协议栈拷贝在我自己的电脑上,没有特别放在哪个路径下,很随意的选了个地方)。问题描述:因为实验室的大牛师兄对协议栈进
2013-08-15 16:35:44
2319
原创 zigbee组网调用
组网过程初始化:osal_init_system()->osalInitTasks()在OSAL.c中osalInitTasks()->ZDApp_Init()在OSAL_GenericApp.c中ZDApp_Init()->ZDOInitDevice()在ZDApp.c中ZDOInitDevice()->ZDApp_NetworkInit()在ZDApp.
2013-08-13 16:06:24
1543
原创 ZStack OSAL的事件(event)与消息(message)——part 2
二、消息消息可以理解为带有附加信息的事件。最典型的一类便是按键消息,它同时产生了一个哪个按键被按下了附加信息。所以在OnBoard_SendKeys这个函数中,不仅向GenericApp发送了事件,还通过调用osal_msg_send函数向GenericApp发送了一个消息,这个消息记录了这个事件的附加信息。一般来说,一个消息总是和一个事件对应。当协议栈接收到消息后,在ProcessE
2013-08-08 15:44:11
5483
原创 ZStack串口操作
对ZStack串口的操作并不服咋,只要在需要的配置串口,打开串口,收发数据即可。 一、串口的配置和打开要使用串口,首先需要对串口进行配置。在hal_uart.h中,我们可以找到halUARTCfg_t结构体用于配置串口:typedef struct{ bool configured; uint8
2013-08-07 10:24:17
4222
原创 ZStack OSAL的事件(event)与消息(message)——part1
在zstack中,有两种方式在OSAL的任务(task)中添加自定义的功能:事件(event)和消息(message)。一、事件事件是驱动任务去执行某些操作的条件,当系统产生了一个事件,将这个触发传递给相应的任务后,任务才能执行一个相应的操作。OSAL通过一个16位宽度的数组来管理事件,意味着OSAL最多可以支持16个事件,其中最高位(0x08000,SYS_EVENT_M
2013-08-06 10:56:21
7478
转载 菜鸟解读zstack中的回调函数
首先声明,我是纯粹的菜鸟,看zstack有三周了。昨天读了《RemoTI原版按键程序分析》感觉获益匪浅,在他的那篇帖子的基础上,我又自己将思路梳理了一遍,将回调函数这一部分的东西先写出来,呵呵。 在看zstack的时候,一开始不懂函数指针和回调函数的概念,一直理解不了事件处理过程,都怪自己的C语言功底太差。即使找到了 int main(void)中函数 osal_start_system
2013-08-05 16:30:28
2579
2
转载 深入浅出Z-Stack OSAL多任务资源分配机制
一、概述 OSAL (Operating System Abstraction Layer),翻译为“操作系统抽象层”。如何理解这个复杂的名词呢?表面上看它是作为操作系统存在的,可是为什么又加上“抽象层”呢?它的本质是什么?在Z-Stack协议栈中,它又扮演了什么角色呢?要解答这些问题,我们必须先从宏观入手,渐渐深入探究,最后答案自然会浮出水面。 下图是ZigBee协议的结构图
2013-08-05 16:18:14
1834
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人