自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (7)
  • 收藏
  • 关注

原创 linux字符设备驱动例子

无聊,照着书上边抄边写,贴上来共享一下,非常不规范,仅供娱乐/********************************************************#include #include MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){    printk(KERN_EMERG "H

2012-04-25 15:47:19 352

原创 码农与大牛

在这个浮躁的社会环境中有相当一部分人见多识广、能说会道,大家都说他们很聪明。但是为什么只有凤毛菱角的人能够成为智者。读史使人明智。现在很多的理论都是从人类的历史长河中提炼出来的。大部分人都只是知道并且使用这些经过升华的理论,并不会去归本溯源追述来源以及形成原因和形成环境,所以他们很难创造新的理论。

2012-04-18 13:29:47 344

原创 GT2440启动过程

一下为个人分析结果,可能存在错误。GT2440可以分两种启动方式:1.从nor flash启动;2.从nand flash启动;GT2440启动时存在一个地址映射问题,因为GT2440启动总是从0x0这个地址开始的下面就两种启动方式分别做一下介绍1.从nor flash启动当从nor flash启动系统时,就直接将nor flash映射到系统的bank0,只要nor flash中有

2012-04-11 09:46:51 905 1

转载 Linux内核中等待队列的几种用法

Linux内核里的等待队列机制在做驱动开发时用的非常多,多用来实现阻塞式访问,下面简单总结了等待队列的四种用法,希望对读者有所帮助。1. 睡眠等待某个条件发生(条件为假时睡眠):    睡眠方式:wait_event, wait_event_interruptible            唤醒方式:wake_up (唤醒时要检测条件是否为真,如果还为假则继续睡眠,唤醒前一定要

2012-04-06 13:22:07 304

原创 linux内核组成

linux内核主要由以下几个部分组成1.模块加载函数模块加载时,模块的加载函数会自动被内核执行,完成本模块的相关初始化工作例:static int __init init_function(void){        //初始化代码        }module_init(init_function);2.模块卸载函数模块卸载时,模块的卸载函数会自动被内核执行,完成

2012-04-05 13:44:24 441

原创 linux内核空间与用户空间互访操作

由于内核空间与用户空间不能直接互访,所以需要借助函数调用来完成1.unsigned  long  copy_from_user(void  *to,const  void  __user  *from,unsigned  long  count);此函数将用户空间内容复制到内核空间,复制成功返回0否则返回不能被复制的字节数2.unsigned  long  copy_to_user(v

2012-03-31 13:57:49 461

原创 MTK黑白屏调试注意点

1.get_lcd_frame_buffer_address();通过这个函数可以得到frame的首地址2.RGB -> BWRGB图像到BW图像的转换算法3.刷数据的方向一般黑白屏都是一个page一个page刷数据的,所以通过get_lcd_frame_buffer_address();得到的数据需要整理后再送到屏幕上

2012-03-30 15:55:50 1924

原创 linux内核定时器

简单介绍一下linux提供内涵定时器的相关数据结构struct timer_list {       struct list_head entry;        unsigned long expires;//定时器到期时间        void (*function)(unsigned long);//定时器到期后执行的函数        unsigned long da

2012-03-30 14:45:01 358

原创 linux原子操作

原子操作指的是在执行过程中不会被别的代码路径所中断的操作,下面列出原子操作相关的函数1.void atomic_set(atomic_t  *v,int  i); //设置原子变量的值为i2.atomic_t  v = ATOMIC_INIT(0); //定义原子变量V并初始化为03.atomic_read(atomic_t  *v); //返回原子变量的值4.void  atom

2012-03-27 17:34:28 1834

原创 FM搜台数量控制

修改宏NVRAM_EF_FM_RADIO_CHANNEL的值

2012-03-26 10:15:33 562

原创 MTK平台支持T卡热拔插

1.配置相关的中断2. 关闭宏__MSDC_NOT_SUPPORT_HOT_PLUG__ ,打开__MSDC_CD_EINT__    #CUSTOM_OPTION     +=  __MSDC_NOT_SUPPORT_HOT_PLUG__  __EXTEND_QWERTY_KEYPAD__     CUSTOM_OPTION     +=  __MSDC_CD_EINT__ __EX

2012-03-26 10:11:48 1773

转载 linux下vim命令详解

高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx     开始记录宏,并将结果存入寄存器xq     退出记录模式@x     播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,

2012-03-26 09:50:44 196

原创 C51单片机开发小感

虽说做驱动也有几个月了,以前只是将别人完成的驱动添加到项目中,基本不用去关注性能以及空间问题。                前段时间公司给安排了一个自主研发的项目,用C51单片机控制SLIC以及GSM模块去实现固话无线通话功能。项目的难度对于一个合格的驱动工程师来说也许是小菜一碟,但是对我这个半路出家,进入这个行业才几个月的小菜来说简直是无法想象。                刚一拿到

2011-11-09 19:09:02 415

原创 浅谈一下对汇编语言的认识

最近由于下班后没什么事就学习了一下汇编语言。          原来我们用的电子设备大到航天飞机,小到电子手表,或多或少都用到了汇编语言,看来在这个物联网的时代,汇编语言还是有用武之地的。          以前听说汇编语言有多么的难什么的,现在看来确实是有点。感觉汇编语言的语法没有高级语言那么好理解。本人记忆力天生就不是很好,恰巧汇编要记的指令又特别多,而且不像高级语言那样贴近正常人的思

2011-10-20 22:07:16 1446

原创 凡是有交换的地方就会繁荣

凡是有交换的地方就会繁荣。       植物呼入二氧化碳呼出氧气与人交换才有了生态平衡。      技术亦是如此,有交换才有创新。国内公司并不缺乏逻辑思维超强技术资深的工程师,也不缺乏思维发散有品位、思想前卫的创新人才。怎样让二者思想很好的交换结合是管理层需要思考的问题。

2011-10-18 20:45:19 366

原创 做事态度很重要

做任何事都要尽自己最大的努力,不可以因为惰性而找任何借口去推脱,切记切记。己在行,人在看!!!!!!

2011-10-12 21:46:44 286

原创 对聊天的看法

每当别人说出一些显而易见的观点时,我总是不知道如何去接下一句,只能回答“是的”或者是一笑而过。并不是不想继续聊下去,他们根本就是为了聊天而去聊天,说出的观点并不是自己经过思考后得出的结论,而且大部分人喜欢批判别人的观点,用网上看来得东西不管对错的反驳。这样的聊天个人觉得没有什么意

2011-10-07 22:50:55 388

原创 ARM乘法指令与乘加指令

乘法指令与乘加指令1.MUL          32位乘法指令2.MLA          32位乘加指令3.SMULL        64位有符号乘法指令4.SMLAL        64位有符号乘加指令5.UMULL        64位无符号乘法指令

2011-09-16 18:15:19 4225 1

原创 ARM指令集中的跳转指令

ARM程序中如何实现跳转1.       使用专门的跳转指令2.       直接向PC写人要跳转的地址 向PC写人地址在可以任意可以寻址的范围内任意跳转,然而跳转指令只能在当前指令向前或向后的32M的地址空间跳转 跳转指令包括:1.       B

2011-09-15 22:10:57 835

原创 Linux的I2C体系结构

Linux的I2C体系结构分为3个组成部分1.       I2C核心2.       I2C总线驱动3.       I2C设备驱动 Linux下实现I2C驱动的主要工作1.       提供I2C适配器的硬件驱动2.       提供I2C适配器的

2011-09-14 21:28:40 432

原创 I2C总线驱动

//////////////I2C.h//////////#define I2C_SCL=0     ()#define I2C_SCL=1     ()#define I2C_SDA=0     ()#define I2C_SDA=1     ()#

2011-09-14 20:21:48 292

原创 linux内核字符设备驱动相关的函数以及结构体

1. struct cdev {         struct kobject kobj;         struct module *owner;         const struct file_operations *ops;         struc

2011-09-13 21:39:32 495

A股创业板历史数据

A股创业板历史数据,供金融爱好者分析学习。如需沪深所有数据请单独联系

2019-01-28

u-boot-2012.07 .tar.bz2

u-boot-2012.07 .tar.bz2

2012-12-23

LCM调试中切屏解决方法.doc

通过VSYNC模式解决LCM调试中切屏问题,介绍了调试过程中的具体问题细节

2012-12-22

liunx块设备有助于理解的一幅图

liunx块设备有助于理解的一幅图,也许对大家没什么用

2012-04-05

uc/os-ii源码

uc/os-ii源码,提供给他家学习交流,多多交换心得

2012-03-30

μC_OS-Ⅱ中文资料大全

μC_OS-Ⅱ中文资料大全,我喜欢简单明了

2011-09-14

GNU make中文手册

GNU make中文手册 为什么要二十个字,我喜欢简单明了

2011-09-14

空空如也

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

TA关注的人

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