摘要: 主要原理: 2440内部集成了LCD控制器,写程序时,2440从内存中读取显存到控制器。 流程: 1. 根据LCD手册,设置LCD控制器。 2. 分配显存,把地址、颜色格式、大小告诉控制器。 开始写代码: 1.开头引入头文件, 2.写出出入口框架,并修饰之,再加协议。 3. static int l 阅读全文
posted @ 2017-10-20 22:51 梦提三尺剑 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 步骤: 1. 分配input_dev 2. 设置 3. 注册 4. 硬件相关操作 1.弄大体框架,init和exit函数写好。末尾加上module_init(xxx_init),和module_exit(xxx_exit)。 2.在init中分配一个input_dev结构体 在外面定一个input_ 阅读全文
posted @ 2017-10-19 10:08 梦提三尺剑 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 一个设备在某一时刻只能由一个应用程序打开,为了防止某一设备同时被两个应用程序打开,可以设置一个全局变量。 调用设备的open函数后,变量值减一;调用关闭函数后,变量值加一。 如果第二个程序进入了设备,因为状态值已为0,所以无法打开。 分解该过程,其可分为三项: a.读出变量值 b.修改 c.写会 L 阅读全文
posted @ 2017-10-15 17:48 梦提三尺剑 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 先写一个测试函数: #include <stdio.h> #include <signal.h> //signal函数的需要 设置信号处理函数!!!用signal1. void my_signal_fun(int signum) { static int cnt = 0; printf("signa 阅读全文
posted @ 2017-10-15 16:18 梦提三尺剑 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 在Linux内核中用于申请中断的函数是request_irq(),函数原型为: int request_irq(unsigned int irq , irq_handler_t handler , unsigned long irqflags, const char *devname , void 阅读全文
posted @ 2017-10-14 18:44 梦提三尺剑 阅读(111) 评论(0) 推荐(0) 编辑
摘要: free_irq(IRQ_EINT17 , 3); free_irq(IRQ_EINT219, 4); 参数为中断号和ID return 0; } 内核有个函数为: int up = s3c2410_gpio_getpin(button_irqs->pin);读取 用switch写太麻烦,可以用结构 阅读全文
posted @ 2017-10-13 20:10 梦提三尺剑 阅读(236) 评论(0) 推荐(0) 编辑
摘要: start: mov sp, #4096 bl c main halt b 8 mov ip, sp stmdb sp!, {fp,ip,lr,pc} sub fp, ip ,#4; 0x4 sub sp, sp, #8 0x8 mov r3,#1442840576 0x56000000 add r 阅读全文
posted @ 2017-09-29 10:23 梦提三尺剑 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 2440的GPIO有ABCDEFGHJ多个组,分别由25,11,16,16,16,8,16,9,13 怎么让GPF4输出1/0? 1.功能为输出引脚 2.设置输出电平 NAND NAND FLASH大小为256M NOR FLASH大小为2M 启动过程:都从0地址开始启动 几条汇编代码: LDR l 阅读全文
posted @ 2017-09-25 23:12 梦提三尺剑 阅读(279) 评论(0) 推荐(0) 编辑
摘要: file 目的: 识别文件类型 格式:file 文件名 Linux下一切皆为文件 举例: file ~/.bashrc 为ASCII 编码的文本文件 file ~/.vimrc 为UTF-8 Unicode编码的text类型 file /bin/pwd 出现ELF 64-bit LSB execut 阅读全文
posted @ 2017-09-25 20:44 梦提三尺剑 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 只为了让自己不跟身边的傻逼一样 阅读全文
posted @ 2017-09-16 21:22 梦提三尺剑 阅读(68) 评论(0) 推荐(0) 编辑