自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(52)
  • 收藏
  • 关注

转载 高效面试之动态规划DP

[ZZ]http://blog.csdn.net/cqkxboy168/article/details/40465389解题关键:理解结构特征,抽象出状态,写成状态转移方程。题目索引1.三角形找一条从顶到底的最小路径分析设状态为 f (i; j ),表示从从位置 (i; j ) 出发,路径的最小和,则状态转移方程为f(i,j)=min

2016-03-17 12:12:27 261

原创 repo: no branches ready for upload

由于Android源码太过庞大,Google在Git基础上外包一层,是为repo,用来方便地对项目进行管理、开发。所以,往服务器上传代码。不再是git commit后git push,而是repo upload  如果这时出错:no branches ready for upload并且之前也是在自己的branch上进行的操作,那么原因就是采用了错误的分支bra

2016-03-16 15:30:42 983

转载 Virtual Box会出现 Runtime error opening 'C:\Users\admin\VirtualBox VMs\Windows Server\Windows Server.vb

关于Virtual Box虚拟机里的系统不能启动的解决方法  当我们的虚拟机在非正常关闭后,再次启动机器时,Virtual Box会出现 Runtime error opening 'C:\Users\admin\VirtualBox VMs\Windows Server\Windows Server.vbox for reading: -102 (File not found.).提示。

2016-03-10 09:50:33 1575 2

转载 vs2010 问题 >LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

点击打开链接问题说明:当安装VS2012之后,原来的.NET 4.0会被替换为.NET 4.5。卸载VS2012时,不会恢复.NET 4.0。l 当VS2012安装后,VS2010的cvtres.exe就无法使用了。如果你的PATH环境变量中VS2010的工具路径第一个出现,而且链接器需要将.res文件转换为COFF 对象格式,就会导致LNK1123错误。l 当VS生成PE

2016-03-09 17:42:44 245

转载 一个Sqrt函数引发的血案

http://www.cnblogs.com/pkuoliver/archive/2010/10/06/1844725.html好吧,我承认我标题党了,不过既然你来了,就认真看下去吧,保证你有收获。  我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经

2016-01-05 11:34:13 211

转载 浮点型转换整型的快速方法介绍

[注明] 现有的Intel中的SSE指令 cvtps2dq XMM,XMM/m128 支持把源存储器4个单精度浮点数变成4个双字有符号整数,结果送入目的寄存器,内存变量必须对齐内存16字节,另外还有其他指令支持双精度和整型的转换。转载本文,作为C算法设计的探讨。在计算机图形运算中,常常要将浮点数转换为整数,例如在图像的光栅化阶段,就要执行大量的类型转换,以便将浮点数表示的坐标转化为

2016-01-05 10:56:00 4039 1

转载 安全起见,小心使用C语言realloc()函数

在C语言中,良好的编程习惯要求一个函数只做一件事,如果一个函数实现了若干功能,可以说基本是一个糟糕的设计。C语言 realloc() 函数位于 stdlib.h 头文件中,其原型为:    void *realloc(void *ptr, size_t size);realloc() 会将 ptr 所指向的内存块的大小修改为 size,并将新的内存指针返回。设之前内存块

2015-12-25 11:07:19 283

转载 git的几个小技巧

http://www.trinea.cn/dev-tools/git-skill/git的几个小技巧分享git的几个小技巧,后面会根据使用补充。目前包括git撤销本地修改、git回退到前n个版本、git多用户提交冲突解决、git 命令简化。欢迎大家补充^_*1、git撤销本地修改Java12git reset --ha

2015-11-13 11:49:10 177

转载 走进Linux之systemd启动过程

LCTT  https://linux.cn/article-5457-1.htmlLinux系统的启动方式有点复杂,而且总是有需要优化的地方。传统的Linux系统启动过程主要由著名的init进程(也被称为SysV init启动系统)处理,而基于init的启动系统被认为有效率不足的问题,systemd是Linux系统机器的另一种启动方式,宣称弥补了以传统Linux SysV ini

2015-10-30 16:06:57 1548

转载 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)

ZZ:http://www.ha97.com/833.html当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来!现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(http://www.opensource.org/licenses /alphabetical)。我们在常见

2015-10-30 15:54:03 1092

原创 netlink使用小结

