自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小雷的学习空间

用硬件包围软件 最终实现软硬通吃

  • 博客(32)
  • 资源 (16)
  • 收藏
  • 关注

原创 “珍珠王”的产生 -- 消费者心理价格“锚定”

<br />博主按:世上本没有路,走的人多了也就成了路。这句话如果放在营销上,大概可以说成是“世上本没有需求,有了卖的人也就有了需求”。虽然不那么经得起推敲,但也从一个侧面反映了这样一个事实:供需关系在很大程度上(某一段时期内)并不决定商品价格。因为消费者的心理并不是理性的,尤其是被忽悠了之后。大概学习过消费者心理学的朋友都会知道这样一个故事:原本一文不名的黑珍珠是如何被捧成了稀世珍宝的故事。这个故事形象的解释了消费者心理学的一个方面:关于价格的“锚定”。当然,黑珍珠最终能有这么高的价格基于它的稀有性和它的

2011-01-25 14:06:00 1668 1

转载 细说苹果精明的定价之道

博主按:好的营销基于好的产品。苹果的产品设计理念是领先于时代的,在这个基础上研究它的营销策略才有意义。苹果定价时的“锚定”策略(关于锚定理论有一个有意思的案例,见本博客的另一篇文章),差别定价策略,促销定价策略等等都做得很是精明。精明的定价策略是成功营销的一个重要的方面。下文从几个角度分析了苹果的定价策略,虽然有些内容并不尽然(我认为差别定价只是产生消费者剩余的必要条件,而非充分条件),但也有一定的借鉴意义。特转之。苹果的流行,在产品在服务;苹果的精明,在定价在营销。  乔布斯确实是一个玩转价格策略的商场老

2011-01-25 13:40:00 1611 1

原创 /bin/sh^M:损坏的解释器: No such file or directory

<br />运行某些linux脚本文件时会出现这种错误:<br />/bin/sh^M:损坏的解释器: No such file or directory<br /> <br />原因:该脚本文件在Windows下被编辑过。windows下,每一行的结尾是/n/r,而在linux下文件的结尾是/n,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符/r, 用gedit打开文件是看不到这个^m的,可以使用vi打开看一下,每一行结束都有一个^m<br

2011-01-20 10:59:00 4275

转载 十招让你的Powerpoint脱胎换骨(下)

<br />原文:10 Tips for Designing Presentations That Don’t Suck: Pt.2 – Design Shack<br />译者:boxi(译言) <br />来源:褪墨<br /><br /><br />上回我们公布了PPT设计的五招实战技巧,其中包括夺目耀眼照片术,清新明快排版术,朴实无华色彩术等等可以为我们带来令人震撼的结果的招式。<br />今天,我们把PPT设计的第六到第十招一并打包奉送给诸位,我们要教给你武功秘籍的最高境界,无招胜有招,让你学会如

2011-01-19 21:08:00 1262

转载 十招让你的Powerpoint脱胎换骨(上)

博主按:看完这十招之后我真的没有勇气再去看我以前做的ppt了,呵呵。 ppt这东西是我们工作中经常要用到的,是我们展示自己的重要工具,不能小看它。学习这十招,让我们的ppt上N个层次吧。看看福布斯演讲时用的,再看看老罗北京巡讲用的,把我们做的那些扔进垃圾箱吧!原文:10 Tips for Designing Presentations That Don’t Suck: Pt.1 – Design Shack译者:boxi(译言) 来源: 褪墨在本文我们将用10个超级技巧来解决糟糕的PowerPoint设计肆

2011-01-19 20:43:00 1010

转载 移动产品交互效率

<br />博主按:人机交互的设计是一门学问,需要设计者了解市场,了解用户。这方面往往研发人员和销售人员会有一些分歧,有时候研发者自作聪明加上去的一些东东只是自我满足,完全经受不住市场的考验。所以产品的式样需要由销售部门提出,再和研发部门讨论确定。这方面我也有些体会,所以特转此文与大家共享。<br /> <br />转载自百度MUX<br /> <br />交互效率是产品可用性的重要组成部分,也是可用性评估的一个要点。相较传统互联网产品,当前移动产品在软硬界面的协同性以及网络环境方面还有很多差距,用户的交互

2011-01-19 19:16:00 752

转载 Linux对I/O端口资源的管理(5)

