自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

海阔天空的专栏

专注嵌入式开发

  • 博客(100)
  • 资源 (1)
  • 收藏
  • 关注

转载 石油大王洛克菲勒写给儿子的一封关于工作和快乐的信

亲爱的约翰:我可以很自豪地说,我从未尝过失业的滋味。这并非我运气好,而在于我从不把工作视为毫无乐趣的苦役,却能从工作中找到无限的快乐。我认为,工作是一项特权,它带来比维持生活更多的事物。工作是所有生意的基础,所有繁荣的来源,也是天才的塑造者。工作使年轻人奋发有为,比他的父母做得更多,不管他们多么有钱。工作以最卑微的储蓄表示出来,并奠定幸福的基础。工作是增添生命味道的食盐。但人们必须先爱它,

2013-07-24 20:46:44 1970

转载 .年轻人职业生涯的9条忠告

1 工作与生活看看我们的工作轨迹,二三十岁的时候,生活的压力还比较小,身体还比较好,上面的父母身体还好,下面又没有孩子,不用还房贷,也没有孩子要上大学,找个工作,挣得不多也够花了。但是人终归要结婚生子,终归会老,到了40岁,父母老了,要看病要吃药,要有人看护,自己要还房贷,要过基本体面的生活,要养小孩……那个时候需要挣多少钱才够花才?从这个角度上来说,我不太赞成过于关注第一

2013-06-28 21:17:48 937

转载 悲观论“电视已死” 不过是杞人忧天

依据北京等地的电视开机率走低、广告商朝互联网迁移现状,有人断言“电视已死”,笔者觉得这是杞人忧天。 这种情况确实与PC、各种移动终端的冲击有关。身边的人们,在各种场所把玩不停,电视越来越受到冷落。连接互联网的终端确实比电视有很多优势。我们可以看到即时的海量资讯、刷微博,看视频,玩游戏、买东西。但同样可以看到,北京、上海等大城市之外的更多地方,尤其偏远乡镇,电视甚至还是唯一视讯工具。显然

2013-06-28 21:11:08 867

转载 智能电视的发展趋势

摘要:所谓智能电视,是指像智能手机一样,搭载了操作系统,可以由用户自行安装和卸载软件、游戏等第三方服务商提供的程序,开发商可以持续对系统功能进行扩充和升级的新电视产品。  所谓智能电视,是指像智能手机一样,搭载了操作系统,可以由用户自行安装和卸载软件、游戏等第三方服务商提供的程序,开发商可以持续对系统功能进行扩充和升级的新电视产品。 智能电视的类型 智能电视主要有两大类

2013-06-28 21:09:01 730

转载 人在职场 怎样爱上自己的工作

现在,社会发展快、知识更新快、理念变化快,工作变动快。有很多人在一个工作上做了几年,感到工作得心应手、轻车熟路,不再有学习的东西,自己就想换个工作做点新的尝试;也有的人感到自己所在行业、企业没多大发展,就想跳向一个朝阳行业,追求更大的发展。    一、对自己熟悉的行业和工作不要轻言放弃    每个人在经济大潮里游泳,机遇与风险并存,每个从事的行业都象一只股票,高高低低,既随大势,又有自己的

2013-06-28 21:05:50 941

转载 ES流、PES流、TS流的概念

ES流:也叫基本码流,包含视频、音频或数据的连续码流。PES流:也叫打包的基本码流,是将基本的码流ES流根据需要分成长度不等的数据包,并加上包头就形成了打包的基本码流PES流。TS流:也叫传输流,是由固定长度为188字节的包组成,含有独立时基的一个或多个节目,适用于误码较多的环境。 TS流(TransportStream)即在MPEG-2系统中,由视频,音频的ES流和辅助数据复

2013-06-05 20:19:53 3444

转载 如何选择适当的时间跳槽、转行呢?

跳槽、转行的时间选择很有学问,要仔细研究自己所在行业、职位的跳槽、转行时间,选择出适合、适当的时间,不要盲目决定,抓住机遇,为提升自己创造良好的契机。那么,如何选择适当的时间跳槽、转行呢?一、大势时间的选择:1.选择大势来临的时机        如果没有特殊情况,每年职场有两次行情启动,一个是春季2~4月,这时正是春节前后,一些上年工作不如意的或者准备通过跳槽得到提升的人开始纷纷起

