自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (2)
  • 收藏
  • 关注

原创 斐波那契数列(Fibonacci Sequence)

数列:1、1、2、3、5、8、13、21、…… 用递归求第 41 个 数 !#includelong Fibonacci(int n){ if( n == 0 ) return 0; if( n == 1)  return 1; if( n > 1 )  return Fibonacci(n - 1) + Fibonacci(n - 2);}int main(

2011-11-30 21:28:58 1613

转载 Ubuntu10.10安装Tomcat

Ubuntu10.10安装Tomcat其实我到现在也没弄明白Tomcat怎么用,只知道想要运行jsp之类的需要这个。今天我就尝试安装了一下,避免以后忘记。我的安装环境是Ubuntu10.10,在网上查了,安装方法大同小异。首先需要安装JAVA环境,可惜我暂时还不懂JAVA,面包会有的!呵呵!$sudo apt-get install sun-java6-jre sun-java6-jd

2011-10-26 21:18:36 2004

原创 android led_misc驱动 + 测试应用程序(ndk-build)

1. 新建一个project目录ledapp 在ledapp下建立一个 jni 目录。如果要使用 NDK 自带的 Android.mk,必须叫做这个名字。把源码放到这个目录。这里程序的名字是 led_misc_test.c,那么目录结构为 ledapp/jni/led

2011-10-15 21:49:30 2315

转载 关于在Ubuntu操作系统下Android开发环境的搭建的方法实例

关于在Ubuntu操作系统下Android开发环境的搭建的方法实例本帖最后由 依然 于 2011-1-12 11:57 编辑 今天我就给大家弄个了android环境搭建的教程吧,主要就是配置下java环境~一、安装JDK 1.6  jdk是 Android开发最基本的环境,一般在linux下新立得安装会自动配置环境。  方法一:在"系统" > "

2011-10-09 21:45:22 2713

原创 Linux设备驱动中的阻塞与非阻塞I/O

阻塞和非阻塞I/O是设备访问的两种不同模式,驱动程序可以灵活的支持用户空间对设备的这两种访问方式本例子讲述了这两者的区别 并实现I/O的等待队列机制, 并进行了用户空间的验证基本概念:1> 阻塞操作      是指 在执行设备操作时,若不能获得资源,则挂起进程直到满足

2011-09-25 09:00:54 6822 3

转载 mini6410成功移植OPENCV-2.0.0实现人脸检测

mini6410成功移植OPENCV-2.0.0实现人脸检测2011-04-22        研究这个东西很长时间了,以前是想在arm9上实现这个东西,但是夭折了,现在正好手里面有mini6410的板子,而且对浮点数运算支持较好。所以就试了试。实现的功能:移

2011-09-23 10:10:39 1327 2

原创 定时器+工作队列 内核周期性任务的实现机制

1 /* 本程序结合了内核定时器 和 工作队列 用于实现 周期性任务  2  * 其工作原理是 在定时器处理函数中 做完相应的工作后 延后expires 并将定时器  3  * 再次添加到内核定时器链表 以便定时器能再次触发    4  */  5 #includ

2011-09-20 16:33:08 3320

转载 学会成熟

还有在女孩子面前要懂事,要知道你应该为她做什么,在她做选择之前要先替她想好后果,然后帮她分析,让她感觉可以依赖你,觉得你说的、作的都很对,很成熟的感觉,这是我的体会今天的表现让我觉得自己很不成熟,回来后思考才发现被人的话中之话,就在网上搜索了一下1、成熟的男人应该有经济基础。既然人们用金色来形容收获,女人也就理所当然的用金钱来判断男人的成熟。2、成熟的男人应该有事业

2012-06-15 15:28:53 1759

转载 用shell写俄罗斯方块

http://bbs.chinaunix.net/thread-184858-1-1.html把注释加进去了,可能不是很详尽,只希望能把问题表现的清楚一点感谢各位兄弟的捧场,属于旧瓶装新酒了,呵呵如果你的终端可以显示出颜色,效果会好点运行于GNU bash, version 2.05a.0(1)-release (i686-pc-linux-gnu)--

2012-04-14 13:57:55 2063

原创 PID控制算式的数字化

前一排做电机控制时用到了pid算法在这里做一下总结吧由于计算机的出现,计算机进入了控制领域。人们将模拟PID 控制规律引入到计算机中来。由于计算机控制是一种采样控制,它只能根据采样许可的偏差计算控制量,而不能象模拟控制那样连续输出控制量,进行连续控制。由于这一特点,公式中的积分和微分项不能直接使用,必须进行离散化处理。离散化处理的方法为:以T 作为采样周期,k 作为采样

2012-03-07 11:20:19 19837 1

转载 负数-补码