<br />3.6 访问I/O内存资源<br /><br />  尽管I/O端口空间曾一度在x86平台上被广泛使用,但是由于它非常小,因此大多数现代总线的设备都以内存映射方式(Memory-mapped)来映射它的I/O端口(指I/O寄存器)和外设内存。基于内存映射方式的I/O端口(指I/O寄存器)和外设内存可以通称为“I/O内存”资源(I/OMemory)。因为这两者在硬件实现上的差异对于软件来说是完全透明的,所以驱动程序开发人员可以将内存映射方式的I/O端口和外设内存统一看作是“I/O内

2011-01-19 10:04:00 857

转载 Linux对I/O端口资源的管理(4)

3.4 管理I/O端口资源  我们都知道,采用I/O映射方式的X86处理器为外设实现了一个单独的地址空间,也即“I/O空间”(I/OSpace)或称为“I/O端口空间”,其大小是64KB(0x0000-0xffff)。linux在其所支持的所有平台上都实现了“I/O端口空间”这一概念。  由于I/O空间非常小,因此即使外设总线有一个单独的I/O端口空间,却也不是所有的外设都将其I/O端口(指寄存器)映射到“I/O端口空间”中。比如,大多数PCI卡都通过内存映射方式来将其I/O端口或外设内存映

2011-01-19 10:03:00 1209

转载 Linux对I/O端口资源的管理(2)

3.2 linux对I/O资源的管理  linux是以一种倒置的树形结构来管理每一类I/O资源(如:I/O端口、外设内存、DMA和IRQ)的。每一类I/O资源都对应有一颗倒置的资源树,树中的每一个节点都是一个resource结构,而树的根结点root则描述了该类资源的整个资源空间。  基于上述这个思想,linux在kernel/Resource.c文件中实现了对资源的申请、释放及查找等操作。  3.2.1 I/O资源的申请  假设某类资源有如下这样一颗资源树:  节点root、r1、r2

2011-01-19 10:01:00 1720

转载 Linux对I/O端口资源的管理(3)

