- 博客(39)
- 资源 (10)
- 收藏
- 关注
转载 我的ZigBee学习过程
1. 我为什么选择ZigBee 物联网风起云涌,可以说是目前最热的技术,但对物联网的看法可谓见仁见智,有人认为物联网就是新瓶装旧酒,有人认为物联网是本世纪最有前途的技术。抛开争论不说,在物联网领域,ZigBee技术无疑是引人注意的无线通信技术之一。 在众多的无线通信技术中,ZigBee技术是和传感器结合最紧密的技术之一,可以说是为远程无线监控而生。主要源于以下
2011-10-22 19:08:57 1468
原创 Visual Studio 2005配置SystemC开发环境
一、编译System库1.下载SystemC library source code 到http://www.systemc.org注册会员账号后,即可下载SystemC library soure code2. 以SystemC 2.2.0为例,下载后的
2011-10-11 21:58:42 1376
转载 TinyOS install in Ubuntu
TinyOS学习笔记12010.8.21.Ubuntu系统的安装安装TinyOS可以在Windows中利用Cygwin进行安装,经过测试在XP中可以正确安装,但是安装的步骤过于麻烦,可以参考官方网站的安装步骤。在Win7中安装后有问题,不能正确编译。因此最好使用Lin
2011-09-27 21:01:58 1024
转载 使用 SCTP 优化网络
简介: 流控制传输协议(Stream Control Transmission Protocol,SCTP)是一种可靠的传输协议,它在两个端点之间提供稳定、有序的数据传递服务(非常类似于 TCP),并且可以保护数据消息边界(例如 UDP)。然而,与 TCP 和 UDP 不同,SCTP 是通过多宿主(Multi-homing)和多流(Multi-streaming)功能提供这些收益的,这两种功能均可提高可用性。在本文中,我们将学习 Linux® 2.6 内核中 SCTP 的关键特性,并通过服务器和客户机的源代
2011-05-04 15:12:00 1107 1
原创 Linux系统中/dev/mtd与/dev/mtdblock的区别,即MTD字符设备和块设备的区别
<br />1. /dev/mtdN 是Linux 中的MTD架构中,系统自己实现的mtd分区所对应的字符设备,其里面添加了一些ioctl,支持很多命令,如MEMGETINFO,MEMERASE等。<br />而mtd-util中的flash_eraseall等工具,就是以这些ioctl为基础而实现的工具,实现一些关于Flash的操作。比如,mtd 工具中的 flash_eraseall中的:<br />if (ioctl(fd, MEMGETINFO, &meminfo) != 0) {<br />
2011-04-26 15:03:00 2947
原创 用busybox制作自己的rootfs
<br />1 获取源码解压 <br />从busybox的官方主页http://www.busybox.net ,下载busybox的源码,目前最新的版本为busybox-1.13.3.tar.bz2<br /> <br />#tar –jvxf busybox-1.13.3.tar.bz2<br /> <br />进入解压后的busybox源码目录<br /> <br />#cd busybox-1.13.3<br /> <br />2 配置busybox <br />步
2011-04-09 21:16:00 1685
原创 u-boot 挂载NFS
<br />UBL和UBOOT通过仿真器烧写成功后,串口启动后需要烧写内核并挂载NFS文件系统,主要步骤如下:<br />当然需要配置TFTP 和NFS相应的环境,uImage和rootfs文件需要放在TFTP的设置的文件夹下面;<br />(具体涉及到的IP地址,根据实际情况来配置)<br />1)设置地址,供TFTP下载烧写内核<br />setenv ipaddr 192.168.3.37<br />setenv serverip 192.168.3.100<br />set ethaddr 10:2
2011-03-29 14:09:00 4821 1
原创 DM365串口下载UBL和u-boot
<br />1.DM365支持的模式比较多,看datasheet<br />– BTSEL[2:0] = 000 - NAND Boot mode<br />– BTSEL[2:0] = 010 - MMC0/SD0 Boot mode<br />– BTSEL[2:0] = 011 - UART0 Boot mode<br />– BTSEL[2:0] = 100 - USB Boot mode<br />– BTSEL[2:0] = 101 - SPI0 Boot mode<br />– BTSEL[2
2011-03-24 16:57:00 2081 1
原创 Ubuntu 中安装vmware tools 遇到的问题
<br />移植用CentOS 的我突然需要用到Ubuntu,有点不习惯,安装一个vmware tools 就遇到一些麻烦,虽然渲了点,但是个人感觉不怎么样…… 吧安装的过程中遇到的问题及其解决方法罗列一下<br /> <br />1.自己用vmware tools 。.tar.gz 包解压编译,安装一下 ,一步一步敲回车就是了……<br /> <br />2.安装完成后发现/mnt/hgfs中什么都没有 <br /> 但是在/usr/bin中的 ,运行./vmware-hgfsclient 是可以显
2011-03-22 10:53:00 1249 1
原创 一步一学Linux与Windows 共享文件Samba (v0.2b)
<br />目录 0.1 查看文件内容和编辑文件的工具;<br />0.2 关于文件和目录相关;<br />03 用户和用户组相关;<br />04 进程管理;0、架设Samba 服务器的前提;<br /> 3.5.1 在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件;<br />3.5.2 在Windows中访问Linux Samba服务器共享文件的办法;<br />3.5.3 smbfs文件系统的挂载;3.1 Samba 有两个服务器,一个是sm
2011-03-21 15:58:00 2592
转载 谷歌Android篡改Linux内核的真相
<br />p { margin-bottom: 0.21cm; } <br /> 3 月 18 日, 《 Brown Rudnick 》律师事务所 知识产权律师 Edward Naughton 发表一份研究报告 ,题为“ THE BIONIC LIBRARY: DID GOOGLE WORK AROUND THE GPL? ( PDF 10 ) ”,揭露了谷歌 Android 篡改 Linux 内核的事实真相,值得我们大家一读。具体情况是怎样的呢? <br /> <br /> 什么是 Andr
2011-03-21 10:10:00 2004
原创 Linux wifi驱动调试 freescale imx27
<br />郁闷,之前写的东西没有保存,又要重新写一下……<br /> <br />前几天已经写了一篇关于wifi的介绍的文章,具体介绍了一些wifi驱动调试的一些工具,今天姜建wifi驱动的调试中出现的问题:<br /> <br />wifi模块用的rt3070这款芯片,用到了USB2,当然需要相应的USB驱动作支撑……<br />首先加载rt3070sta.ko这个驱动,编译一下内核,选择相应的模块,make modules 一下就行了,具体不讲,不懂着问百度……<br /> <br />然后加载usb
2011-03-16 17:27:00 3956
转载 linux sed 命令详解
1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。 2. 定址 可以通过定址来定位你所希望编辑的行,该地址用数字构
2011-03-15 10:18:00 726
转载 Wi-Fi驱动移植
1.WIFI介绍Wi-Fi(WirelessFidelity),即无线保真,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。该技术使用的使2.4GHz附近的频段,该频段目前尚属没用许可的无线频段。其目前可使用的标准有两个,分别是IEEE802.11a和IEEE802.11b。Wi-Fi技术突出的优势在于: 其一,无线电波的覆盖范围广,基于蓝牙技术的电波覆盖范围非常小,半径大约只有50英尺左右约合15米,而Wi-Fi的半径则可达300英尺左右约合100米。 其二,传输速度非常快,可以达到11mbp
2011-03-15 09:57:00 3080
转载 Zigbee Mac 层协议
<br />MAC层<br />功能:MAC层需要处理接入到物理无线信道等事务,并负责下列的任务:<br />一、 能产生网络信标(如果设备是协调器<br />二、 同信标保持同步<br />三、 支持PAN的连接和断开连接<br />四、 支持设备的安全性<br />五、 信道接入采用CSMA-CA接入机制<br />六、 处理和维护GTS机制<br />七、
2011-03-13 15:26:00 12681
原创 C语言字符串处理的一个例子
<br />char **getvars() <br />{<br /> int i;<br /> int content_length;<br /> char **postvars;<br /> char *postinput;<br /> char **pairlist;<br /> int paircount = 0;<br /> char *nvpair;<br /> char *eqpos;<br /> <br /> postinput
2011-03-10 16:52:00 1100
原创 嵌入式Linux Web 编程
好久没有写文章了,最近比较忙了,论文、实习……一堆事情,废话少说,直奔主题今天来谈谈最近做的一个东西,在用的freescale Imx27中架一个WEB server ,其实就是一个简单的B/S架构了。首先,既然是一个WEB server ,那么肯定有一个服务器了,在一个嵌入式板子上,不可能架一个像apache这么大的服务器的,即使架在里面,整个板子的性能是可想而知的……1.一步一步来,首先需要选择什么样的服务器,一些好心的人,已经为我们提供了蛮多的嵌入式server了,只要我们配置一下环境就可以了。有
2011-03-07 17:30:00 3151 4
转载 在arm-linux平台上的编译应用SQLite-3_5_8
最近拿了一块Flysun9200-DVK2。3开发板,板子基于Atmel公司的AT91RM9200 arm处理器,内嵌arm9200T内核,主频是180MHz。要在上面开发一个集采集、存储、数据分析、统计管理、发送、远程交互等功能的小程序。由于涉及每钟要素的存储与统计,考虑使用SQLite。SQLite 第一个Alpha版本诞生于2000年5月,是实现了SQL 92标准的一个大子集的嵌入式数据库,其以在一个库中组合了数据库引擎和接口,能将所有数据存储于单个文件中。官方测试表明SQLite的功能在一定程度上居
2011-03-03 15:23:00 1044 1
原创 嵌入式程序员应知道的0x10个基本问题
1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。3) 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型
2011-02-24 16:09:00 665
转载 Linux platform 机制探讨
<br />从Linux 2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。<br />Linux中大部分的设备驱动,都可以使用这套机制, 设备用Platform_device表示,驱动用Platform_driver进行注册。<br /> <br />Linux platform driver机制和传统的device driver 机制(通过driver_register函数进行注册)相比,一个十分明显的优势在于platform机制将设备本身的资源注
2011-02-21 10:51:00 1023 1
转载 linux 逻辑地址、线性地址、物理地址和虚拟地址
<br />一、概念<br /><br />物理地址(physical address)<br />用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。<br />——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐字节的编号的大数组,然后把这个数组叫做物理地址,但是事实上,这只是一个硬件提供给软件的抽像,内存的寻址方式并不是这样。所以,说它是“与地址总线相对应”,是更贴切一些,不过抛开对物理内
2011-01-05 22:10:00 786 1
原创 Freescale ATK(Advanced ToolKit)工作原理
<br />Freescale ATK(Advanced ToolKit) 是一个针对其MX系列CPU为核心的嵌入式系统flash烧录软件。可以用来烧录bootloader和kernel到flash上<br />(nor, nand , mc/sd...)。<br /> <br />其原理和工作流程如下:<br /><br />首先是板子这边, 首先将跳线设置成UART/USB启动, 然后板子上电后, SOC内的rom开始初始化internal ram,开始等待UART/USB上数据到<br />来后, 将
2011-01-04 16:13:00 1277
原创 Linux 异步通知I/O的原理
本文是分别重应用程序层面、驱动程序层面讲解linux异步通知I/O的机制,希望给读者带来帮助。由于本人知识有限,如有错误请大家指出,谢谢!/******************************author:徐福成date :2011.01.01******************************/1)应用程序层面: linux异步通知I/O 就是我们应用程序中经常用到的信号的处理方法,如:signal(),和sigaction()两个函数用来注册一个信号的处理方法。 如:#i
2011-01-01 15:47:00 1612 1
原创 实习感想
一眨眼,快半年的实习(上市国企软件公司)就结束了。还依稀的记得我第一天上公司的情景,做事畏手畏脚的,遇到什么事情都要向别人请教,但又不想问的太多,担心给别人留下小白的印象。从重装系统开始做起,再后来开始慢慢的熟悉项目的一些文档,接着开始做些简单的编码,到最后自己完成一个模块……这一路上,我发现我自己在一步一步的成长。 这半年的时间是我第一次这么久地接近社会,过着社会人的生活。让我从理想主义,一切追求完美的我,变成了一个考虑现实实际的人。记得有一次我们部门开一个类似于头脑风暴的活动,主题是关
2010-12-29 15:47:00 692
原创 Linux 2.6 调度系统分析
<br />1. 前言<br />Linux 的市场非常广阔,从桌面工作站到低端服务器,它都是任何商用操作系统的有力竞争对手。目前,Linux 正全力进军嵌入式系统和高端服务器系统领域,但它的技术缺陷限制了它的竞争力:缺乏对实时任务的支持,多处理机可扩展性差。在 2.4 内核中,造成这两个弱项的关键原因之一就是调度器设计上的缺陷。<br />2.6 调度系统从设计之初就把开发重点放在更好满足实时性和多处理机并行性上,并且基本实现了它的设计目标。主要设计者,传奇式人物 Ingo Molnar 将新调度系统的特
2010-12-25 19:49:00 475
转载 一步一学Linux与Windows 共享文件Samba
<br />简介:本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应该从何处寻找解决方案;正在更新之中,希望您的参加 ... ... 谢谢;<br />目录 0.1 查看文件内容和编辑文件的工具;<br />0.2 关于文件和目录相关;<br />03 用户和用户组相关;<br />04 进程管理;0、架设Samba 服务器的前提;<br /> 3.5.1 在Linux系统中查看网络中Windows共享文件及
2010-12-15 14:58:00 498
原创 Nesc1.2简述
<br />Nesc1.2简述 1 组件 ,nesC组件使用的是一个纯局部的命名空间,这就是说一个组件除了要声明它将执行的函数外,还要声明它所调用的函数。每一个组件都有一个形式说明(specification),这个形式说明是一段代码,它声明了组件所提供(执行)接口(函数)和所使用(调用)的接口(函数) 2 接口,接口(interface)是相关函数的一个集合,用户可以根据功能的需要定义自己的接口,但在定义接口中的函数时,必须使用command或event关键字声明该函数是命令或是事件,否则编译时会报错。
2010-12-14 15:18:00 1155
原创 组件命名规则
<br />组件命名规则<br />C和P的命名规则 :TinyOS 所有的终端程序组件都以字母C或P为结尾。以C结尾所命名的组件表示它是一个可用的抽象,而以P结尾的组件则表示它是私有的。以P结尾的组件不能被直接的连接,但可以对它做一些封装以使它变成可用(变成名字以C结束的)<br />硬件平台抽象命名规则 :TinyOS 2.0中的硬件抽象通常是三级抽象架构,称作HAA(HardwareAbstraction Architecture)。<br />HAA的最底层是HPL( Hardware Platfo
2010-12-14 15:18:00 2114
原创 TinyOS学习笔记(1)
概述◆TinyOS操作系统、库和程序服务程序是用nesC写的 ◆nesC是一种开发组件式结构程序的语言 ◆nesC是一种C语法风格的语言,但是支持TinyOS的并发模型,以及组织、命名和连接组件成为健壮的 嵌入式网络系统的机制 ◇nesC应用程序是由有良好定义的双向接口的组件构建的 ◇nesC定义了一个基于任务和硬件事件处理的并发模型,并能在编译时检测数据流组件◆规范 ◇nesC应用程序由一个或多个组件连接而成 ◇一个组件可以提供或使用接口 ●组件中comm
2010-12-14 15:13:00 2968
原创 nesC 1.1 语言参考手册 (1)
1 简介nesC 是对 C 的扩展 [2] ,它基于体现 TinyOS 的结构化概念和执行模型而设计 [1] 。 TinyOS 是为传感器网络节点而设计的一个事件驱动的操作系统,传感器网络节点拥有非常有限的资源 ( 举例来说., 8K 字节的程序储存器,512个字节的随机存取储存器) 。TinyOS 用 nesC 重新编写。本手册描述 nesC 的 1.1 版本, 在第 3 段中概述了它与1.0版的不同。nesC 基本概念如下: 结构和内容的分离:程序由组件构成, 它们装配在一起 (" 配线 "
2010-12-14 15:11:00 1206 1
原创 nesC 1.1 语言参考手册(2)
7 配置配置是通过连接、配线,建立与其他组件的连接:configuration-implementation:implementation { component-listopt connection-list }组件列表列出用来建立这一个结构的组件,连接列表指明各组件之间,以及与结构说明之间是怎样装配在一起的。在这一节的其余部分中,我们调用来自结构的外部的规格元素, 和来自结构的内在的成份之一的规格元素。7.1 包含组件组件列表列出用来建立这一个结构的组件。在结构里面这些组件可随意的重命名,使用共同外形规
2010-12-14 15:07:00 1363
转载 面试技巧
<br />我为各位整理出英文面试最常见的五大问题,并且提醒各位一些回答的技巧,希望大家能针对这些问题多演练,当成练习英文面试的重点。<br /> 问题一:Could you please describe yourself?(能否请你形容一下自己?)<br />这个问题,一来是想要了解你是什么样的人,二来是想看看你是否知道如何重点式地自我简介。 在回答时,要针对应征工作的性质来凸显自己的特色,可以多用形容词,并且引用过去的工作经验,但是不必提及公司组织的名称,再者,你还可以谈谈未来的生涯规画;但如果你是个
2010-12-14 14:24:00 553
转载 美女CEO写的 值得一看
<br />美女CEO王潇,刚刚写了一篇三十感言。句句名言,虽然是写给女生的,但是,男生也更应该看看。 《字字带泪——写在三十岁到来这一天》 By 王潇 2008年11月3日 谨以此文献给我的众姐妹,共勉。 事业篇 无论是打工还是创业,其本质无外乎向老板或客户出卖自己的有形或无形产品。一言以蔽之:大家都是出来卖的。既然是出来卖的,一要卖相好,二要敬业,三不要嫌买货人。所以,第一要保持美丽,第二要多做事少抱怨,第三看在钱的份上要适当妥协。 付出不一定有回报,努力不一定有收获。学习知识和锻炼身体除外。 我们是动
2010-12-14 14:11:00 684
原创 Linux workqueue_struct 前后版本的比较
<br />Linux自从2.6.20之后,工作队列发生了一些变化,目前从网络上搜索的资料一般都是介绍老版本的工作队列,很少见到对新版本的介绍。本文对新老版本都做了简要概述,并分别提供了简单的实作案例。 工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。 工作队列是2.6内核开始引入的机制,在2.6.20之后,工作队列的数据结构发生了一
2010-12-14 13:56:00 1404
原创 Linux kernel 中的work queue原理
<br /><br /> <br /> <br />分成两大部分,第一部分是用来执行work queue中每个节点上挂载的函数的内核线程,第二部分是从驱动程序的角度看work queue的使用。<br />第一部分 worker_thread内核线程<br />Linux系统启动期间会创建一名为worker_thread线程,该线程创建之后就处于sleep状态。这里所谓的内核线程,从调度器的角度就是一可以调度的进程,从代码的表现形式看,就是一函数。系统创建的这个worker_thread线程基于一workq
2010-12-14 10:58:00 7107 1
原创 嵌入式Linux学习规划
嵌入式Linux操作系统学习规划ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) (3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。 从事嵌入式软件开发的好处是: (1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
2010-11-02 16:37:00 1095 1
原创 Linux 对 IO 端口的操作
Linux 对IO端口的操作方法:1)直接使用I/O端口操作函数<br /> 1。在设备打开或者驱动模块被加载时,申请I/O端口区域;<br /> request_region();<br /> 2。之后使用inb()、outb()等函数对I/O端口操作;<br /> 3。在设备被关闭或者卸载时,释放I/O端口范围;<br /> release_region();<br
2010-09-06 16:45:00 2589
原创 linux中select使用方法
<br />select系统调用是用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。 文件在句柄在Linux里很多,如果你man某个函数,在函数返回值部分说到成功后有一个文件句柄被创建的都是的,如man socket可以看到“On success, a file descriptor for the new socket is returned.”而man 2 open可以看到“open() an
2010-08-11 15:32:00 6373
原创 面试的技巧
面试官询问的刁钻问题——以及如何巧妙地应付它们 你可能已经读过求职方面的书,并在心里反复温习了面试标准问题的答案。但是如果面试官提的是其他问题,一些你没有想到的问题,这时该怎么办?这样的问题可能是最难的,因为它们会表明你的思维的敏捷程度。它们可能非常有诱惑力,让你戒备心全无,从而中了面试官的圈套,展现出自己的方方面面,包括你原本不打算暴露出来的某些个性。 1.“你最近读了什么书?”在应聘法院书
2009-02-15 17:00:00 604
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人