今天看网络小说热血传奇之路,提到游戏里的沙巴克刷钱bug,说是当沙城的钱负到21亿的时候会开始变正。虽然传奇玩的较晚,时间也不长也不深入,不知道这事,但是小说作者作为传奇的骨灰级玩家,提到的这事让我很感兴趣,就从21亿这个数来看,这事肯定是真的了。显然这21亿就是int的最大值2147483647了,而且涉及到负数的问题,想起以前关于负数补码的知识看过但没通透,今天把它弄明白。看了些补码的知识

2011-12-14 22:44:29 24157 10

原创 不同方式实现的strcpy函数 使用时间对比

#include#define GLIBC_STRCPY//#define MY_STRCPY2//#define MY_STRCPY3//#define MY_STRCPY4/*没有考虑 dest src 指向同一内存地址 的情况*/char *my_strcpy1(char *dest, const char *src){ char *d = dest;

2011-12-02 19:21:32 2314

原创 分享一个用递归实现的 strlen函数

#include//还有个条件就是不能用变量int strlen_recursive(char *array){ if(*array == '\0') { return 0; }else{ return strlen_recursive(++array) + 1; }}int main(int argc, char *

2011-11-30 21:50:53 3736

原创 数组逆序

#include#define SIZEOF (sizeof(array)/sizeof(int)) int print(int *array, int n){ int i; for(i = 0; i < n; i++) { printf("%d ", array[i]); } putchar('\n');

2011-11-28 20:42:09 1655

原创 const volatile 关键字

