自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

转载 arm 驱动进阶:nor flash 驱动程序设计

nor flash 驱动程序设计流程:nor flash 驱动程序内核识别分析:analysis codeNOR FLASH识别过程:do_map_probe("cfi_probe", s3c_nor_map); drv = get_mtd_chip_driver(name) ret = drv->probe(map); // c...

2012-06-10 16:52:00 154

转载 arm 驱动进阶:nand flash 驱动程序设计

nand flash 驱动内核实现分析过程:analysis codes3c2410_nand_inithws3c2410_nand_init_chipnand_scan // drivers/mtd/nand/nand_base.c 根据nand_chip的底层操作函数识别NAND FLASH,构造mtd_info nand_scan_ident...

2012-06-10 08:47:00 206

转载 arm 驱动进阶:块设备驱动程序程序设计之用内存模拟磁盘

程序设计实现过程:块设备内核实现分析过程:analysis code分析ll_rw_block for (i = 0; i < nr; i++) { struct buffer_head *bh = bhs[i]; submit_bh(rw, bh); ...

2012-06-04 23:13:00 185

转载 arm 驱动进阶:usb驱动程序设计过程与实现

usb驱动程序设计实现步骤:usb总线驱动内核代码分析过程:analysis codehub_irq kick_khubd hub_thread hub_events hub_port_connect_change ...

2012-06-03 21:57:00 245

转载 arm 驱动进阶:触摸屏驱动程序实现

触摸屏响应过程:触摸屏程序代码实现:s3c_ts.c#include <linux/errno.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/slab.h>#include <linux/input...

2012-06-03 10:41:00 297

转载 arm 驱动进阶:lcd驱动设计过程

lcd驱动设计实现流程图:驱动代码实现:lcd.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/errno.h>#include <linux/string.h>#include <linux/mm.h&gt...

2012-05-27 10:49:00 252

转载 arm 驱动进阶:驱动程序总线设备驱动模型

总线设备驱动模型关系图:驱动程序总线设备驱动模型代码编写步骤:device、driver、app led驱动实例:device代码实现:led_drv.c#include <linux/module.h>#include <linux/version.h>#include <linux/i...

2012-05-23 11:27:00 103

转载 arm 驱动进阶:编写输入子系统的驱动程序

编写输入子系统的驱动程序步骤:驱动程序代码实现:buttons.c/* 参考drivers\input\keyboard\gpio_keys.c */#include <linux/module.h>#include <linux/version.h>#include <linux/init.h>#in...

2012-05-22 16:06:00 81

转载 arm 驱动进阶:输入子系统概念及架构

输入子系统由驱动层、输入子系统核心、事件处理层三部分组成,个输入事件,如鼠标移动、键盘按下等通过Driver->Inputcore->Event handler->userspace的顺序到达用户控件的应用程序。驱动层:将底层的硬件输入转化为统一事件形式,想输入核心(Input Core)汇报。输入子系统核心:承上启下。为驱动层提供输入设备注册与操...

2012-05-22 11:25:00 75

转载 arm 驱动基础:字符设备驱动程序之定时器防振动

实现原理图:驱动程序实现:buttons.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#i...

2012-05-20 11:33:00 95

转载 arm 驱动基础:字符设备驱动程序之同步互斥阻塞

1.原子操作:原子操作指的是在执行过程中不会被别的代码路径所中断的操作。常用的原子操作函数举例:crucial_code// 定义初始化原子变量atomic_t *v = ATOMIC_INIT(1);// 读取并返回原子变量的值atomic_read(atomic_t *v);// 原子变量加1atomic_int(atomic_t *v...

2012-05-19 12:53:00 100

转载 arm 驱动基础:字符设备之异步通信:按键中断,通知应用程序

实现原理图:异步通信关键代码:crucial_codeAPP:signal(SIGIO, my_signal_fun);fcntl(fd, F_SETOWN, getpid());int Oflags = fcntl(fd, F_GETFL);fcntl(fd, F_SETFL, Oflags | FASYNC);DRIVE:...

2012-05-18 21:00:00 88

转载 为人处世:处世22条忠告

   1.坚持看CCTV-1新闻联播。 要想把握经济命脉,必须关注政局,新闻联播图文并茂,有声有色,着实为中国商人的最佳晴雨表;你可以不看财经报道,也可以不看焦点访谈,如果你不是做石油和外汇的,甚至你都可以不去管类似9.11事件和中东局势。 2.不要轻易相信合约或合同 哪怕合约让你的律师看过了,公证处公证了都不要轻易相信,甚至当你的客户把钱已经...

2012-05-18 18:04:00 133

转载 arm 驱动基础:poll 机制实现过程

  poll函数  poll函数起源于SVR3,最初局限于流设备。SVR4取消了这种限制,允许poll工作在任何描述字上。poll提供的功能与select类似,不过在处理流设备时,它能够提供额外的信息。  1.#include <poll.h>  2.int poll(struct pollfd *fdarray, unsigned long nfds, int ...

2012-05-18 15:04:00 116

转载 arm 驱动基础:字符设备中断实现过程(内核->驱动->应用)

内核:request_irq(riq, handle, irqflags, devname, devid); 的实现过程中断驱动及应用程序设计整体思路:驱动程序代码实现过程:third_drv.c#include <linux/module.h>#include <linux/kernel.h>#...

2012-05-17 08:03:00 102

转载 arm 驱动基础:字符设备驱动一般开发步骤

转载于:https://www.cnblogs.com/ITmelody/archive/2012/05/16/2504115.html

2012-05-16 15:49:00 124

转载 arm 驱动基础:查询方式的按键驱动程序

原理图:驱动程序代码:second_drv.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#...

2012-05-16 15:31:00 161

转载 arm 驱动基础:通过次设备号精确控制led亮灭

原理图:驱动程序代码:myleds.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#incl...

2012-05-16 10:52:00 112

转载 arm 驱动基础:点亮led_firt

原理图:驱动程序代码实现:first_drv.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#i...

2012-05-15 23:25:00 160

转载 arm 基础:Poll机制分析(转韦东山)

最近看了一下Linux Poll 机制的实现,看了韦老师的分析文档,总结如下:int poll(struct pollfd *fds,nfds_t nfds, int timeout);总的来说,Poll机制会判断fds中的文件是否可读,如果可读则会立即返回,返回的值就是可读fd的数量,如果不可读,那么就进程就会休眠timeout这么长的时间,然后再来判断是否有文件可读,如果有,...

2012-05-13 23:58:00 89

转载 arm 基础:深入分析request_irq的dev_id参数作用

request_irq的作用是申请使用IRQ并注册中断处理程序。request_irq()函数的原型如下:/* kernel/irq/manage.c */int request_irq(unsigned int irq, irqreturn_t (*handler)(int, void *, struct pt_regs *), unsigned long irqflags...

2012-05-12 09:58:00 62

转载 c基础编程:八皇后问题(递归算法)

#include <stdio.h>#include <cstdlib>int eight_array[8] = {0};int count = 0;void printf_image(){ printf("\n 第 %d 种方案 \n",++count); for(int i = 0; i < 8; ++i)...

2012-04-26 13:32:00 124

转载 arm 基础:日常基础知识整理

1.堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。 要点: 堆:顺序随意 栈:后进先出(Last-In/First-Out)编辑本段堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,...

2012-04-24 22:07:00 120

转载 arm 基础:详解C中volatile关键字

volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:short flag...

2012-04-18 21:28:00 555

转载 嵌入式面试:想成为嵌入式程序员应知道的0x10个基本问题

想成为嵌入式程序员应知道的0x10个基本问题  C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。  从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识...

2012-04-17 13:10:00 81

转载 arm 基础:可重入函数与不可重入函数的理解

引用:  这主要在多任务环境中使用,一个可重入的函数简单来说,就是:可以被中断的函数。就是说,你可以在这个函数执行的任何时候中断他的运行,在OS的调度下去执行另外一段代码而不会出现什么错误。而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等等,所以他如果被中断的话,可能出现问题,所以这类函数是不能运行在多任务环境下的。把一个不可重入函数变成可重入的唯一方法是...

2012-04-17 09:33:00 228

转载 系统构建:根文件系统制作

制作根文件系统一、创建根文件系统目录mkdir rootfscd rootfsmkdir bin dev etc lib proc sbin sys usr mnt tmp varmkdir usr/sbin usr/bin usr/lib usr/modules二、创建文件设备cd devmknod –m 666 console c 5 1...

2012-04-14 12:59:00 51

转载 技术随笔:深入理解指针数组,数组指针,指向指针的指针,数组名含义

(1)指针数组是一个数组,里面包含若干指针,指针数组名是指向指针的地址,可赋值给指向指针的指针。  int* a[]={"hello" ,"world","!"}; int **p=a;(2)数组指针是一个指针,指向整个数组。 如 int v[2][3]={{1,2,3},{4,5,6}} ; int b[3]={7,8,9};...

2012-03-10 10:02:00 112

转载 编程资源:嵌入式资源网站

嵌入式资源网站一 、MailList1.MailList大全网址:http://news.gmane.org/描述:可以查到绝大部分开源项目的Maillist记录,如bluez、uboot等。碰到问题可以在里面搜索一下,相当方便。二、技术论坛1.ChinaUnix技术社区网址:http://bbs.chinaunix.net/index.ph...

2012-03-03 14:50:00 176

转载 c基础编程:(2)根据利润计算奖金

题目:企业发放的奖金根据利润提成。  利润低于或等于10万元时,奖金可提10%;  利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;  20万到40万之间时,高于20万元的部分,可提成5%;  40万到60万之间时高于40万元的部分,可提成3%;  60万到100万之间时,高于60万元的部分,可提成1.5%;...

2012-03-02 20:17:00 336

转载 c基础编程:(1)四个数中选出所有无重复数字的三个数

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。代码:4select3.c#include "stdio.h"int main(int argc, char *args[]) { int limit = 4; Count(li...

2012-03-02 19:12:00 792

转载 历程感悟:行动,没有借口

  昨天出差的路上和同事聊天,她说起自己一个前同事的故事,让大家听了无限感慨。那个男生在很小的时候父母就离婚了,之后父母都不再管他,他和爷爷奶奶一起生活,其实说白了,他应该算是被父母抛弃了。祖父母靠自己微薄的收入和时不时的向同村人借钱养育他,供他上学。念到高二的时候,他就辍学了,因为祖父母再也没有能力,也借不到钱了替他交学费了。没法上学了他就出门打工,一开始在一个模型公司打工,因为头脑灵...

2012-02-29 20:18:00 112

转载 技术随笔:求y=(x++)/(--x)的分析过程

求解输出y的值:package ITCast;class outer { public static void main(String[] args) { int x = 2; int y = (x++)/(--x); System.out.println(y); }}分析过程:  0. 假设x 所在的寄存器...

2011-12-18 16:15:00 254

转载 技术随笔:计算某char变量bit位为1的总数目

通过移位实现:#include <stdio.h>size_t func( char x ) {   x = (x & 0x55) + ((x>>1) & 0x55);  x = (x & 0x33) + ((x>>2) & 0x33);   x = (x & 0x0f) + ((x>&gt...

2011-12-16 11:17:00 207

转载 arm 基础:Nand Flash与Nor Flash的区别

Nand Flash与Nor Flash  NOR的特点是芯片内执行(XIP,eXecute InPlace),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。优点是可以直接从FLASH中运行程序,但是工艺复杂,价格比较贵,NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。  NAN...

2011-12-14 15:53:00 144

转载 linux基础:configure 参数解释

Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后再安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不 离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。'configure'脚本有大量的命令行选项.对不同的软件包来说,这些选项可能会有变化,但...

2011-12-07 09:58:00 57

转载 linux基础:串行通讯口COM1、COM2

  串行通讯口COM1、COM2  --学习笔记  一、串口通信的基本原理.    串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。 在Windows环境(Windows NT、Win98、Windows2000)下,串口是系统资源的一部分。 应用程序要使用串口进行通信,...

2011-12-07 08:56:00 857

转载 历程感悟:认真对待人生的每个阶段

摘自:http://zhichang.umiwi.com/2011/1202/51285.shtml                  月薪3万的感悟  先谈谈本人的经历,本人15岁开始打工。刚开始是半工读,利用暑期假日等做临促和兼职模特。半年后索性休学做起全职促销员。04年来到深圳,从刚开始的月薪1600元,到现在 的月薪三万元。今年在福田买了套一居室,办完这件大事下来,我突...

2011-12-02 18:06:00 148

转载 android-基础知识:编写高效的android代码

摘自:http://www.cnblogs.com/mudoot/archive/2011/11/16/Writing_Efficient_Android_Code.html,以便后记.对于占用资源的系统,有两条基本原则:    不要做不必要的事    不要分配不必要的内存 1.避免建立对象      除非必要,应尽量避免尽力对象的实例。    当你从用户输...

2011-11-30 08:03:00 73

转载 linux基础:进程控制

linux 进程学习整理,与备后记.1、程序和进程1.1 程序    程序(program)是存放在磁盘文件中的可执行文件。1.2 进程和进程ID     程序的执行实例被称为进程(process)。某些操作系统用任务表示正被执行的程序。    每个linux进程都一定有一个唯一的数字标识符,称为进程ID(process ID)。进程ID总是一非负整数。...

2011-11-27 21:23:00 84

空空如也

空空如也

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

TA关注的人

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