- 博客(12)
- 资源 (11)
- 收藏
- 关注
转载 设备、配置、接口、端点
《Linux设备驱动开发详解》本书全面而详细地讲解了Linux设备驱动开发中涉及的理论以及多种设备驱动的框架。第20章主要讲解从主机侧角度看到的USB主机控制器驱动和设备驱动。本文写的是设备、配置、接口、端点。 设备、配置、接口、端点在USB设备的逻辑组织中,包含设备、配置、接口和端点4个层次。每个USB设备都提供了不同级别的配置信息,可以包含一个或多个配置,不同的配置使设
2012-06-28 14:39:43 2248
转载 Linux环境下USB的原理、驱动和配置
随着生活水平的提高,人们对USB设备的使用也越来越多,鉴于Linux在硬件配置上尚不能全部即插即用,因此关于Linux如何配置和使用,成为困扰我们的一大问题。本文由CSDN 特别约稿,作者为北京中科红旗软件技术有限公司 嵌入式工程师 梁国军 随着生活水平的提高,人们对USB设备的使用也越来越多,鉴于Linux在硬件配置上尚不能全部即插即用,因此关于Linux如何配置和使用
2012-06-25 11:12:56 514
转载 USB请求块(URB)
1.urb结构体USB请求块(USB request block,urb)是USB设备驱动中用来描述与USB设备通信所用的基本载体和核心数据结构,非常类似于网络设备驱动中的sk_buff结构体,是USB主机与设备通信的"电波"。代码清单20.13 urb结构体1 struct urb2 {3 /* 私有的:只能由USB核心和主机控制器访问的字段 */
2012-06-25 11:11:44 1319
转载 Android OTA 升级之五:updater
前言 可以说,前面分析的OTA升级的各部分代码都是在搭一个舞台,而主角现在终于登场,它就是updater. Google的代码架构设计非常好,各部分尽量松耦合。前面介绍升级脚本时,可知有两种类型的脚本,amend & edify. 他们各自对应一个updater. 这里,我们主要关注新的edify的updater. Updater可以作为学习解释器/编译器的同学
2012-06-04 11:03:51 723
转载 Android OTA 升级之四:进入根文件系统
前言 从bootloader 进入Recovery 模式后,首先也是运行Linux内核,该内核跟普通模式没有区别(减轻了BSP开发者的任务)。区别从执行文件系统开始。 Recovery 模式的细节就隐藏在其根文件系统中。 下面,我们就看看进入Recovery 根文件系统都干些啥。 init.rc 和正常启动一样,内核进入文件系统会执行/ini
2012-06-04 11:03:11 664
转载 Android OTA 升级之三:生成recovery.img
前言 得到了ota升级包后,我们就可以用它来升级系统了。Android 手机开机后,会先运行 bootloader。 Bootloader 会根据某些判定条件(比如按某个特殊键)决定是否进入 recovery 模式。Recovery 模式会装载 recovery 分区, 该分区包含recovery.img。recovery.img 包含了标准内核(和boot.img中的内核相同)以
2012-06-04 11:02:06 393
转载 Android OTA 升级之二:脚本 ota_from_target_files
前言 前面介绍了ota package 的编译过程,其中最核心的部分就是一个 python 脚本:ota_from_target_files. 现在我们分析这个脚本。先看一下帮助不带任何参数,先看一下它的帮助:$ ./ota_from_target_files Given a target-files zipfile, produces an OTA package t
2012-06-04 11:01:23 1027
转载 Android OTA 升级之一:编译升级包
前言 OTA 升级是 Android 系统提供的标准软件升级方式。 它功能强大,提供了完全升级、增量升级模式,可以通过 SD 卡升级,也可以通过网络升级。 这里,我们先研究最简单的情况,通过 SD 卡进行完全升级。 如何执行升级就不多说了,网上有很多资料。(比如,介绍HTC手机如何升级)。我们感兴趣的是它是如何实现的,作为开发者,如何修改它以符合我们
2012-06-04 10:59:53 968
转载 U-Boot启动过程--详细版的完全分析
------------------------------------------------------------------------------------------------------------------------------------------- 我们知道,bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。
2012-06-01 14:13:12 979
转载 深入理解Linux内存映射机制
一. 绪 论我们经常在程序的反汇编代码中看到一些类似0x32118965这样的地址,操作系统中称为线性地址,或虚拟地址。虚拟地址有什么用?虚拟地址又是如何转换为物理内存地址的呢?本章将对此作一个简要阐述。1.1 Linux内存寻址概述现代意义上的操作系统都处于32位保护模式下。每个进程一般都能寻址4G的物理空间。但是我们的物理内存一般都是几百M,进程怎么能获得4G的物理空间呢
2012-06-01 14:04:10 433
转载 Uboot 启动流程简介
前面把内核的引导启动整理了~ 想想顺便把uboot也看看吧 = 3=uboot版本 : 1.3.0-rc3 由朗成的weibing进行了修改以提供板子的nand引导启动功能板子 : AT2440EVB在分析启动代码之前先看一下S3C2440的NAND启动:在配置NAND启动模式之后,S3C2440上电会先将NAND中的0x0 - 0x1000共4096字节的数据拷贝到位于Bank0
2012-06-01 14:02:15 671
转载 bootloader 内核启动参数
一:启动参数的传递过程 启动参数是包装在数据结构里的,在linux kernel启动的时候,bootloader把这个数据结构拷贝到某个地址, 在改动PC跳向内核接口的同时,通过通用寄存器R2来传递这个地址的值,下面这句话就是uboot跳向linux kernel的代码(bootm命令) theKernel (0, bd->bi_arch_number, bd->bi_boot_p
2012-06-01 14:01:05 756
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人