文章分类 -  嵌入式linux设备驱动

摘要:烧写根文件系统到emmc的第三个分区: PC端: ARM端: a. ls /dev/mmcblk0p* b.[root@localhost share_arm_development_mi]# cp tools/Linux/rootfs_qtopia_qt4-20140124.tar.gz /roo 阅读全文
posted @ 2017-06-10 13:49 bkycrmn 阅读(611) 评论(0) 推荐(0)
摘要:将boatloader从SD卡烧写到EMMC(4G)的第一分区: 注意:sd卡要从1逻辑块烧,emmc要从0逻辑块开始烧。一个逻辑快512字节。 emmc分为四个分区: 第1个分区存放:bootloader 的4个文件(bl1,bl2,uboot.bin,tzsw) //bl2.bin在制作SD启动 阅读全文
posted @ 2017-06-10 13:44 bkycrmn 阅读(622) 评论(0) 推荐(0)
摘要:烧写liunx内核到emmc的第二分区:1.编译linux内核cd shared_arm_development/tools/Linuxtar -jxvf linux-3.5-20150229.tar.bz2 -C / (-C 可以将文件解压到指定目录下)cd /linux-3.5cp millet 阅读全文
posted @ 2017-06-10 13:40 bkycrmn 阅读(390) 评论(0) 推荐(0)
摘要:第三方boatloader的编译,并烧写进SD卡1.在PC端解压uboot: tar -jxvf uboot_tiny4412-20130730.tar.bz2 cd uboot_tiny4412 内核地址一般放在起始地址+8000的位置,所以是40008000. vim include/confi 阅读全文
posted @ 2017-05-03 11:51 bkycrmn 阅读(325) 评论(0) 推荐(0)
摘要:0.fdisk -l 查看设备节点,一定必须根据存储设备的真实大小确定设备节点 1.fdsik /dev/sdc(真正的设备节点) m是帮助指令 p 查看原有的分区 d删除原有的分区,需要确认删除的分区号 n新建分区 (sd卡操作的最小单位位磁柱) p 选 分区的起始磁柱号,和分区结尾磁柱号 q 退 阅读全文
posted @ 2017-05-03 08:49 bkycrmn 阅读(196) 评论(0) 推荐(0)
摘要:按键事件信息之上报绝对事件信息之上报相对事件信息之上报功能键驱动编写多点触控事件的上报 只产生数据的一类设备,站在内核角度叫输入设备,内核对输入设备实现的一套函数接口==》内核输入子系统产生的数据:发生的事件对产生数据的特点进行分类:绝对事件:绝对坐标等相对事件:相对坐标等按键事件同步事件这些事件须 阅读全文
posted @ 2017-04-11 22:42 bkycrmn 阅读(2048) 评论(0) 推荐(0)
摘要:内核定时器: 涉及头文件: #include <linux/timer.h> 一个内核定时器对应如下一个结构体变量: struct timer_list { struct list_head entry; unsigned long expires; //定时的未来时间点,以jiffies为参考点。 阅读全文
posted @ 2017-04-06 11:47 bkycrmn 阅读(1398) 评论(1) 推荐(0)
摘要:短延时mdelay、udelay、ndelay睡眠延时msleep、ssleep shortdelay目录: currenttime目录: 阅读全文
posted @ 2017-04-06 11:34 bkycrmn 阅读(374) 评论(0) 推荐(0)
摘要:HZ:内核通过底层硬件用于衡量时间的节拍频率 ==》 PC: 1000Hz (1ms) ARM: 200Hz (5ms)jiffies:64位,一直做累加,jiffies变量记录了系统启动以来,系统定时器已经触发的次数。//f = 1/T; 1000hz = 1/0.001s, 200hz = 1/ 阅读全文
posted @ 2017-04-06 11:27 bkycrmn 阅读(493) 评论(0) 推荐(0)
摘要:一个下半部的任务对应如下结构体:***************** struct work_struct *************************** 79 struct work_struct { 80 atomic_long_t data; 81 struct list_head en 阅读全文
posted @ 2017-03-22 20:50 bkycrmn 阅读(759) 评论(0) 推荐(0)
摘要:涉及结构体类型:******************* struct tasklet_struct ****************************8485 /* Tasklets multithreaded analogue of BHs.486 487 Main feature diff 阅读全文
posted @ 2017-03-22 20:39 bkycrmn 阅读(200) 评论(0) 推荐(0)
摘要:中断共享:(一个中断号对应多个中断处理函数,很少见,了解) 1.flag必须加上IRQF_SHARED,这个标志表明多个中断处理程序可以共享一个中断号。 2.中断注册函数第五个参数必须非NULL. 实现共享中断号的情况下,在调用free_irq()时,通过对应的标记,内核才会知道该释放哪个中断处理函 阅读全文
posted @ 2017-03-22 20:21 bkycrmn 阅读(648) 评论(0) 推荐(0)
摘要:Makefile demo.c 阅读全文
posted @ 2017-03-22 20:11 bkycrmn 阅读(202) 评论(0) 推荐(0)
摘要:demo.c makefile write.c read.c makefile 1 CC=arm-linux-gcc 阅读全文
posted @ 2017-03-15 22:50 bkycrmn 阅读(199) 评论(0) 推荐(0)
摘要:5.2.6.字符设备驱动工作原理15.2.6.1、系统整体工作原理(1)应用层->API->设备驱动->硬件(2)API:open、read、write、close等(3)驱动源码中提供真正的open、read、write、close等函数实体5.2.6.2、file_operations结构体(1 阅读全文
posted @ 2017-03-15 22:23 bkycrmn 阅读(330) 评论(0) 推荐(0)
摘要:demo.c makefile ioctl.h ledapp.c ioctl.h makefile 1 CC=arm-linux-gcc 阅读全文
posted @ 2017-03-15 21:38 bkycrmn 阅读(288) 评论(0) 推荐(0)
摘要:vim Makefile ioctl.h demo.c //app vim Makefile 1 CC=arm-linux-gcc ledapp.c ioctl.h cpu 为什么要使用虚拟地址空间与物理地址空间映射? 每个进程都是独立的虚拟地址空间,两个独立进程的相同地址互不干扰,但是在物理上对每 阅读全文
posted @ 2017-03-11 23:10 bkycrmn 阅读(245) 评论(0) 推荐(0)
摘要:1 [ 0.000000] Booting Linux on physical CPU 0 2 [ 0.000000] Initializing cgroup subsys cpu 3 [ 0.000000] Linux version 3.5.0-FriendlyARM (root@localhost.localdomain) (gcc version 4.5.1... 阅读全文
posted @ 2017-03-08 19:41 bkycrmn 阅读(374) 评论(0) 推荐(0)
摘要:1.vim Makefile vim demo.c 阅读全文
posted @ 2017-03-07 21:23 bkycrmn 阅读(151) 评论(0) 推荐(0)
摘要:1、Makefile demo1.c & demo2.c 遇到点小问题!!! 现在的内核模块在插入卸载时都会要转到 “/lib/modules/内核版本号/ ” 这个目录里。所以只要建立这个目录就行了。 2.Makefile demo.c debug.c 3、Makefile demo1.c dem 阅读全文
posted @ 2017-03-06 23:04 bkycrmn 阅读(163) 评论(0) 推荐(0)