3.2.4 寻找可用资源  函数find_resource()用于在一颗资源树中寻找未被使用的、且满足给定条件的(也即资源长度大小为size,且在[min,max]区间内)的资源。其函数源代码如下:/** Find empty slot in the resource tree given range andalignment.*/static int find_resource(struct resource *root, struct resource*new,unsig

2011-01-19 10:01:00 1414

转载 Linux对I/O端口资源的管理〔1〕

本文主要从内核实现的角度分析linux2.4.0内核IO子系统中对IO端口资源的管理的实现原理。本文是为那些想要深入分析Linux的IO子系统的读者和设备驱动程序开发人员而写的。  Copyright ?0? 2002 by 詹荣开  E-mail:[email protected]  linux-2.4.0  Version 1.0.0,2002-10-1  关键词:设备管理、驱动程序、I/O端口、资源  申明:这份文档是按照自由软件开放源代码的精神发布的,任何人可以免费获得、使用

2011-01-19 10:00:00 1625

原创 Linux设备驱动程序第三版学习(12)- 与硬件通信

<br />继续往下学习第九章的内容。从这一章开始才接触到了一些实际的硬件设备,硬件是我的强项啊,呵呵。加油!<br /> <br />一、I/O端口和I/O内存<br />   在学习这部分之前,需要先明确一个概念:side effect。明确这个概念有助于理解内存操作和IO寄存器操作的不同。LDD3中将这个词翻译成了“边际效应”,对此我持保留意见,至少我当时学习的时候就被这个词搞得一头雾水(我本身是搞硬件的,自认为对寄存器还是很了解的,这里完全被这个词搞晕,我勒个去以为是什么高级的东东)。LDD2中将此

2011-01-18 14:46:00 2258

原创 我用过的几款电路设计EDA软件

说到绘制电路图和PCB图的软件,大家可能最先想到的是protel,这个在国内,尤其是国内的大学里面用的是最多的了。可是我最先用的确不是这个,实际上到现在我也不怎么会用。刚进公司的时候用的是Zuken公司的CR-5000,好像韩国企业都用这个吧,至少我见到的都是用它。感觉是一款不错的软件。记得当时什么也不会,跟在一位前辈的屁股后面,他画,我看。看了大概一个月,会了,自己画。感觉这款软件的快捷键挺好用的,速度飞起来以后画图就像打星际似的,挺有意思(后来发现任何一款EDA用熟了都像打星际,呵呵)。这软件不好的地方

2011-01-17 21:33:00 3853

原创 加了醋的啤酒

  如果你是一个啤酒爱好者,你喝啤酒的口味会轻易改变吗?   麻省理工学院的毕业生Leonard Lee(现就职于哥伦比亚大学)当年和另外两个M.I.T的研究者(Shane Fredrick和Dan Ariely)共同进行了一个有趣的实验。他们发现在人们喝啤酒之前,告诉他们啤酒中添加了一些特别的成分,这样做就可以改变人们的口味偏好。相信吗?    在一系列的试验中,Dr.Lee请酒吧顾客帮助他进行一项品尝啤酒的实验(当然啤酒是免费的啦)。一共有388人参加了实验,每人品尝了两种啤酒,一种是正常的百威啤

2011-01-17 18:44:00 9820

原创 Linux设备驱动程序第三版学习(11)- 分配内存

一、kmalloc函数内幕    kmalloc的使用已经比较熟悉了,它的函数原型是: 1: #include 2: void *kmalloc(size_t size, int flags);.csharpcode, .csharpcode pre{ font-size: small; color: black; font-family: consolas, "Courier New", courier, monospa

2011-01-17 15:35:00 4997

转载 唐僧是位好领导

儿时读《西游记》,觉得唐僧软弱无能、真假不分,对孙悟空屈居这样的人手下觉得不解。时过而立之年,在职场摸爬滚打十年之后,重温《西游记》方才明白,唐僧其实是位好领导,他的事业成功得益于它所具有的一位领导人必备的多种素质。  一、 良好的道德品质是得到认同并被委以重任的前提唐僧,俗家姓陈,法号玄奘,是唐初的高僧。“一心不爱荣华,只喜修持寂灭,”“根源又好,德行又高”。唐太宗李世民认为他“有德行有禅心”,委任“左僧纲,右僧纲,天下大阐都僧纲”之职。  二、 扎实的专业知识是顺利完成使命的理论基础唐僧西天取经经历了九

2011-01-16 20:47:00 1640 1

原创 Linux设备驱动程序第三版学习(10)- 时间、延迟及延缓操作

接下来学习第七章:时间、延迟及延缓操作。本章主要学习了内核代码如何对时间问题进行处理。 关于Linux时钟处理机制的详细内容,参考本博客转载的“Linux 时钟处理机制”一文【赵 健博 ([email protected]), 硕士, 中国科学院计算技术研究所】 一、时间。 内核通过定时器中断来跟踪时间流。定时器中断是硬件产生的,是周期性的。不同的硬件平台的周期不一样,例如x86 PC上默认的是1000次/秒。内核维护一个内部的计数器,这个计数器在系统引导时被初始化为0,每次中断发生时,计数器+1。

2011-01-16 10:26:00 1782 1

转载 Linux 时钟处理机制

<br />原作者:赵 健博 ([email protected]), 硕士, 中国科学院计算技术研究所<br />文章链接:http://www.ibm.com/developerworks/cn/linux/l-cn-clocks/index.html<br /> 

2011-01-16 10:24:00 747

原创 与搜索算法有关系的几个基本概念

具体进入算法研究之间先要了解几个基本概念: 1. 图的概念。 图的表示方法是G=(V,E)。其中G代表Graphic, V代表Vertex,称为图G的顶点集; E代表Edge,称为图G的边集。 图又分为两种:有向图和无向图。见下图。 其中图(a)是有向图,图(b)是无向图。 使用G=(V,E)来表示图(a)的话。其中V={1, 2, 3, 4, 5, 6};E={(1,2),(2,2),(2,4),(2,5),(4,1),(4,5),(5,4),(6,3)} 。其中(4,

2011-01-14 19:56:00 1249 1

转载 使用/proc实现内核与用户空间通信

<br />来源:http://yfydz.cublog.cn<br />1. 前言 Linux内核空间与用户空间的通信可通过"/proc"目录的文件读写来实现,如果只是控制内核中的参数而不是传输较多数据的话,用“/proc”是很合适的。另外一种内核与用户空间通信方式方式是使用内核设备的读写或IOCTL来实现,以后再介绍。 2. /proc概述 /proc目录是系统模拟出来的一个文件系统,本身并不存在于磁盘上,其中的文件都表示内核参数的信息,这些信息分两类,一类是可都可写的,这类参数都在“/proc/sys

2011-01-14 17:01:00 1553

原创 Linux设备驱动程序第三版学习(9)- 高级字符驱动程序操作(续4) - llseek定位设备

第六章:高级字符驱动程序操作(续4)以下为第五部分:定位设备这部分相当简单,需要注意的是即使大多数设备进行定位操作没有意义,但是也不能步声明llseek操作,因为默认是允许定位的。而是应该在open中调用nonseekable_open,这样内核就不会让lseek调用成功。下面是scull驱动的main.c中的llseek实现。loff_t scull_llseek(struct file *filp, loff_t off, int whence){    struct scull

2011-01-12 15:30:00 2400

原创 Linux设备驱动程序第三版学习(8)- 高级字符驱动程序操作(续3)- 异步通知

第六章:高级字符驱动程序操作(续3)以下为第四部分:异步通知使用poll轮询方式的时候,相当于应用程序在需要的时候询问设备“准备好了吗?”,如果有这样一种情况,一个进程在低优先级正在执行长的循环计算,但又需要“尽可能快”的处理输入数据,如果采用poll的方式,那么需要这个应用程序周期性的调用poll来检测数据,也就是周期性的询问设备“准备好了吗?” 显然这种情况下poll并不是最佳的方法。更好的方法应该是一旦设备准备好了就发出一个“我准备好了”的信号给应用程序,然后应用程序再去处理。这样显然更高效。

2011-01-12 14:47:00 1962

原创 Linux设备驱动程序第三版学习(7)- 高级字符驱动程序操作(续2)- poll/select

第六章:高级字符驱动程序操作(续2)以下为第三部分:poll/select系统调用poll方法执行了两个任务:第一项任务:调用poll_wait方法向poll_table结构添加一个等待队列第二项任务:返回一个位掩码(mask),该位掩码秒数了哪个操作可以立即执行而不会被阻塞。对于位掩码,定义在asm-generic/poll.h中,为了以后方便查阅,记录如下:/* These are specified by iBCS2 */#define POLLIN        0x00

2011-01-12 14:44:00 1841

原创 signal

函数名: signal表头文件 #include<signal.h><br />功 能: 设置某一信号的对应动作 <br />函数原型 :void (*signal(int signum,void(* handler)(int)))(int);<br />  或者:typedef  void(*sig_t) ( int  );<br />  sig_t  signal(int signum,sig_t  handler);<br />参数说明:<br />  第一个参数signum指明了所要处理的信号类型,

2011-01-12 14:12:00 855

原创 Linux设备驱动程序第三版学习(6)- 高级字符驱动程序操作(续1) - 进程休眠

第六章:高级字符驱动程序操作(续1)以下是第2部分:掌握如何使进程休眠(并唤醒)分为4个小的部分(都是通过分析源码的形式,必要时加以总结):1、进程休眠的细节2、进程唤醒的细节3、scullpipe中read的实现4、scullpipe中write的实现1、 进程休眠的细节    Linux内核中最简单的休眠方式就是称为wait_event的宏(以及它的几个变种),形式如下:        wait_event(queue, condi

2011-01-10 14:46:00 1972

原创 Linux设备驱动程序第三版学习(5)- 高级字符驱动程序操作 - ioctl

第六章:高级字符驱动程序操作这章有以下几个部分主要内容:1) 学习实现ioctl系统调用,它是用于设备控制的公共接口2) 掌握如何使进程休眠(并唤醒)3) poll/select4) 异步通知5) 定位设备6) 设备文件的访问控制以下为第1部分, ioctl的学习。定义(摘自百度百科):    ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就  是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。他的调用个数

