自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 《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 569

原创 《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 591

原创 《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 360

原创 《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 523

原创 《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 692

原创 《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 311

原创 《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 680

原创 web.py中如何返回Content-Length

在返回消息前,添加如下代码即可:--------            web.header('Content-Type', 'application/octet-stream')            web.header('Content-Length', len(retMsg))            return retMsg--------

2016-12-12 12:39:58 795

原创 web.py 返回 "Transfer-Encoding: chunked" 的处理

最近在写一个微信公众号的小程序。微信公众平台推荐的服务端配置是python + web.py。调试时发现web.py(实际上是wsgiserver)响应我的POST请求时,HTTP Header里面总是"Transfer-Encoding: chunked",而不返回“Content-Length”,而我的设备端程序处理是依赖于“Content-Length”。重写设备端程序太麻烦,怎样才能让它不

2016-12-12 11:57:41 1401

原创 发帖权限

我想在论坛里面发个帖子,但是系统告诉我说我的账号没有发帖权限,让我联系管理员。请问如何解决?

2015-08-12 14:21:33 591

空空如也

空空如也

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

TA关注的人

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