最近在做内核空间和用户空间的双工通信,单播可以,多播一直遇到问题,还在纠结中...找了一些好帖子来看【上】http://blog.chinaunix.net/uid-23069658-id-3400761.html【中】http://blog.chinaunix.net/uid-23069658-id-3405954.html【下】http://blog.chinaunix.net/uid-23069658-id-3409786.html经过几天的尝试,终于弄明白了,现在过来写点总结性的文字。

2015-10-28 14:28:39 1120

转载 对pthread_join的理解

linux中的应用在Linux中,默认情况下是在一个线程被创建后,必须使用此函数对创建的线程进行资源回收,但是可以设置Threads attributes来设置当一个线程结束时,直接回收此线程所占用的系统资源,详细资料查看Threads attributes。其实在Linux中,新建的线程并不是在原先的进程中,而是系统通过一个系统调用clone()。该系统调用copy了一个和原先进

2015-10-22 10:50:22 539

转载 对线程条件变量的理解

ZZ:http://m.blog.csdn.net/blog/yeh201111/8189517对线程中条件变量的理解:         最近在学线程,学到这个条件变量的时候,感觉很难理解。。。查阅了大量的资料,终于有所突破,现在将一些体会写下来:        不得不提的是,条件变量必须牵涉到互斥锁,这个具体为什么,在我转载的另一篇文章中介绍到,有兴趣的可以了解一下。

2015-10-22 09:59:53 675

转载 Linux wait()函数

ZZ: http://blog.163.com/lqy_super/blog/static/1997510212012112953858902/#include #include pid_t wait(int *status) 进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样

2015-10-21 15:36:08 345

转载 linux 内核与用户空间通信之netlink使用方法

ZZ:http://blog.csdn.net/haomcu/article/details/7371835Linux中的进程间通信机制源自于Unix平台上的进程通信机制。Unix的两大分支AT&T Unix和BSD Unix在进程通信实现机制上的各有所不同,前者形成了运行在单个计算机上的System V IPC,后者则实现了基于socket的进程间通信机制。同时Linux也遵循IEE

2015-10-21 11:09:39 245

转载 netlink套接字的使用

ZZ: http://blog.csdn.net/gujing001/article/details/7069419题外话netlink真的非常强大,相比系统调用,ioctl和proc来说,以前没接触过,只知道用户空间去周期性地轮询内核空间的东西,开销大而且很不灵活,netlink方便多了。作者: Kevin He on wed,2005-01-05

2015-10-21 10:21:47 537

转载 简单理解Socket

ZZ:http://www.cnblogs.com/dolphinX/p/3460545.html题外话前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人;但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有意思,动手写几个demo,但web socket需要特定的服务器支持,由

2015-10-21 09:55:25 227

转载 Bayer图像处理

http://www.cnblogs.com/lin1270/archive/2010/12/01/1893647.htmlBayer是相机内部的原始图片, 一般后缀名为.raw. 很多软件都可以查看, 比如PS.我们相机拍照下来存储在存储卡上的.jpeg或其它格式的图片, 都是从.raw格式转化过来的. .raw格式内部的存储方式有多种, 但不管如何, 都是前两行的排

2015-10-20 10:55:21 639

原创 dma_alloc_coherent和dma_alloc_writecombine的区分

dma_alloc_coherent 在 arm 平台上会禁止页表项中的 C (Cacheable) 域以及 B (Bufferable)域。而 dma_alloc_writecombine 只禁止 C (Cacheable) 域. C 代表是否使用高速缓冲存储器, 而 B 代表是否使用写缓冲区。这样,dma_alloc_writecombine 分配出来的内存不使用缓存,但是会使

2015-10-20 09:58:46 563

转载 使用getopt_long()从命令行获取参数,struct option

本文来自:http://blog.csdn.net/yui/article/details/5669922众所周知,C程序的主函数有两个参数,其中,第一个参数是整型,可以获得包括程序名字的参数个数,第二个参数是字符数组指针或字符指针的指针,可以按顺序获得命令行上各个字符串参数。其原形是:int main(int argc, char *argv[]);或者int

2015-10-14 10:18:45 435

转载 【图形学】我理解的伽马校正(Gamma Correction)

