驱动开发
芦花浅水
1, 嵌入式系统、网络通信和多媒体处理方面的专家,对SoC尤其熟悉
2, 具有主动性、创新性和强力的领导能力,尤其擅长创建高性能团队
3, 经验标签: PowerPC, ARM, Audio Processing, Video Processing, Multimedia Framework, Embedded Linux, RTOS (vxWorks, eCos, etc), Android, Device Drivers, Network Protocols, Wireless Communication, Internet of Things
展开
-
《Linux设备驱动开发详解》读书笔记(1)
最近读了一本书,《Linux设备驱动开发详解》,宋宝华写的,基于4.0内核。下面是读书笔记。第一章, 环境搭建主要讲Linux开发环境的搭建。VirtualBox+ Ubuntu + QEMU。第二章, 硬件基础主要将嵌入式Linux中的硬件基础,包括处理器(SoC,DSP)、存储器(ROM,NOR/NAND Flash, DRAM等)、串口、I2C、SPI、USB原创 2017-01-09 22:28:48 · 654 阅读 · 0 评论 -
《Linux设备驱动开发详解》读书笔记(2)
第一章, 内核模块代码module_init(),module_exit(), request_module(),module_param(),module_param_array()。EXPORT_SYMBOL()导出符号。使用try_module_get()和module_put()管理模块的使用计数。属性__init表示代码放入section(.init.text)。__ini原创 2017-01-09 22:35:41 · 288 阅读 · 0 评论 -
《Linux设备驱动开发详解》读书笔记(3)
第一章, 并发控制Linux2.6.35之后取消了中断的嵌套。读写乱序。可以通过barrier()来防止编译乱序,volatile防止读优化,DMB /DSB /ISB防止运行乱序。Linux中定义了mb(), rmb(),wmb()以及__iormb()/__iowmb()和readl()/writel()。保证对寄存器的访问不会乱。中断屏蔽。Local_irq_enable(原创 2017-01-09 22:37:22 · 663 阅读 · 0 评论 -
《Linux设备驱动开发详解》读书笔记(4)
第一章, 中断与时钟申请irq,request_irq(irq, handler, flags, name, dev)。Flags一般有触发方式,SHARED等。用devm_request_irq()不需要free。使能,enable_irq(irq)。使能某个中断。开关本CPU上的所有中断, local_irq_save(flags),local_irq_restore(flag原创 2017-01-09 22:44:29 · 461 阅读 · 0 评论 -
《Linux设备驱动开发详解》读书笔记(5)
第十三章,块设备驱动块设备的file_ops中没有read(), write(),但是有media_changed(), getgeo()用来获取磁盘的状态和信息。使用struct gendisk来表示一个磁盘,操作函数包括alloc_disk(), add_disk(), del_gendisk()等, get_disk()/put_disk()用于计数。对块的操作通过bio,request原创 2017-01-09 22:54:25 · 334 阅读 · 0 评论 -
《Linux设备驱动开发详解》读书笔记(6)
第十六章,USB主机、设备与Gadget驱动USB的逻辑层次包括设备、配置、接口和端点4个层次,每层有各自的描述符descriptor。端口可以看作是一个单向的管道。端点0通常为控制端点,用于设备初始化。命令lsusb可以查看USB描述符。主机控制器有OHCI, UHCI,EHCI。数据结构为structhc_driver,通过函数usb_create_hcd(), usb_add_hcd原创 2017-01-09 22:58:33 · 554 阅读 · 0 评论 -
《Linux设备驱动开发详解》读书笔记(7)
第十九章,电源管理的系统架构与驱动Linux的电源管理主要包括cpufreq,cpuidle, SMP hotplug, PM QoS, Suspend, Runtime PM等。CPUfreq程序在drivers/cpufreq目录下,通过cpufreq_register_driver()注册驱动,关键函数是setpolicy()和target()。前者设置频率一个范围,后者直接设置目标原创 2017-01-09 23:01:24 · 534 阅读 · 0 评论