const int joy = 101;建立了一个变量joy,它的值固定为101.volatile unsigned int incoming;表明incoming 在程序中的两次出现之间它的值可能会改变const int *ptr  = &joy;表明指针ptr的值 不能用来改变joy的值,但是它可以指向另外的一个位置void simple(con

2011-11-28 17:06:59 1950

原创 冒泡法排序

//方法一#includevoid print(int *a, int n);void tmp(int *a, int *b){ int t; t = *a; *a = *b; *b = t;}void cmp(int *a, int *b){ if(*a > *b) { tmp(a, b

2011-11-28 15:53:40 1572

转载 mini6410-JNI-led

<!--p {margin-bottom:0.21cm}a:link {color:rgb(255,153,0); text-decoration:none}--><!--p {margin-bottom:0.21cm}a:link {color:rgb(255,153,0); text-decoration:none}-->

2011-10-24 20:55:38 2602

转载 实例解析linux内核I2C体系结构

实例解析linux内核I2C体系结构作者:刘洪涛,华清远见嵌入式学院讲师。一、概述谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有:        ●    思路比较直接,不需要花时间去了解linux内核中复

2011-10-19 22:56:51 2832

转载 i2c adapter、i2c总线控制器、I2C bus(帖子)

i2c adapter是软件上抽象出来的i2c总线控制器接口物理上一条i2c总线可以挂接多个硬件设备(slave),一个CPU可以挂接多条i2c总线(想象一下PCI总线)i2c总线控制器就是CPU访问I2C总线的硬件接口,也就是你说的那几个寄存器Linux I2C框架搞那么复杂是为了通用性及为了符合Linux内核驱动模式而制定的。简单点了, 你的开发板上有几个I2C接口

2011-10-19 22:21:40 7991

转载 可重入和不可重入

重入一般可以理解为一个函数在同时多次调用,例如操作系统在进程调度过程中,或者单片机、处理器等的中断的时候会发生重入的现象。一般浮点运算都是由专门的硬件来完成,举个例子假设有个硬件寄存器名字叫做FLOAT,用来计算和存放浮点数的中间运算结果假设有这么个函数void fun(){//...这个函数对FLOAT寄存器进行操作}假如第一次执行,有个对浮点数操作运算的结果临时存在FLOAT寄存

2011-10-19 21:51:36 32418 1

转载 inline - noinline

<!--p {margin-bottom:0.21cm}--> noinline关键字用来通知编译器不要内联这个函数。【赛迪网讯】inline属性在使用的时候,要注意以下两点:inline关键字在GCC参考文档中仅有对其使用在函数定

2011-10-18 23:45:44 8418

转载 @Override遇到的问题

@Override遇到的问题 今天在把在javaproject下的java代码复制到java webproject下时报错了,但把@Override去掉就不报错了。经过查阅后发现:@override注释在jdk1.5环境下只能用于对继承的父类的方法的重写,但不能用于对实现

2011-10-18 20:31:13 2952

原创 输入子系统简单(按键)测试

输入子系统简单(按键)测试 //input_key.c   1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include /* for

2011-10-11 17:16:26 4590

转载 Input event驱动(ppt)

Input event驱动Andrew Huang Linux 专门对输入设备。键盘,鼠标,手柄,触摸屏。按键。封装一个类驱动。主要统一与应用程序接口。这一类的设备结点都是在/dev/input/eventn( 0用户程序读驱动的输入都采用统一格式,即

2011-10-10 22:02:45 11521

转载 Autoconf类项目移植

Autoconf类项目移植Andrew Huang 这一类开源项目是没有Makefile,一般只带configure.由configure检测编译环境来生成Makefile.如果x86,一般用./configure 即可生成X86 Makefile.如果A

2011-10-10 22:00:23 1099

转载 Using the Input Subsystem, Part II

Using the Input Subsystem, Part II(2008-06-20 14:21:09) In last month's article, we saw how the Linux input subsystemworked inside

2011-10-09 13:44:52 1277

转载 The Linux USB Input Subsystem, Part I

The Linux USB Input Subsystem, Part I(2008-06-20 14:19:13)转载   The Linux USB input subsystem is a single, ha

2011-10-09 13:43:12 898

转载 输入子系统分析

输入子系统分析2008-06-27 14:15转自http://blog.csdn.net/colorant/archive/2007/04/12/1561837.aspx1 输入子系统架构Overview        输入子系统(Input Subsyst

2011-10-08 23:07:27 514

原创 一个简单计算器的c程序

1 /*该程序的功能: 每行读取一个数(数前面可能有正负号) 并对他们求和, 每次输完后把这些数的累加总和 打印出来(各种功能以后还会不断地完善)*/ 2 #include 3 #include 4 #define MAXLINE 100 5 double a

2011-10-08 12:53:00 1238

原创 在按键驱动中增加异步通知的例子

//misc_key_async.c  1 #include   2 #include   3 #include   4 #include   5 #include   6 #include   7 #include   // #define S3

2011-10-07 19:53:03 1304 1

原创 按键按下-灯亮(应用程序)!

//应用程序实现的方法有两种:(平时实验就是积累项目经验, 到真正项目时就可以轻装上阵了,不要以为会了就不动手做实验)1>用 select系统调用监控 驱动是否可读  如果有按键按下 表示可读 就调用 read函数读取数据(按键值 是那个按键按下)然后再执行相应的操作(好

2011-10-06 10:53:55 3345

原创 一个纯字符的(最原始版本)led驱动(有有助于加深对字符设备的理解)

/* set gpio */    s3c_gpio_cfgpin(S3C64XX_GPF(15), S3C_GPIO_SFN(1));    s3c_gpio_setpull(S3C64XX_GPF(15), S3C_GPIO_PULL_NONE);    gp

2011-10-05 09:30:03 1996

原创 led驱动(混杂设备)

//led_misc.c  1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include

2011-10-04 11:51:50 1179

原创 按键驱动程序(混杂字符设备)

//misc_key.c  1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include // #define S3C_EINT(x

2011-10-04 10:11:45 2868 7

原创 一个用来统计c语言关键字出现次数的程序

1 #include 2 #include 3 #include 4 5 //#define DEBUG 6 #ifdef DEBUG 7 #define p(x) printf("%d\n",x) 8 #else 9 #defin

2011-10-02 22:59:59 6392

原创 platform设备的静态注册

在上一篇博文中,设备和驱动都是通过手动加载的(调试的时候采用这种方式),但有些情况下,内核已经为设备注册到platform总线上,只需要我们注册驱动就可以了。接下来介绍一下设备的静态注册。先看一下内核是从哪里获取静态注册的platform_device。内核是从../li

2011-09-29 16:42:23 1767

原创 一个led-platfrom设备驱动的例子

什么是platform总线一个现实的linux设备和驱动通常都需要挂接在一种总线上,比较常见的总线有USB、PCI总线等。但是,在嵌入式系统里面,SoC系统中集成的独立的外设控制器、挂接在SoC内存空间的外设却不依附与此类总线。基于这样的背景下,2.6内核加入了platfor

2011-09-28 14:19:01 2694

原创 在驱动中增加异步通知的例子

异步通知的意思是:一旦设备就绪,则主动通知应用程序,这样应用程序就根本不需要查询设备的状态,这一点非常类似于硬件上的“中断”的概念,比较准确的称谓是“信号驱动的异步I/O”。信号是在软件层次上对中断机制的一种模拟,在原理上一个进程接收到一个信号与处理器接收到一个中断请求是

2011-09-26 22:37:22 1253

原创 驱动中的调试方法

/*模块加载是向内核传递参数 如果不传递就用默认的参数*//*用户向内核传递参数的方法 eg insmod param.ko name="wenhui" age=20*//*内核调试信息的使用*/#undef PDEBUG /*取消对PDEBUG的定义 以防重复定义*/

2011-09-23 10:05:54 680 2

原创 支持两个“内存设备”的驱动(次驱动仅用于练习熟悉字符设备)

/*memdev.c*/#include #include #include #include #include #include #include #include #include #include #include /* acc

2011-09-22 14:38:02 847

天嵌科技出品-基于TQ6410的RedHat企业版的安装教程.pdf

天嵌科技出品-基于TQ6410的RedHat企业版的安装教程.pdf

2011-07-07

linux权威指南(第三版).part3.rar

全面的通用芯片中文资料很难找,这份89c51的pdf希望 可以帮到不少单片机的初学者。

2010-08-28

空空如也

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

TA关注的人

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