念愿
码龄14年
关注
提问 私信
  • 博客:165,357
    社区:1,752
    167,109
    总访问量
  • 25
    原创
  • 2,161,995
    排名
  • 49
    粉丝
  • 0
    铁粉

个人简介:我是年轻一族,有梦想,想成功!

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2010-09-12
博客简介:

念愿的专栏

博客描述:
新的起点,启程,那向往的地方。
查看详细资料
个人成就
  • 获得33次点赞
  • 内容获得27次评论
  • 获得161次收藏
创作历程
  • 2篇
    2013年
  • 28篇
    2012年
  • 1篇
    2011年
成就勋章
TA的专栏
  • Linux设备驱动入门
    18篇
  • Linux相关
    8篇
  • Web相关
  • 综合
    4篇
  • Android相关
    2篇
兴趣领域 设置
  • 数据结构与算法
    数据结构
  • 软件工程
    性能优化
  • 学习和成长
    面试
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Linux开机启动过程分析

开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径。启动第一步--加载BIOS当 你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关 信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息
转载
发布博客 2013.03.07 ·
1274 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

LCM模块闪屏现象分析

摘要:手机模块在手机上显示时,会出现闪屏现象,本文对闪屏产生的原因进行初步的分析,并提出了一些改善的方法。关键词:TFT;LCM;FLICKER;VCOM;频率;扫描方向;PWM;横条纹。一、闪屏现象综述。    手机模块多采用TFT和CSTN模块,主要为TFT模块,闪屏在所有不良现象中占了很大的比重,主要是因为很多外部环境的影响都会造成闪屏,而且由于测试环境的不同,同样加大了分析的难
转载
发布博客 2013.01.09 ·
5633 阅读 ·
2 点赞 ·
0 评论 ·
19 收藏

sysfs接口函数到建立_DEVICE_ATTR

sysfs接口:函数宏DEVICE_ATTR原型:#define DEVICE_ATTR(_name, _mode, _show, _store)      struct  device_attribute  dev_attr_##_name = __ATTR(_name, _mode, _show, _store)如对设备的使用  DEVICE_ATTR  ,对总线使用  BUS_A
转载
发布博客 2012.11.06 ·
1471 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Android系统makefile文件(Android.mk)组织结构

参考blog:http://blog.csdn.net/kobeyxyx/article/details/6614970一. main.mk1、检查版本号,设置环境变量(BUILD_SYSTEM)和缺省的目标。$(MAKE_VERSION) >= 3.81,BUILD_SYSTEM= build/core2、包含文件BUILD_SYSTEM/config.mk。根据配置信息和主机目标机
转载
发布博客 2012.09.25 ·
6110 阅读 ·
3 点赞 ·
0 评论 ·
7 收藏

内核树的建立及其Hello World 模块的加载

内核树的建立及其Hello World 模块的加载       每每到了一定程度过后,对自己所做过的事,看过的书等做一些总结是很有必要的。初学驱动编程,面对的第一个难题就是这个驱动编程该怎么学,入门是关键。在前辈们推荐下和在网上搜索中,得出结论:不知道怎么学和该学些什么,那就看这两本书:O'REILLY写的《LINUX设备驱动程序》和宋宝华的《LINUX设备驱动程序(第3版)》,或者你有兴趣的
原创
发布博客 2012.09.20 ·
1874 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

关于EXPORT_SYMBOL的作用浅析

在查看内核驱动代码的时候会经常看到在一些函数后面总会跟EXPORT_SYMBOL()这样的宏定义,通过网上查阅,它的作用大致总结如下:1、定义说明     把内核函数的符号导出,也可以理解成将函数名作为符号导出;符号的意思就是函数的入口地址,或者说是把这些符号和对应的地址保存起来的,在内核运行的过程中,可以找到这些符号对应的地址的。2、相关处理     (1)、对编译所得的.ko进
原创
发布博客 2012.09.20 ·
18743 阅读 ·
7 点赞 ·
0 评论 ·
24 收藏

Linux设备中的并发控制

