- 博客(34)
- 资源 (20)
- 收藏
- 关注
转载 ZigBee组网过程
第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络//第一步:Z-Stack 由 main()函数开始执行,main()函数共做了 2 件事:一是系统初始化,另外一件是开始执行轮转查询式操作系统 int main( void ) { ....... // Initialize the operat
2014-01-13 17:25:03
1579
转载 zigbee组网过程概述
zigbee组网过程组网方案设计:组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。网络初始化:Zigbee网络的建立是由网络协调器发起的,任何一个zigbee节点要组建一个网络必须要满足以下两点要求:1.节点是FFD节点,具备zigbee协调器的能力;2.节点还没有与其他网络连接
2014-01-13 17:20:02
5210
转载 linux 内存分页机制
涉及的硬件平台是X86,如果是其它平台,嘻嘻,不保证能一一对号入座,但是举一反三,我想是完全可行的。一、概念 物理地址(physical address) 用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。 ——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐字节的编号的大数组,
2013-10-15 21:52:02
821
转载 ARM函数调用时参数传递规则
ARM函数调用时参数传递规则之前在学习如何在C语言中嵌入汇编时有了解到C语言之前的参数调用是使用寄存器R0传递第一个参数,R1传递到第二个..一直到R3传递第四个参数.但是 实际上有时可能传递的参数非常多,超过8个,或是参数中有浮点数之类,参数也会超过4个寄存器,对于超出的部份并不使用 之前在学习如何在C语言中嵌入汇编时有了解到C语言之前的参数调用是
2013-10-12 20:14:23
2816
1
转载 从寄存器看I386和x64位中函数调用中参数传递
x86_64基本使用寄存器存储函数参数,寄存器不够才入栈;而i386将所有参数保存在栈上,通过gcc的扩展功能__attribute__((regparm()))即可实现部分参数的寄存器传递。 代码123456789101112131415161718192021
2013-10-12 20:10:32
1504
转载 一个Sqrt函数引发的血案
好吧,我承认我标题党了,不过既然你来了,就认真看下去吧,保证你有收获。 我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢? 虽然有可能你平时没有想过这个问题,不过正所谓是“临阵磨枪,不快也光”,你“眉头一皱,计上心来”,这个不是太简单了
2013-10-12 19:24:05
662
转载 使用Packet Sniffer分析Z-Stack协议数据
Packet Sniffer 是一款专门的协议分析软件,可以对PHY、MAC、NETWORK/SECURITY、APPLICATION FRAMEWORK和APPLICATION PROFOCES等各层协议上的信息包进行分析和解码;显示出错的包以及接入错误;指示触发包;在接收和注册过程中可连续显示包,可以利用Packet Sniffer分析ZigBee建立网络,加入网络,发送数据,接收数据的过
2013-09-12 22:16:06
1215
原创 基本shell 编程
if else以及大于、小于、等于逻辑表达式if ....; then .... elif ....; then .... else .... fi[ -f "somefile" ] :判断是否是一个文件 [ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限 [ -n "$var" ] :判断$var变量是否有值 [ "$a" =
2013-09-12 22:09:31
481
转载 GDB十分钟教程
本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。 命令 解释 示例file 加载被调试的
2013-09-03 22:04:34
717
转载 将内核API编译为man手册
一般我们都知道用man手册去查看libc库的API的用法,例如man strcpy、man stat ...其实内核里的一些API也可以编译到man手册中,这样对于学习内核的,也无疑是一种很好的资料。----------------------------------------------------------------------------------1,编译内核
2013-08-27 15:42:35
795
转载 C++编程学习50个经典网站 强力推荐
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。 1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段 2、http:
2013-08-27 14:28:36
876
转载 字符串 哈希 比較 各种字符串Hash函数比较
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。对于以上几种哈希函数,我对其进
2013-08-20 16:02:54
760
转载 V4L2驱动程序架构
1 V4L2简介video4linux2(V4L2)是Linux内核中关于视频设备的内核驱动,它为Linux中视频设备访问提供了通用接口,在Linux系统中,V4L2驱动的Video设备节点路径通常/dev/video/中的videoXV4L2驱动对用户空间提供字符设备,主设备号为81,对于视频设备,其次设备号为0-63。除此之外,次设备号为64-127的Radio设备,次设备
2013-08-19 20:27:57
593
转载 bmp转jpg(使用libjpeg)
bmp转jpg(使用libjpeg) jpg压缩原理可以参考这篇文章http://hi.baidu.com/tiandsp/item/f5a2dcde6ef1405bd73aae41,我很早以前转的一篇文章。 没有使用libjpeg的压缩代码可以看看这篇文章http://hi.baidu.com/tiandsp/item/9b5843c58a3b4474cfd4f841,也是我
2013-08-18 21:28:10
767
转载 jpg转bmp(使用libjpeg)
jpg转bmp(使用libjpeg) 还是关于图像格式上的东西。使用了libjpeg库将jpeg图像转换到bmp格式。解压原理还是相对复杂的,将来有机会说不定会详细介绍。这里只是库的使用而已。 首先需要下载libjpeg库,网址在这里:http://www.ijg.org/ 然后需要配置环境,我是在windows下用vs2010搞的,编译库可以参考这篇文章。编译出jpeg
2013-08-18 21:27:24
1023
1
转载 系统调用与软件中断SWI的实现
++++++++++++++++++++++++++++++++++++++++++本文系本站原创,欢迎转载! 转载请注明出处:http://blog.youkuaiyun.com/mr_raptor/article/details/6556451++++++++++++++++++++++++++++++++++++++++++1 系统调用操作系统的主要功能是为应用程序的运行创建良好
2013-08-14 15:14:13
1076
转载 linux多线程信号总结
linux 多线程信号总结(一)1. 在多线程环境下,产生的信号是传递给整个进程的,一般而言,所有线程都有机会收到这个信号,进程在收到信号的的线程上下文执行信号处理函数,具体是哪个线程执行的难以获知。也就是说,信号会随机发个该进程的一个线程。2 signal函数BSD/Linux的实现并不在信号处理函数调用时,恢复信号的处理为默认,而是在信号处理时阻塞此信号,直到信号处理函数返回。
2013-07-30 19:34:44
629
原创 linux 线程优先级
linux内核的三种调度方法:1,SCHED_OTHER 分时调度策略,2,SCHED_FIFO实时调度策略,先到先服务3,SCHED_RR实时调度策略,时间片轮转 RR调度和FIFO调度的进程属于实时进程,以分时调度的进程是非实时进程。当实时进程准备就绪后,如果当前cpu正在运行非实时进程,则实时进程立即抢占非实时进程。RR进程和FIFO进程都采用实时优先
2013-07-14 16:43:54
1503
转载 gdb中忽略信号处理
信号(Signals)信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。UNIX定义了许 多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号; SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术
2013-07-11 10:08:40
1418
转载 用eclipse集成开发环境开发、调试arm linux程序
安装交叉编译器(arm-linux-gcc)以及集成开发环境(eclipse)1.安装arm-linux-gcc,不管你是从网上下载的,还是开发板光盘里面的,都可以,版本也没什么限制,我的是arm-linux-gcc-4.3.2。 进入arm-linux-gcc安装包的目录,我的位置是在 /home/cfan/temps这个目录里面 打开一个终
2013-07-11 10:03:12
3926
转载 CRAMFS制作方法
CRAMFS制作方法1. 编译cramfs制作工具mkcramfsa. 解压cramfs-1.1.tar.bz2,产生cramfs-1.1文件夹b. 使用终端进入cramfs-1.1文件夹,运行make,编译cramfs制作工具c. 编译产生mkcramfs和cramfsck两个工具,将这两个工具复制到/usr/bin目录下。2. 编译busyboxa. 解压busybox-1.20.2.tar.
2013-07-08 16:37:05
1658
1
转载 SQLite在多线程环境下的应用
这几天研究了一下SQLite这个嵌入式数据库在多线程环境下的应用,感觉里面的学问还挺多,于是就在此分享一下。先说下初衷吧,实际上我经常看到有人抱怨SQLite不支持多线程。而在iOS开发时,为了不阻塞主线程,数据库访问必须移到子线程中。为了解决这个矛盾,很有必要对此一探究竟。关于这个问题,最权威的解答当然是SQLite官网上的“Is SQLite threadsafe?”这个问
2013-07-05 09:46:26
747
转载 system函数返回值
例:[cpp] view plaincopystatus = system("./test.sh"); 1、先统一两个说法:(1)system返回值:指调用system函数后的返回值,比如上例中status为system返回值(2)shell返回值:指system所调用的shell命令的返回值,比如上例中
2013-07-03 15:37:42
700
转载 红外编码格式
转自:http://www.cublog.cn/u3/105675/showart_2420421.html转自AS1250 红外遥控器芯片说明最近在研究的在S3C6410的上的IRM3638 红外接收器件。发现其中红外编码采用PT2222编码,进一步研究发现,红外编码是有好几种编码.特的将编码格式取出来放在这里.一.TC9028、TC9012、TC9243 编码方式 TC90
2013-07-03 10:18:18
1806
转载 C字符串处理函数
void *memccpy (void *dest, const void *src, int c, size_t n);从src所指向的对象复制n个字符到dest所指向的对象中。如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置;否则返回NULL。void *memcpy (void *dest, const void *src, size_t n);
2013-07-02 16:22:24
669
转载 Linux2.6 内核的 Initrd 机制解析
简介: Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最
2013-07-01 15:24:01
444
转载 利用Python的SocketServer框架编写网络服务程序
1.前言: 虽说用Python编写简单的网络程序很方便,但复杂一点的网络程序还是用现成的框架比较好。这样就可以专心事务逻辑,而不是套接字的各种细节。SocketServer模块简化了编写网络服务程序的任务。同时SocketServer模块也是Python标准库中很多服务器框架的基础。 2.网络服务类:SocketServer提供了4个基本的服务
2013-07-01 14:23:22
819
转载 arm linux u盘自动挂载
系统环境:Loongson-1B开发板(mips32指令集)、busybox1.19.2、Linux2.6.21、文件系统配置参照本博客文章《移植Busybox与构建根文件系统》编译环境:ubuntu10.04、gcc-3.4.6-2f u盘自动挂载功能实现步骤如下:1、配置内核a)配置内核支持热插拔:#cd linux.2.6.21#vi .configCONFI
2013-06-25 19:07:21
1284
转载 Sqlite3 操作二进制数据
SQLite存取二进制数据一.使用流程要使用sqlite,需要从sqlite官网下载到三个文件,分别为sqlite3.lib,sqlite3.dll,sqlite3.h,然后再在自己的工程中配置好头文件和库文件,同时将dll文件放到当前目录下,就完成配置可以使用sqlite了。使用的过程根据使用的函数大致分为如下几个过程:sqlite3_open()sqlite3_pr
2013-06-20 11:35:13
3629
转载 经典状态机的层次式实现
经典状态机的层次式实现作者:yugen 提交日期:2008-8-28 12:08:00 | 分类: | 访问量:2195 在Miro Samek Ph.D.所著的《嵌入式系统的微模块化程序设计――实用程序状态图C/C++实现》中提到了三种经典状态机的实现方法。这三种方法都是非层次式的。通过独立的子状态变量来记录每个状态的子状态和在进入/退出动作中实现子状态的初始化/清
2013-04-27 12:20:53
2382
转载 miniupnpc的主要函数介绍
http://blog.163.com/miky_sun/blog/static/336940520105954733836/1.miniupnpc库主要使用的头文件有#include "miniwget.h"#include "miniupnpc.h"#include "upnpcommands.h"#include "upnperrors.h"它使用的lib
2013-04-26 10:57:09
1959
转载 STM32 (Cortex-M3) 中NVIC(嵌套向量中断控制)的理解
一、STM32 (Cortex-M3) 中的优先级概念 STM32(Cortex-M3)中有两个优先级的概念:抢占式优先级和响应优先级,也把响应优先级称作“亚优先级”或“副优先级”,每个中断源都需要被指定这两种优先级。1. 何为占先式优先级(pre-emption priority) 高占先式优先级的中断事件会打断当前的主程序/中断程序运行—抢断式优先响应,俗称
2013-04-21 18:58:56
1579
转载 SQLite数据库中的SQL语句
SQLite数据库中的SQL语句2010年SQLite学习笔记之一一.如何获取SQLite最新版本官方站点:http://www.sqlite.org/从http://www.sqlite.org/网站的Download页面获取二.Windows下的SQLite的源代码是哪个软件压缩包?sqlite-amalgamation-3_6_22.zip是SQLit
2013-04-20 09:45:38
1246
转载 ubuntu slickedit 2012破解备忘
网上的教程都是简单地说文件偏移多少或者地址多少,修改什么成什么,并没有给出具体的操作步骤,这对刚入门的人来说是很麻烦的。我这次破解的是slickedit V17.0.3 x32.1. 先安装好hexedit,已安装的跳过。简单用法安装:sudo apt-get install hexedit使用:打开终端进入对应文件目录hexedit filename按回车可以输
2013-04-14 07:57:25
955
s3c2410 数据手册中文版(完整版)
2011-10-08
WinSetupFromUSB_0-2-3...
2010-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人