转自博主大大 http://blog.csdn.net/candycat1992/article/details/46228771写在前面我相信几乎所有做图像处理方面的人都听过伽马校正(Gamma Correction)这一个名词,但真正明白它是什么、为什么要有它、以及怎么用它的人其实不多。我也不例外。 最初我查过一些资料,但很多文章的说法都不一样,有些

2015-09-28 16:35:26 955

转载 RAM, SRAM ,DRAM ,SDRAM ,ROM ,PROM, EPRM, EEPROM,NAND FLASH, NOR FLASH

由字面意思就可以理解,SDRAM SRAM DRAM都可以统称RAM,random access memory的缩写,只是前面加了几个修饰词而已。SRAM:静态随机存储器,就是它不需要刷新电路,不像动态随机存储器那样,每隔一段时间就要刷新一次数据。但是他集成度比较低,不适合做容量大的内存,一般是用在处理器的缓存里面。像S3C2440的ARM9处理器里面就有4K的SRAM用来做CPU启动时用的。

2015-09-20 22:38:03 308

转载 Linux信号(signal) 机制分析

http://www.cnblogs.com/hoys/archive/2012/08/19/2646377.html【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函数的安装、信

2015-09-19 22:37:39 177

转载 中断处理的tasklet(小任务)机制和workqueue(工作队列)机制

http://blog.csdn.net/zhuky/article/details/5418602一、中断处理的tasklet(小任务)机制中断服务程序一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。但是,中断是一个随机事件,它随时会到来,如果关中断的时间太长,CPU就不能及时响应其他的中断请求,从而造成中断的丢失。因此,Linux内核的目标就是尽可能

2015-09-19 09:25:31 277

转载 阻塞与非阻塞I/O

http://www.cnblogs.com/myblesh/articles/2367242.html还记得上篇 我们讲到的是linux中并发控制访问的手段有哪些????原子、信号量、自旋锁、互斥体。这是为了保护临界区的资源,是多个进程对共享资源的并发访问的一种处理手段。但是,在驱动程序中,我们常常为了支持用户空间对设备的灵活访问,引入了阻塞与非阻塞I/O两种不同模式。  

2015-09-19 08:24:39 169

转载 进程上下文VS中断上下文

转自:http://www.cnblogs.com/zzx1045917067/archive/2012/12/19/2824552.html内核空间和用户空间是现代操作系统的两种工作模式,内核模块运行在内核空间,而用户态应用程序运行在用户空间。它们代表不同的级别,而对系统资源具有不同的访问权限。内核模块运行在最高级别(内核态),这个级下所有的操作都受系统信任,而应用程序运行在

2015-09-18 21:52:37 237

转载 指针函数与函数指针的区别

转自http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针     类型标识符    *

2015-09-16 19:14:02 212

转载 把GPIO 通过sysfs导出到用户空间

在嵌入式设备中对GPIO的操作是最基本的操作。一般的做法是写一个单独驱动程序,网上大多数的例子都是这样的。其实linux下面有一个通用的GPIO操作接口,那就是我要介绍的 “/sys/class/gpio” 方式。 首先,看看系统中有没有“/sys/class/gpio”这个文件夹。如果没有请在编译内核的时候加入   Device Drivers  —>  GPIO Support  —>  

2015-05-22 23:54:12 495

转载 Linux内核驱动之GPIO子系统(一)GPIO的使用

ZZ http://blog.csdn.net/mirkerson/article/details/8464290一 概述  Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,不能使用负数,gpio与硬件体系密切相关的,不

2015-05-21 13:29:03 673

转载 关于内核中spinlock的一些个人理解

http://blog.chinaunix.net/uid-24227137-id-3563249.html由于2.6内核可以抢占,应该在驱动程序中使用 preempt_disable() 和 preempt_enable(),从而保护代码段不被抢占(禁止 IRQ 同时也就隐式地禁止了抢占)。preempt_disable和preempt_enable 调用。spin_lock_i

2015-05-10 21:09:58 347

转载 对INIT_WORK的理解

转载自: http://blog.csdn.net/meiyusong/article/details/7339854以前内核里对这个函数是这样定义的 #define INIT_WORK(_work, _func, _data),可以理解为INIT_WORK会在你定义的_work工作队列里面增加一个工作任务,该任务就是_func。_func这个任务会需要一些数据作为参数,这个参数就是通过_