2013-05-20 22:00:11 796

转载 Linux下mknod的作用

1. mknod命令用于创建一个设备文件,即特殊文件2. 首先要明白什么是设备文件,简单的我们说 操作系统与外部设备(入磁盘驱动器,打印机,modern,终端 等等)都是通过设备文件来进行通信 的,在Unix/Linux系统与外部设备通讯之前,这个设备必须首先要有一个设备文件,设备文件均放在/dev目录下。一般情况下在安装系统的时候系统自动创建了很多已检测到的设备的设备文件,但有时候我

2013-05-02 21:33:14 16806

转载 内核中的等待队列

我们首先来看看等待队列的组成。等待队列由等待队列头和等待队列项组成。要看的等待队列先要去linux-2.6.35/include/wait.h 。我们来看看等待队列的头的样子:Wait_queue_head_t就是等待队列的头,他的原型是Typedef __wait_queue_head wait_queue_head_t        Struct __wait_queue_

2013-05-01 11:09:27 644

转载 linux驱动中的阻塞访问方式

阻塞与非阻塞是设备访问的两种不同的模式。什么是阻塞操作呢?其是指在执行设备操作的时候,如果不能获得资源,则挂起进程直到满足可操作的条件后再进行操作.而非阻塞操作则是在进程不能进行设备操作时,并不挂起到等待队列,而是放弃或者不断的查询,直到能够进行操作。应用程序以阻塞的方式进行read操作的时候,会调用一个system call,将系统的控制权交给kernel后就进入等待状态,等kernel将这

2013-04-29 15:30:50 827

转载 混“钝”职场

职位的提升需要实力和机遇,更需要自身素质的修炼,当机遇不属于自己的时候,坚持、忍耐也是两位良药。浮躁就是给自己的一切积累清零,忍耐却常常给人带来机遇,使人峰回路转、枯木逢春,职场需要忍耐力。、        在我们的社会上也有很多这样的人,他们总是匆匆选择一个行业或某家公司,总是在做着一件事情时同时想着其他更多的事情,他们把大部分时间都用在了遐想和尝试中,因而无法集中精力和资源做好眼前该做

2013-04-02 20:10:03 551

原创 静态变量

静态变量的类型关键字是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量, 例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。 对于自动变量,它属于动态存储方式。 但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式。 由此看来,一个变量可由static进

2013-03-27 21:40:53 566

转载 数据段、代码段、堆栈段、BSS段的区别

5个数据段       进程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途 不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个普通进程来讲,它都会涉及到5种不同的数据段。Linux进程的五个段下面我们来简单归纳一下进程对应的内存空间中所包含的

2013-03-27 21:35:29 652

转载 10条找工作箴言!让你年末跳槽不再盲目!

又是一年年末,不少职场人又到了新一轮的跳槽“躁动期”。网上铺天盖地的招聘信息,一场接一场的招聘会广告,让不少想跳槽的人“蠢蠢欲动”。但跳槽不是件随意的事儿,正确的跳槽能带来职业的发展,盲目的跳槽只会徒增烦恼。1.在没有作深刻反省和充分调查的情况下,不要在另外一个新的领域寻求出路任何事情都应该三思而后行,新的职业领域更不得贸然进入。唯有通过充分的调查乃至尝试,确定新的工作领域非常适合你的时候

2013-02-04 20:00:28 521

转载 SD卡知识

首先对SD卡有一个感性认识:SD卡的技术是基于MultiMedia卡(MMC)格式上发展而来,大小和MMC差不多,尺寸为32mm x 24mm x 2.1mm。SD卡与MMC卡保持着向上兼容。内部结构: SD卡内部主要分两部分:存储介质(nandflash)和主控制器。主控制器多位以51为核心而设计的专用处理器,内部PLL可以倍频到近100m,带内部DMA,最主要的是SD控制器和NAND控

2013-01-13 11:35:09 1189

