自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(30)
  • 资源 (11)
  • 收藏
  • 关注

原创 fedora 19 上安装OMnet++、Castalia

1 安装 vmware102 在vmware下安装fedora-live-desktop-i686-19       大小919MB3 安装omnet,按照官网上提供的安装文档(OMNet++ Install Guide_4.3)安装,在make的时候出现“错误:‘getcwd’ 在此作用域中尚未声明 ”,解决方案参考 http://blog.csdn.net/medivh08/art

2015-01-13 15:58:53 1490

转载 ARM中断异常处理的返回

ARM中断异常处理的返回(转)   作者:孙晓明,华清远见嵌入式学院讲师。举个小例子,下面是一段ARM汇编代码:地址指令0x3000BL add0x3004MOV r0,#00x3008MOV r1,#1

2012-10-09 10:56:21 2502

转载 Cache的工作原理

Cache的工作原理    Cache的工作原理是基于程序访问的局部性。     对大量典型程序运行情况的分析结果表明,在一个较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。指令地址的分布本来就是连续的,再加上循环程序段和子程序段要重复执行多次。因此,对这些地址的访问就自然地具有时间上集中分布的倾向。     数据分布的这种集中倾向不如指令明显,但对数组的存

2012-09-09 13:17:35 5103

转载 ARM MMU工作原理剖析

共享资源,欢迎转载:http://hbhuanggang.cublog.cn一、MMU的产生      许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面

2012-09-08 12:57:29 709

原创 大学操作系统教程的不足之处

最近面临找工作,于是想把本科学过的计算机操作系统拿出来复习下,仔细的看了下存储器管理这一章节,不得不赞叹作者文笔很好,文章行云流水,结构严谨。突然明白考研大纲为什么要推荐这本教材,刚开始还以为作者是出题组的。但赞叹之余,不得不思考下其实用性问题,本科学这一章的时候也是雾里看花,一知半解,不明所里,其实这一切是不能怨学生学习能力不强,只能说是教材耽误了学生。先看第一节,存储器的层次结构,这一节没

2012-09-08 09:42:25 1574

转载 ARM9学习笔记之——MMU

ARM9学习笔记之——MMU我记得有一次我去应聘ARM-Linux软件工程师。结果被问到ARM中的虚拟内存是怎么管理的。由于我只对X86平台下的MMU了解,所以我被问倒了。原来我所学的只是皮毛。还有很多东西值得我去深入。要做ARM-Linux下的驱动,熟悉虚拟内存应该是必须的。        ARM9中的虚拟内存是怎么实现的呢?以下是我的学习总结。         AR

2012-09-07 19:08:21 1062

转载 数组的解剖学

数组的解剖学文章转自 http://blog.csdn.net/supermegaboy?viewmode=contentsC/C++的数组不同于VB等语言的数组,是有层次的,这个层次指的不是维度,而是象俄罗斯有名的套娃一样,一维套一维,亦即数组的嵌套,数组的元素也是数组,VB等语言的数组与之相比更像一个平面。 数组嵌套这个现象从其它语言的角度来看有点奇特,但其实原因也很简单。C/

2012-09-07 13:00:10 610

原创 请写一个函数,实现类似的strcpy的字符串复制功能