2011-01-10 14:24:00 1996

转载 内核同步机制-优化屏障和内存屏障

<br />优化屏障和内存屏障 <br />优化屏障 <br /><br />编译器编译源代码时,会将源代码进行优化,将源代码的指令进行重排序,以适合于CPU的并行执行。然而,内核同步必须避免指令重新排序,优化屏障(Optimization barrier)避免编译器的重排序优化操作,保证编译程序时在优化屏障之前的指令不会在优化屏障之后执行。<br />Linux用宏barrier实现优化屏障,gcc编译器的优化屏障宏定义列出如下(在include/linux/compiler-gcc.h中): <br /

2011-01-07 10:36:00 980

原创 关于宏的一个应用

<br />在内核文件sched.c中有这样的应用,记录如下:<br />#define SCHED_FEAT(name, enabled)    /<br />    __SCHED_FEAT_##name ,<br /><br />enum {<br />#include "sched_features.h"<br />};<br /><br />#undef SCHED_FEAT<br /><br />#define SCHED_FEAT(name, enabled)    /

2011-01-07 10:15:00 1958

转载 自动生成Makefile的详细过程

<br />为了编译一个简单的源文件main.c,需要自动生成一个makefile,以下是步骤:<br /><br />第一步:<br />----------<br />在/root/project/main目录下创建一个文件main.c,其内容如下:<br />------------------------------------------------<br />#include <stdio.h> <br />int main(int argc, char** argv) <br />{ <br