转载 Linux内核中断学习

在内核加载模块中最重要的的action就是注册中断处理程序。很明显,这一动作是通过request_irq()函数来完成的。int request_irq(unsigned int irq,  irq_handler_thandler,unsigned long flags, const char *devname, void *dev_id)A.先来分析形参:第一个参数irq: 表示要

2013-01-08 15:34:21 529

转载 Linux下的ioremap函数

void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags)  void *ioremap(unsigned long phys_addr, unsigned long size)  入口: phys_addr:要映射的起始的IO地址;  size:要映射的空

2013-01-05 20:17:24 2050

转载 linux的__iomem的作用

__iomem是2.6.9中加入的特性。是用来个表示指会指向一个I/O的内存空间。主要是为了driver的通用性考虑。由于不同的CPU体系结构对I/O空间的表示可能不同。当使用__iomem时,compiler会忽略对变量的检查(因为用的是void __iomem)。但sparse会对它进行检查,当__iomem的指针和正常的指针混用时,就会发出一些warnings。

2013-01-05 20:10:00 4953

转载 RAM、DRAM、SRAM

RAM (Random Access Memory随机存贮器)是指通过指令可以随机地、个别地对每个存储单元进行访问、访问所需时间基本固定、且与存储单元地址无关的可以读写的存储器。几乎所有的计算机系统和智能电子产品中,都是采用RAM作为主存。SRAM不需要刷新电路即能保存它内部存储的数据。而DRAM(Dynamic Random Access Memory)每隔一段时间,要刷新充电一次,否则内部

2012-12-12 21:21:40 546

转载 S3C2440的时钟体系

S3C2440的时钟控制逻辑既可以外接晶振,然后通过内部电路产生时钟源,也可以通过直接使用外部提供的时钟源,它们可以通过引脚的设置来选择。时钟控制逻辑给整个芯片提供3种时钟:FCLK用于CPU核;HCLK用于AHB总线上设备,比如CPU核、存储器控制器、中断控制器、LCD控制器、DMA和USB主机模块等;PCLK用于APB总线上的设备,比如WATCHDOG、IIS、I2C、PWM定时器、ADC、U

2012-12-12 20:27:04 654

转载 如何规划好自己毕业开始的十年职业生涯?

一是学会最基本的技能,比如听话、做事、沟通的基本技能,比如时间管理,比如安排业余生活与工作的平衡等生命中最基本的技能。这些技能或是情商往往 是教科书里没有教的,有些道理是要经历过才知道。这十年是修身培养品性的十年,如不成则基本不成,如小成则人生小成,如大成则未来的人生终究会走向辉煌。 说好话,做好事,做好人。二是建立一个美满的家庭,维系一个好的人脉圈,这是人生幸福的来源。所有财富,所有成就

2012-12-12 19:58:32 1685

转载 职业规划师告诉你如何迈过职业生涯中的5个坎

职业规划师告诉你如何迈过职业生涯中的5个坎:第一坎:“青黄不接;第二坎:“职业塑造”;第三坎:“职业锁定”; 第四坎:“事业开拓”第五坎:“事业平稳”。如果你遇到了这些坎,或许这篇文章可以帮助你:第一坎:“青黄不接”阶段工作1-3年是职业生涯最“青黄不接”的阶段:你既不像毕业生那么“单纯”,又不像有四五年资历的那样能“独当一面”,正处于“一瓶不满,半瓶晃荡”的状态,那么这时候你如果跳槽找工

2012-12-11 21:00:19 843

转载 中断的处理过程

(1) 中断控制器汇集各类外设发出的中断信号,然后告诉CPU;(2) CPU保存当前程序的运行环境(各个寄存器等),调用中断服务程序(ISR, Interrupt Service Routine)来处理这些中断;(3) 在ISR中通过读取中断控制器、外设的相关寄存器来识别这是哪个中断,并进行相应的处理;(4) 通过读写中断控制器和外设的相关寄存器清除中断,如果不清楚,CPU会误认为该中

2012-12-11 20:59:48 565

转载 NOR Flash和Nand Flash

