- 博客(16)
- 收藏
- 关注
转载 7中排序算法的性能比较
本文转自:C++算法 冒泡排序,快速排序,插入排序,希尔排序,计数排序,基数排序 性能比较排序是计算机算法中非常重要的一项,而排序算法又有不少实现方法,那么哪些排序算法比较有效率,哪些算法在特定场合比较有效,下面将用C++实现各种算法,并且比较他们的效率,让我们对各种排序有个更深入的了解。1、冒泡排序//n^2 冒泡排序V[n]不参与排序void Bubbl
2013-08-27 11:09:41 1042
转载 i2c相关知识点
本文转自:i2c 知识点总结 0、 总线端:主要是mach-smdkc110.c和i2c_s3c2410.c两个文件,主要完成资源的注册,在s3c24xx_i2c_probe中创建adapter和client后总线端退出 设备端:主要是用户写的部分,通过i2c_add_driver 匹配i2c_driver的id_table中的name和 client
2013-08-26 20:42:22 1282
转载 内核初始化优化宏(__init, __devinit)
本文转自:内核初始化优化宏(__init, __devinit) 在内核里经常可以看到__init, __devinit这样的语句,这都是在init.h中定义的宏,gcc在编译时会将被修饰的内容放到这些宏所代表的section。其典型的定义如下:#define __init __section(.init.text) __cold notrace#define
2013-08-26 08:58:02 924
转载 input子系统(一)
本文转自:嵌入式Linux之我行——S3C2440上触摸屏驱动实例开发讲解1、Linux输入子系统(Input Subsystem): 在Linux中,输入子系统是由输入子系统设备驱动层、输入子系统核心层(Input Core)和输入子系统事件处理层(Event Handler)组成。其中设备驱动层提供对硬件各寄存器的读写访问和将底层硬件对用户输入访问的响应转换为标
2013-08-24 17:24:52 774
原创 linux内核中3个定义错误号的头文件
查看错误号(errno,一个整数值)是调试程序的一个重要方法。当linux内核中的函数发生异常时,一般会将errno的负值返回,通过查看该值就可找到出错的原因。1-34号在include/asm-generic/errno-base.h中定义,35-132号在include/asm-generic/errno.h中定义,512-516、521-530号在include/linu
2013-08-23 13:52:26 3484 1
原创 request_irq函数介绍
在Linux内核中,request_irq()函数是注册中断服务函数,函数的原型如下:int request_irq (unsigned int irq, irqreturn_t (*handler)(int, void *), unsigned long irqfrag, const char *devname,void *dev_id);5个参数的含义如下:参数1:中断号,
2013-08-23 13:12:38 10492
原创 linux内核中的一些关于中断的宏定义
中断的触发方式设置:#define IRQF_TRIGGER_NONE 0x00000000/*无触发中断(采用默认的或之前设置的触发方式)*/#define IRQF_TRIGGER_RISING 0x00000001/*指定中断触发类型:上升沿有效*/#define IRQF_TRIGGER_FALLING 0x00000002/*中断触发类型:下降沿有效*
2013-08-23 12:50:25 6561
原创 destroy_workqueue与flush_workqueue
void flush_workqueue(struct workqueue_struct *wq)//清理指定工作队列中的所有任务{ const struct cpumask *cpu_map = wq_cpu_map(wq); int cpu; might_sleep(); lock_map_acquire(&wq->lockdep_map); lock_map_release(
2013-08-23 09:09:44 6542
转载 工作队列的理解
Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程。 工作队列允许内核函数(像可延迟的函数)激活,而且稍后由一种叫做工作者线程的特殊内核线程来执行,它和
2013-08-23 09:00:33 1431
转载 电容触摸屏驱动分析
转载出处:android 电容屏(三):驱动调试之驱动程序分析篇(转)一、总体架构1、IIC部分,初始化gt8105的数据和传回主控制的坐标位置信息就是通过IIC这条线传输的;2、INT,当gt8105初触摸时,会发出中断通知主控接收信息(坐标数据);3、gt8105电源、复位这一部分,不同芯片有所不同,可以根据触摸屏芯片来配置。二、电容触摸屏的主要参数(面试的
2013-08-23 08:19:37 2662
转载 回调函数及其在C语言中的使用
1、什么是回调软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用。回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口。异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种
2013-08-21 21:24:56 1740
转载 request_mem_region 和 ioremap的理解
几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种: (1)I/O映射方式(I/O-mapped) 典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令
2013-08-20 21:58:21 1990
转载 中断处理函数
以下是一个统计中断时间间隔的中断服务程序:irqreturn_t short_interrupt(int irq, void *dev_id, struct pt_regs *regs){static long mytime=0;static int i=0;struct net_device *dev=(struct net_device *)dev_id;if(i==0
2013-08-18 18:12:23 2680
转载 修改Linux命令提示符
修改Linux命令提示符,需要修改环境变量PS1(命令行提示符)。可以使用vi编辑/etc/profile文件,在最后加上export PS1='[/u@/h /W]/$ ' 即可。其中/u显示当前用户账号,/h显示当前主机名,/W显示当前路径,/$显示'$'符号,/W 代替 /w 就可以实现绝对路径到相对路径的转换。下面是Linux环境下一些默认的特殊符号所代表的意义:/
2013-08-15 16:35:46 713
转载 几种常见排序算法的C语言实现
1)“冒泡法1” 其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i],则交换它们,一直比较到a[n]。同理对a[1],a[2],...a[n-1]处理,即完成排序。 void bubble(int *a,int n) { int i,j,temp; for(i=0;i {
2013-08-13 18:07:35 882
转载 uboot中添加自启动的快捷菜单
u-boot下common内的每个cmd_*.c代表一个命令,可以把一些常用的命令做成快捷菜单:1、在common文件夹中新建cmd_menu.c2、在cmd_menu.c中加入下列代码#include #include void main_menu_usage(void) { //以下全部通过tftp下载printf("[1] 下载bootloader到Nan
2013-08-02 10:15:38 930
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人