并发执行的唯一原因是:硬件中断服务。内核代码是可抢占的。什么是竞争?当 2 个执行的线路[有机会操作同一个数据结构(或者硬件资源), 混合的可能性就一直存在。避免竞争方法:       在你设计驱动时在任何可能的时候记住避免共享的资源. 如果没有并发存取, 就没有竞争情况. 因此小心编写的内核代码应当有最小的共享. 这个想法的最明显应用是避免使用全局变量. 如果你将一个资源放在多个执行
原创
发布博客 2012.09.20 ·
1231 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Ubuntu12.04下在Android4.0.4源码下载及其编译过程

一、下载源码1、下载工具repo:https://android.googlesource.com/tools/repo/在本地目录建个bin的文件夹,进入bin文件夹;通过git下载:git clone https://android.googlesource.com/tools/repo下载完成后,进入repo文件夹,切换到稳定分支:git checkout -b stable
原创
发布博客 2012.09.15 ·
6426 阅读 ·
2 点赞 ·
3 评论 ·
4 收藏

Linux设备驱动入门----USB设备驱动

/**************************************** * USB主机与设备驱动 * 主机侧:由底到高:USB主机控制器硬件--> * USB主机控制器驱动--> USB核心层 --> USB * 设备驱动层 * 设备侧:UDC驱动程序、Gadget API和Gadget * 驱动程序 * 逻辑组织:设备(1) 配置(n) * 配置
原创
发布博客 2012.08.20 ·
3051 阅读 ·
1 点赞 ·
2 评论 ·
1 收藏

三种数据库驱动包

发布资源 2012.08.17 ·
rar

Linux设备驱动入门----I2C设备驱动

/* * I2C驱动的一些模板: * (1)、I2C总线驱动的的模块加载和卸载函数模板 * (2)、I2C总线通信方法 * (3)、I2C设备驱动模块的加载和卸载 * (4)、I2C设备驱动的文件操作接口 * (与普通驱动的文件操作一致,只是要使用 * i2c_client,i2c_driver,i2c_adapter,i2c_algorithm * 结构体和I2C
原创
发布博客 2012.08.13 ·
1578 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

S3C2410 I2C主机驱动

发布资源 2012.08.13 ·
rar

异步:fasync_struct

这一节主要在上一节中添加了异步通知的功能,要注意观察和对比该字符设备的驱动是怎样一步步完善的。补充一下小知识:异步通知的意思是一旦设备就绪,就主动通知应用程序,这样应用程序根本读不需要查询设备状态。#include #include #include #include #include #include #include #include #include #incl
原创
发布博客 2012.08.07 ·
4594 阅读 ·
5 点赞 ·
1 评论 ·
5 收藏

信号量和队列:semaphore and wait_queue_head_t

这一次是在globalmem的字符设备驱动的基础上,增加了并发控制(也就是多进程多共享资源的访问的控制),还增加了阻塞I/O 和poll轮询操作,因为我还是菜鸟,有很多东西还不懂,希望与大侠能指点学习Linux设备驱动的要点和关键点。还是看代码吧#include #include #include #include #include #include #include #in
原创
发布博客 2012.08.07 ·
2399 阅读 ·
3 点赞 ·
2 评论 ·
0 收藏

Linux设备驱动入门----globalmem字符设备驱动

/* globalmem字符设备驱动 * 作者:liwei.cai * 日期:2012-08-03 * globalmem.c */#include #include #include #include #include #include #include #include #include #include #include #define GLOBALMEM
原创
发布博客 2012.08.06 ·
2191 阅读 ·
1 点赞 ·
2 评论 ·
2 收藏

碎纸片中的我的大学

碎纸片中的我的大学—— 以此来纪念我的青春我的大学            还记得初中高中的语文老师们都说,写作文最难的就是开头,这也刚好印证了那句古话:“万事开头难……”,于是我的回忆也从这里开启。记得那还是小时候吧,但或许也不小了,都是青春年少的好时光,每每在周记日记的开头都会对时间的流逝感叹一回,什么“一转眼”,什么“不经意”,感叹时间的苍茫和无情,感叹白驹过隙留不住青春,
原创
发布博客 2012.08.04 ·
5120 阅读 ·
3 点赞 ·
1 评论 ·
1 收藏

linux驱动入门---test驱动模块加载

编写一简单的字符驱动程序,这里的设备也就是一段内存,实现简单的都写功能, 并列出常用格式的Makefile已经驱动加载和卸载脚本。/* test_drv.c */#include #include #include #include #include #include #include #include #include #define TEST
原创
发布博客 2012.08.01 ·
1977 阅读 ·
0 点赞 ·
6 评论 ·
1 收藏

vim常用命令

一. VIM高亮进入vim后,在普通模式下输入如下命令,开启php代码高亮显示   :syntax enable   :source $VIMRUNTIME/syntax/php.vim 二. VI常用命令_______________________________________________________一般模式
转载
发布博客 2012.07.25 ·
1096 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Ubuntu10.04不能安装grub到/dev/sda,实现bootloader

方法一:启动不了内核,开机过后出现:命令输入我ls了一下,看到有(hd0,1)(hd0,10)(hd0,2)....set root=(hd0,1)linux /boot/vmlinuz-2.6.32-25-generic root=/dev/sda8initrd /boot/initrd.img-2.6.32-25-genericboot成功的启动了linux,之
原创
发布博客 2012.07.24 ·
20155 阅读 ·
1 点赞 ·
2 评论 ·
5 收藏

消息:ftok(), msgget(), msgsnd(),msgrcv(),msgctl()

/* * msgsnd.c * * Created on: 2012-7-20 * Author: liwei.cai *///以下是消息队列发送端的代码,与接收端配合使用,//输入字符串quit时退出程序,其他字符串发送#include #include #include #include #include #include #include #de
原创
发布博客 2012.07.21 ·
1835 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏
加载更多