1. NOR Flash NOR Flash支持XIP,即代码可以在NOR Flash上执行,无需复制到内存中。这是由于NOR Flash的接口与RAM完全相同,可以随机访问任意地址的数据。在NOR Flash上进行读操作的效率非常高,但是擦除和写操作的效率很低;另外,NOR Flash的容量一般比较小,块大小范围一般为64KB~128KB。 2. NAND FlashNAND F

2012-12-11 20:29:03 382

转载 上拉电阻、下拉电阻的作用

当GPIO引脚处于第三态(既不是输出高电平,也不是输出低电平,而是处于高阻态,即相当于没接芯片)时,它的电平状态由上拉电阻、下拉电阻决定。

2012-12-09 20:03:59 523

转载 不允许lseek文件 | nonseekable_open()

使用数据区时,可以使用 lseek 来往上往下地定位数据。但像串口或键盘一类设备,使用的是数据流,所以定位这些设备没有意义;在这种情况下,不能简单地不声明 llseek 操作,因为默认方法是允许定位的。在 open 方法中调用 nonseekable_open() 时,它会通知内核设备不支持 llseek,nonseekable_open() 函数的实现定义在 fs/open.c 中:

2012-12-08 21:16:32 6652

转载 自旋锁(spinlock) 解释得经典,透彻