2015-04-27 17:37:55 323

转载 bus, device, driver 三者之间的关系

转载自 http://blog.csdn.net/tynew/article/details/82067681. 总线,设备和驱动总线:一个总线是处理器和一个或多个设备之间的通道. 为设备模型的目的, 所有的设备都通过一个总线连接, 甚至当它是一个内部的虚拟的,"平台"总线。设备:设备就是连接在总线上的物理实体。设备是有功能之分的。具有相同功能的设备被归到一个类(CLA

2015-04-27 11:36:02 362

转载 Linux双向循环链表的实现

转自http://blog.csdn.net/yaozhenguo2006/article/details/7621551 作者写得太好了,不得不大赞!链表是一种重要的数据结构,应用的非常广泛。链表分为单向链表与双向链表,一般的实现就是在结构体中内嵌指向下一个元素的指针。例如:[cpp] view plaincopystruc

2015-04-27 10:56:28 215

转载 嵌入式C语言关键字volatile以及cache对数据一致性的影响

转自:http://m.blog.csdn.net/blog/a747lulu747/12423031 cache部分加入自己的一些理解1、数据一致性是一个重要的问题,它定义了不同的CPU、系统总线所有的master看到的是相同的一片内存。 2、因为cache的存在,以及编译器对某些C语言语句的优化,使得CPU对某个内存变量的修改不能立刻更新到内存,或者其他系统的master修改了内存

2015-04-25 23:16:33 1003

转载 直接内存访问(DMA) 总结

1. 什么是DMA直接内存访问是一种硬件机制,它允许外围设备和主内存之间直接传输它们的I/O数据,而不需要系统处理器的参与。使用这种机制可以大大提高与设备通信的吞吐量。 2. DMA数据传输有两种方式引发数据传输:第一种情况:软件对数据的请求1. 当进程调用read,驱动程序函数分配一个DMA缓冲区,并让硬件将数据传输到这个缓冲区中。进程处于睡眠状态。2. 硬件将数据写

2015-04-24 22:56:43 1550

转载 Linux 日志级别(loglevel)详解

ZZ http://smilejay.com/2011/12/linux_loglevel/前几天,我在想printk中到底是哪些信息会打印到console上,哪些东西可以通过dmesg来查看。参考了网上一些资料以及自己做的一些实验,总结一下Linux中的console loglevel以及printk, dmesg知识。只有当printk打印信息时的loglevel小于con

2015-04-16 11:11:40 4304

转载 找回VirtualBox的“设备”菜单

http://www.2cto.com/os/201301/182724.html 安装了增强功能后,想调节屏幕大小,不小心不知胡乱按了什么键把“设备”菜单弄没了。  www.2cto.com   以下是找回方法: 对应的快捷键:全屏模式: Host+F无缝模式: Host+L自动缩放模式: Host+C其中,Ho

2015-04-15 09:48:13 1163

转载 找回VirtualBox的“设备”菜单

安装了增强功能后,想调节屏幕大小,不小心不知胡乱按了什么键把“设备”菜单弄没了。  www.2cto.com   以下是找回方法: 对应的快捷键:全屏模式: Host+F无缝模式: Host+L自动缩放模式: Host+C其中,Host(默认的)是键盘上右边的那个Ctrl键 对应的模式,可以通过上面对应的快捷键

2015-04-15 09:48:10 622

原创 Kernel Panic的debug方法小结

经常在debug kernel的时候会遇到空指针或者其他导致内核崩溃的情况,这时候dvi1_set_stream+0x274/0x3d4指出了内核崩溃的原因,但是这个偏移量无法直接确定准确的行数,今天在交叉编译工具里发现了两个很有用的工具,objdump和addr2line,在Makefile文件中加入-g选项,增加调试信息,然后用objdump来得到相应的函数地址,如这里的dvi1_set_st

2015-03-24 15:07:16 693

原创 DMA-API使用总结

参考自/Documentation/DMA-API.txt1,dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t flag) 一般用于较大的dma一致性的buffer,而较小的buffer选择dma pool的形式;2,dma_alloc_coherent使用前一般会调用dma_

2015-03-19 10:48:26 1160 1

空空如也

空空如也

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

TA关注的人

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