这个题目看起来很简单,但要完整的实现其功能还是得下的功夫先来看下一个经典错误的程序char * mystrcpy(char *dest,char *src) { char *ret; dest=(char *)malloc(strlen(src)+1); ret=dest; if(dest) { while(*dest++=*src++); retu

2012-09-06 17:17:08 8360

原创 snprintf()函数探讨

printf()/sprintf()/snprintf()区别 先贴上其函数原型printf( const char *format, ...)    格式化输出字符串,默认输出到终端-----stdoutsprintf(char *dest, const char *format,...)     格式化输出字符串到指定的缓冲区snprintf(char *dest, size_

2012-09-06 12:53:37 17046 1

转载 关于华为一道面试题 ( ++a )和( a++ )

昨天偶尔在网上看到一道华为面试题,觉得有点无语,这么NB的公司也出这种没有意义的题目,唉~~~话不多说,贴上代码: 上面还有我自己的解释:/* 这个例子主要是考虑到a++和++a的存储问题; 我们知道,对于a++是先将a给表达式再++; 那么这就是需要一个tmp空间来保存++之前 的a!!!但是对于++a是不需要的,因为先 执行++,那么就是直接改a空间内容就好了! 那么我

2012-08-27 16:30:58 1128

原创 用一个宏定义OFFSET求一个结构体里某个变量相对结构体的偏移量

用一个宏定义OFFSET求一个结构体里某个变量相对结构体的偏移量。#define OFFSET(type, m) ((unsigned int)&(((type*)0)->m))

2012-08-22 22:35:40 2398

原创 中断驱动设计----mini2440 按键驱动设计之路

按键驱动设计设计的知识比较多,包括中断体系,定时器,GPIO配置,多路I/O选择。其源代码在我引用的另一篇博客里附有,这里主要讲在学习过程中遇到的一些问题。这里对中断体系进行一个总结。1    中断处理体系结构,如下图所示。extern struct irq_desc irq_desc[NR_IRQS];先简要说下上图中的一些数据结构体含义,irq_desc结构数组用来描述中断

2012-08-21 15:42:16 1331

转载 select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET

select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET转载http://hi.baidu.com/%B1%D5%C4%BF%B3%C9%B7%F0/blog/item/e7284ef16bcec3c70a46e05e.htmlselect函数使我们可以执行I/O多路转接。原型: #include sys/time.h>

2012-08-20 10:15:44 577

转载 嵌入式Linux之我行——2440按键驱动实例开发详解(带去抖动)

嵌入式Linux之我行——按键驱动在2440上的实例开发(带去抖动) 分类: 内核、驱动开发篇原文链接:http://blog.chinaunix.net/space.php?uid=22174347&do=blog&cuid=2097608嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋

2012-08-19 21:49:05 3293 3

转载 字符设备驱动模型

本文所说的Inode是struct inode结构体,并不是在inode块中的inode结点。 Char Device Driver  相关数据结构:struct cdev {  struct kobject kobj;  struct module *owner;  const struct file_operations *ops;

2012-08-18 19:02:16 1445

转载 __raw_readl和__raw_writel

micro2440采用S3C2440处理器(和S3C2410区别不大),在其Linux源码中,和这个平台相关的代码主要在arch/arm/mach-s3c2410和include/asm-arm/arch-s3c2410中,相关驱动在drivers目录中。(1)DM9000 网卡驱动kernel-2.6.13/drivers/net/dm9000x.c(2)串口(包括三个串口驱动0

2012-08-17 23:44:19 1357

原创 strtoul函数的使用,揭开其神秘面纱

之前使用strtoul函数时,从来没思考过它的用法,最近在编写驱动设计时,突遇这个函数,发现这函数还是有值得探讨的地方。其函数原型如下:unsigned long strtoul(const char *nptr,char **endptr,int base )参数1:字符串起始地址参数2:返回字符串有效数字的结束地址,这也是为什么要用二级指针的原因。参数3:转换基数。当b

2012-08-17 10:56:38 56409 3

原创 字符驱动设计----mini2440LED驱动设计之路

之前有一段时间学过驱动,学的很吃力,总是理解不通透,于是就放下了。最近再拾起时,思考之前遇到的问题,归结于零碎化,于是试着换一种思路去探究。    大多数书籍在介绍字符驱动过于理论化,纵览一章都是些文字,再附上一些零碎的代码,看的人头晕,时间长了自然就不想看了。 对于驱动的学习,刚开始不能过于理论化,一定要结合实际,要不然像空中楼台,住在上面,心里老感觉不踏实。那么如何入手呢?我觉得三点是很重

2012-08-15 22:33:10 2758 2

转载 mknod指令详解

mknod指令详解mknod - make block or character special filesmknod [OPTION]... NAME TYPE [MAJOR MINOR]    option 有用的就是 -m 了    name   自定义    type   有 b 和 c 还有 p    主设备号    次设备号主设备号是

2012-08-15 18:45:39 849

原创 减治法算法设计

首先要申明的是减治法思想并不等同于分治法思想,减治法技术利用一个问题给定实例的解和同样问题较小实例的解之间的某种关系。一旦建立了这种关系,就可以从顶至下(递归),或者从底之上(迭代)地来运用该关系。减治法有3种主要的变种:1 减去一个常量2 减去一个常量因子,大多数问题中常量因子为23 减去的规模可变    对于第一种情况,举其例。            要求f(n)的解,

2012-08-15 10:35:31 4199

原创 uboot移植过程中的运行地址和装载地址的区别

uboot移植涉及到底层硬件的设置,因此需要掌握UART、系统时钟频率、NOR FLASH、NAND FLASH、SDRAM、网卡、存储控制器等硬件的功能及配置,这些都可以参照相应开发板的芯片手册来完成,没有什么大的问题。在移植过程中,一直困扰我的是PIC(代码无关性)问题,即运行地址和加载地址的区别,看过网上很多关于这两者的介绍,感觉懂一点,却一直不知所然。在参考大量的文献下,算是得了一点心得。

2012-08-13 12:05:41 8280 1

转载 ARM协处理器指令详解

ARM协处理器指令详解ARM 微处理器可支持多达 16 个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略 ARM 处理器和其他协处理器的指令。ARM 的协处理器指令主要用于 ARM 处理器初始化 ARM 协处理器的数据处理操作,以及在ARM 处理器的寄存器和协处理器的寄存器之间传送数据,和在 ARM 协处理器的寄存器和

2012-08-11 09:46:05 1252

转载 ARM 汇编的mov操作立即数的疑问

ARM 汇编的mov操作立即数的疑问1. 因为对arm汇编有些指令还不能理解,特别是一些相似功能指令间的区别。偶然在网上搜到“faq ARM assembly”,其中描述的几个问题还是值得好好研究一下。2. 慢慢的发现自己也不再害怕英文的文档了,耐心看至少也能懂个大概。大批经典的文章和书籍都是en文的,所以经常看英文文档是一个非常好的习惯。看看GNU的一些reference man

2012-08-11 09:05:22 2049 1

转载 ARM9 2410移植之ARM中断原理, 中断嵌套的误区,中断号的怎么来的

【转】ARM9 2410移植之ARM中断原理, 中断嵌套的误区,中断号的怎么来的几天前一个学生问我ARM中断嵌套的问题,我才发现原在我心中理所当然的事对学生来说理解实属不易。     ARM有七种模式,我们这里只讨论SVC、IRQ和FIQ模式。     我们可以假设ARM核心有两根中断引脚(实际上是看不见的),一根叫 irq pin, 一根叫fiq pin.     在

2012-08-10 19:55:02 767

原创 内存对齐问题--vs2010下位域结构体对齐规则

请写出一下代码的输出结果:// interface.cpp : 定义控制台应用程序的入口点。//内存对齐#include "stdafx.h"#include #include struct s1{ int i:8; char j:4; int a:4; double b;};struct s2{ int i:8; int j:4; double b;

2012-08-08 14:59:53 3608

原创 递归反向输出字符串

// string.cpp : 定义控制台应用程序的入口点。//递归反向输出字符串的例子#include "stdafx.h"#include void inverse(char *str){ if (*str!='\0') inverse(str+1); printf("%c",*str);}int _tmain(int argc, _TCHAR* argv[]){

2012-08-07 19:16:12 4330 1

原创 读文件file1.txt的内容到file2.txt

// file.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #define MAX 10int size;/*读文件file1.txt的内容(例如)123456输出到file2.txt*/int _tmain(int argc, _TCHAR* argv[]){ FILE *sorcefp,

2012-08-07 19:06:20 7055 1

原创 输出和为一个给定整数的所有组合

#include "stdafx.h"#include //输出和为一个给定整数的所有组合,例如n=5// 5=1+4;5=2+3(相加的数不能重复)//则输出//1,4,2,3int _tmain(int argc, _TCHAR* argv[]){ int num; printf("input a data\n"); scanf("%d",&num); for (int

2012-08-07 19:02:52 2740

原创 用二维数组模拟棋盘覆盖----采用分治法

棋盘覆盖是在一个2^k*2^k的棋盘中存在一个特殊格子,现要求用L型覆盖整个棋盘(除特殊格子),如图1所示,问如何覆盖这个棋盘?                     图 1//****************************************************//问题描述:在一个2k×2k 个方格组成的棋盘中,恰有一个方格//与其它方格不同,称该方格为一

2012-08-03 18:26:08 2245

原创 合并排序

void Merge2(int *b,int *c,int *a,int Nb,int Nc){int i=0,j=0,k=0;while(i<Nb && j<Nc){if (b[i]<c[j])a[k++]=b[i++];elsea[k++]=c[j++];}if (i==Nb){while(j<Nc)a[k++]=c[j++];}else{while(i<Nb)

2012-08-02 22:12:38 427

对_Linux_设备驱动模型的一些理解.pdf

对_Linux_设备驱动模型的一些理解----张俊岭

2012-08-22

Linux 设备模型学习笔记

Linux 设备模型学习笔记----张俊岭

2012-08-22

嵌入式linux应用开发完全手册

嵌入式linux应用开发完全手册.pdf----韦东山

2012-08-22

ARM_Linux_启动过程分析

ARM_Linux_启动过程分析.pdf----张俊岭

2012-08-22

ARM LINUX的存储映射.pdf

ARM LINUX的存储映射----张俊岭

2012-08-22

ARM Linux 中断机制分析

ARM Linux 中断机制分析 ----张俊岭

2012-08-22

lowlevel_init.S Uboot启动分析笔记

看完《Uboot中start.S源码的指令级的详尽解析_v1.6》,《U-Boot启动过程完全分析》,《lowlevel_Uboot启动分析笔记-----Stage1(start.S与lowlevel_init.S详解)》这三篇文章,再参考下《嵌入式Linux应用开发完全手册》(韦东山著),你将会对ARM系统结构及U-boot移植有一个清晰的框架。

2012-08-11

U-Boot启动过程完全分析

看完《Uboot中start.S源码的指令级的详尽解析_v1.6》,《U-Boot启动过程完全分析》,《lowlevel_Uboot启动分析笔记-----Stage1(start.S与lowlevel_init.S详解)》这三篇文章,再参考下《嵌入式Linux应用开发完全手册》(韦东山著),你将会对ARM系统结构及U-boot移植有一个清晰的框架。

2012-08-11

uboot启动start.S启动说明

start.S详尽分析,很有用处,值得珍藏。

2012-08-11

基于多分辨率聚类的安全定位算法

在无线传感器网络环境中,当锚节点对于未知节点进行位置或距离欺骗时, 基于善意环境下的定位技术会遭到极大破坏。提出一种基于多分辨率聚类的安全定位算法, 通过对边界圆邻近点进行聚类, 并使用投票机制, 能有效排除恶意节点, 从而阻止攻击。仿真实验表明, 该算法以较短的执行时间和较高的定位精度表现出较好的性能。

2012-08-04

基于DV_Hop的无线传感器网络安全定位

针对DV-Hop 非测距定位技术没有考虑非法节点( 包括无法定位的节点) 对定位过程影响的问题,提出了一种基于DV-Hop 的安全定位机制,即在定位过程中引入节点间交互信息特性用于检测虫洞攻击,利用时间性质和空间性质明确有效信标节点,并且结合在节点通信过程中加入加密和认证机制来抵御伪装攻击,最后实现安全定位。仿真实验表明,在攻击存在的环境中,提出的安全定位机制能够以较高的概率检测出虫洞攻击,并使定位误差减小了大约63%左右。

2012-08-04

空空如也

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

TA关注的人

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