自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。  由于自旋锁使用者一般保持锁时间非常短,因此选择自旋而不是睡眠是非常必要的,自旋锁的效率远高于互斥锁。  信号量和读写信号量适合于保持时间较长的情况,它们会导致调用者睡眠,因此只能在进程上下文使用(_trylock的

2012-12-08 21:09:56 1104

转载 clk_get、clk_enable和clk_get_rate函数

(1) 对应外设时钟的开启struct clk=clk_get(NULL,"adc");clk.enable();之后adc对应的时钟位就能使能。struct clk *clk_get(struct device *dev, const char *id){    ..........    list_for_each_entry(p, &clocks, list) {

2012-12-08 17:48:38 13596 1

转载 Linux Platform Device and Driver,platform_add_devices()->platform_driver_register()

来自: http://www.diybl.com/course/6_system/linux/Linuxjs/200871/129585.html 从 Linux 2.6 起引入了一套新的驱动管理和注册机制 :Platform_device 和 Platform_driver 。     Linux 中大部分的设备驱动,都可以使用这套机制 , 设备用 Platform_device 表

2012-12-06 22:22:18 672

转载 自旋锁

自旋锁是专为防止多处理器并发而引入的一种锁。它只能被一个内核任务持有,如果一个内核任务试图请求一个已被用(已经 被持有)的自旋锁,那么这个任务就会一直进行“忙循环—旋转 –等待锁重新可用。一个被用的自旋锁使得请求它的线程在等待锁重新可用的期间进行自旋(特别浪费处理器时间),所以自旋锁不应该被持有时间过长。如果需要长时间锁定的话,最好使用信号量。      自旋锁的基本形式如下:

2012-12-04 20:06:32 324

转载 Linux下的中断

1.中断产生       需要中断的原因,是因为外设需要通知操作系统它那里发生了一些事情。设备通过中断线向中断控制器发送高电平,告诉操作系统它产生了一个中断,而操作系统会从中断控制器的状态位知道是哪条中断线上产生了中断。中断线是是实实在在的电路,它们通过硬件接口连接到CPU外的设备控制器上。2.IRQ       并不是每个设备都可以向中断线上发送中断信号的,只有对某一条确定的中断线拥

2012-11-29 21:17:16 356

转载 字符设备与块设备的区别

1.  两者的根本区别是能否被随机访问,也就是说,能否在访问设备时随意地从一个位置跳转到另一个位置。      2. 字符设备按照字符流的方式被有序访问,如串口和键盘就都属于字符设备。      3.块设备只能以块为单位接收输入和返回输出,而字符设备以字节为单位。      4.块设备对于IO请求有对应的缓冲区,因此它们可以选择以什么顺序进行相应,字符设备无需缓冲,且被直接读写。

2012-11-24 16:59:57 1622

原创 动态链接库和静态链接库的区别

LINUX下的库文件分为两大类,分别是动态链接库(通常以.so结尾)和静态链接库(通常以.a结尾)。两者的区别仅在程序执行时所需的代码是在运行时动态加载的,还是在编译时静态加载的。        静态链接库在编译链接时,把库文件的代码全部加入到可执行文件中,所以生成的文件较大,但运行时,就不再需要库文件了。动态链接库正好相反,在编译链接时,没有把库文件的代码加入到可执行文件中,所以生成的文件较

2012-11-19 20:52:31 772

转载 静态存储与动态存储

静态存储变量通常是在变量定义时就分定存储单元并一直保持不变, 直至整个程序结束。动态存储变量是在程序执行过程中,使用它时才分配存储单元, 使用完毕立即释放。 典型的例子是函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配, 调用函数完毕立即释放。如果一个函数被多次调用,则反复地分配、 释放形参变量的存储单元。从以上分析可知, 静态存储变量是一直存在的, 而动态存储变

2012-11-10 15:25:28 483

转载 编译的四个过程

编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。    编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)1.

2012-11-08 20:46:54 1349

原创 句柄

句柄实际上是一种指向某种资源的指针,但与指针又有所不同。  “句柄”(handle),handle的本意是把柄,把手的意思。是你与操作系统打交道的东东。举个通俗的例子,比如你考上了大学,入学后,学校(操作系统)会给你一个学生证号。注意,这个号码是学校指定的,你无法自选。有了这个号码(学生证,假设一证多用)就可以享受学校提供的服务:如你就可以去图书馆借书,去食堂吃饭,去教室上课等等。但你不能到食

2012-10-26 07:56:53 296

转载 揭开linux内核中container_of的神秘面纱

作者:程姚根,华清远见嵌入式学院讲师。在linux 内核中有一个大名鼎鼎的宏container_of(),这个宏是用来干嘛的呢?我们先来看看它在内核中是怎样定义的。呵呵,乍一看不知道是什么东东。我们先来分析一下container_of(ptr,type,member),这里面有ptr,type,member分别代表指针、类型、成员。看一个例子:Struct test

2012-09-25 20:12:26 1099

转载 面试官最不喜欢不认同的5个跳槽理由

No.1 对上份工作不感兴趣(职业兴趣不符)点评:“对上份工作不感兴趣”以“绝对优势”遥遥领先于其他各项理由,由此可见HR们对于这项跳槽理由是多么反感!这项理由无情地暴露出了你没有职业规划,没有考虑过自己喜欢与适合的岗位是什么,不知道自己的优势和劣势是什么,甚至于你根本就不了解自己。这样,即便再找一份新的工作,传达给HR的信息是:你这个人太盲目、不稳定,不稳定就谈不了发展,没发展就会引发一

2012-09-22 08:09:00 872 1

转载 吐糟大部分面试官的必问题:你为何辞职?

有一项调查说明,求职者最不喜欢HR问的问题就是“你为何辞职?”。求职者离职,必然有其原因,比如说工资太低、环境太差、无法适应企业的文化等等。但是求职者再遭遇“你为何辞职?”的时候,往往不敢说真话,他们担心因为这些原因会导致HR对自己不认同,而拒之门外。某君最近面了6份工作,每一个面试官都必问一个问题:你为什么辞职?这过程中,他换了三种答案,都不能令面试官满意,确实让他抓狂了。其实他辞职的理由就

2012-09-13 19:14:44 609

原创 面试方面的感悟

最近参加了几家公司的面试,在面试技巧方面也学到了不少东西,在此总结一下,以便自己在以后面试方面注意使用。         1.在面试公司给的应聘信息表格上,面试者不要如实填写地自己在最后一家公司的工资数目和现在所应聘岗位的最低接受工资,可以空着这两个填空项,或者填比较高的薪资额度。如实地写,只会将自己的底线暴露,对己不利;         2.在HR介绍完本公司,问面试者关于公司方面有什么

2012-09-07 20:26:03 479

GIT使用手册

手册讲的很浅显易懂。

2017-08-04

空空如也

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

TA关注的人

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