2011-01-06 20:08:00 834

转载 关于linux内核中 等待队列 数据结构之思考

原文链接:http://blog.csdn.net/wangchaoxjtuse/archive/2010/12/02/6049500.aspx关于linux等待队列,大体有如下描述:等待队列是一个双向循环链表,在这个链表中,有两种数据结构:等待队列头(wait_queue_head_t)和等待队列项(wait_queue_t)。等待队列头和等待队列项中都包含一个list_head类型的域作为"连接件"。等待对头wait_queue_head_t 和等待队列元素wait_queue_t的定义如下://队头结

2011-01-06 12:13:00 991

原创 Linux设备驱动程序第三版学习(4)- 并发和竟态

第五章学习:并发和竟态其实可以拿上“公共厕所”来做一个比喻,就是那种在大街上只有一个隔间的小型公厕。更容易理解并发、竟态和信号量。把“临界区”理解为“公共厕所”(临界区:在任意给定的时刻,代码只能被一个线程执行。/ 公共厕所:在任意给定的时刻,厕所只能被一个人使用。),“公共厕所”的来源是“并发”的(很多人可以一起去上厕所),假设A同学已经进去了,如果厕所什么标记都没有(没有信号量),那么B同学来的时候不知道里面有人就推门而入,这时候就尴尬了(错误发生了)。这个过程就是竟态(race conditi

2011-01-02 15:45:00 1438 1

原创 Linux设备驱动程序第三版学习(3)- 调试

开始书中第四章的学习:调试技术。主要有三种调试方式:打印、查询和监视。一、说说打印方式:    1)主要使用printk这个内核方法来进行。    2)printk方法可以附加日志级别:KERN_EMERG、KERN_ALERT、KERN_CRIT、KERN_ERR、KERN_WARNINT、KERN_NOTICE、KERN_INFO、KERN_DEBUG。 默认的级别在我现在的内核中(2.6.32)就是KERN_WARNING    3)开启和禁用printk的方法。可以采用如下代码

2011-01-02 15:43:00 2178

FORESEE_eMMC_NCEMASD9-08G SPEC A0 20150701.pdf

datasheet FORESEE_eMMC_NCEMASD9-08G SPEC A0 20150701.

2019-09-21

KLM4G1FETE-B041(eMMC5.1 32Gb based)1.0.pdf

Samsung KLM4G1FETE-B041(eMMC5.1 32Gb based)1.0 datasheet

2019-09-21

NPlot开源图表控件 for .NET4.5

开源图表控件NPlot。 官方只有.NET1.0,2.0. 该.NET 4.5版本为本人编译,亲测可用。赚点辛苦分

2015-03-15

openGL编程指南(红宝书)英文第八版

大名鼎鼎的opengl红宝书英文超清pdf(第八版)

2015-03-09

The Definitive Guide to SQLite(Second Edition)

学习SQLite的经典好书,超清晰版本!

2014-03-06

MATLAB C# Book 第一版

MATLAB C# Book 第一版,原版高清pdf文件,学习混合编程的最好资料。

2014-02-21

《和小雷一起学开发》 之 C#的国际化方法

《和小雷一起学开发》 之 C#的国际化方法的sample

2014-01-12

TeeChart.NET 2010 完全破解Part2

共2个part。这是Part2。 安装完毕后将三个dll文件拷贝到安装目录覆盖源文件即可。

2013-12-10

TeeChart.NET 2010 完全破解

共2个part。 这是part1 。亲测可用。支持VS2010。 安装后将目录下的三个dll文件拷贝到安装目录覆盖源文件即可。

2013-12-10

UHF超高频蓝牙读写器 开发包

绝对完整 不可错过.UHF超高频蓝牙读写器 ,包括开发文档,源代码,以及UHF超高频蓝牙读写器 使用说明书全套都在内。

2013-11-28

CCS 5.2可用的破解License

CCS 5.2 可用 破解 License,绝对可用

2012-11-05

CCS教程ppt

CCS 教程 ppt, 非常详细。200多页

2012-11-05

TeeChart for .Net 2010 中文教程

TeeChart for .Net 2010 中文教程

2012-09-23

3D小人素材大全(1)

3D小人素材大全3D小人素材大全 3D小人素材大全 3D小人素材大全

2011-11-16

Cadence+allegro+16.x在WIN7下的安装方法与破解方法

Cadence+allegro+16.x在WIN7下的安装方法与破解方法 ,绝对可用!

2011-10-19

空空如也

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

TA关注的人

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