微信读书书城
深度实践嵌入式Linux系统移植
首页
我的书架
登录
本书已下架
内容不再支持阅读
目录
Ai 问书
笔记
开启书友想法
上下滚动阅读
字号
浅色
深度实践嵌入式Linux系统移植
范展源/刘韬
扉页
第1章 前言
+
书签
第2章 绪论篇
第3章 嵌入式系统架构与移植环境搭建2
第4章 1.1 嵌入式系统硬件架构2
第5章 1.1.1 微处理器3
第6章 1.1.2 总线4
第7章 1.1.3 存储器5
第8章 1.2 嵌入式系统软件架构6
第9章 1.3 嵌入式Linux移植环境搭建7
第10章 1.3.1 Ubuntu开发平台7
第11章 1.3.2 搭建交叉编译环境8
第12章 1.3.3 获取内核9
第13章 1.3.4 获取启动加载器9
第14章 1.3.5 配置必要服务9
第15章 1.3.6 PuTTY的安装和配置12
第16章 1.4 本章小结12
第17章 u-boot移植篇
第18章 u-boot工程与编译系统14
第19章 2.1 u-boot介绍14
第20章 2.1.1 u-boot工程简介15
第21章 2.1.2 u-boot源码结构15
第22章 2.1.3 u-boot的配置编译16
第23章 2.2 u-boot常用命令与测试18
第24章 2.2.1 获取帮助18
第25章 2.2.2 环境变量相关命令19
第26章 2.2.3 网络命令20
第27章 2.2.4 Nand Flash操作命令21
第28章 2.2.5 内存/寄存器相关命令22
第29章 2.2.6 系统引导命令24
第30章 2.3 u-boot编译过程分析25
第31章 2.3.1 主机构建环境配置过程25
第32章 2.3.2 目标机相关配置过程27
第33章 2.3.3 make命令执行过程31
第34章 2.4 本章小结40
第35章 第3章u-boot启动流程分析41
第36章 3.1 u-boot启动第一阶段流程41
第37章 3.1.1 设置异常向量42
第38章 3.1.2 CPU进入SVC模式43
第39章 3.1.3 设置控制寄存器地址43
第40章 3.1.4 关闭看门狗43
第41章 3.1.5 屏蔽中断43
第42章 3.1.6 设置MPLLCON、UPLLCON和CLKDIVN44
第43章 3.1.7 关闭MMU和cache45
第44章 3.1.8 初始化存储控制器46
第45章 3.1.9 复制u-boot第二阶段代码到RAM47
第46章 3.1.10 设置栈48
第47章 3.1.11 清除BSS段48
第48章 3.1.12 跳转到第二阶段代码入口48
第49章 3.2 u-boot启动第二阶段代码分析49
第50章 3.2.1 gd_t结构体49
第51章 3.2.2 bd_t结构体50
第52章 3.2.3 init_sequence数组50
第53章 3.2.4 start_armboot()顺序分析51
第54章 3.2.5 main_loop函数分析52
第55章 3.3 本章小结56
第56章 ARM9/S3C2440 u-boot移植实战57
第57章 4.1 移植准备工作57
第58章 4.1.1 开发环境介绍57
第59章 4.1.2 删减u-boot文件58
第60章 4.1.3 建立My2440配置59
第61章 4.1.4 配置和编译u-boot60
第62章 4.2 u-boot芯片级移植61
第63章 4.2.1 启动代码结构优化61
第64章 4.2.2 系统时钟移植65
第65章 4.2.3 存储器控制器设置68
第66章 4.3 u-boot调试方法探索70
第67章 4.3.1 通过LED指示运行状态70
第68章 4.3.3 在内存中加载和运行u-boot78
第69章 4.4 Nor Flash驱动移植78
第70章 4.4.1 Nor Flash的工作模式78
第71章 4.4.2 Nor Flash的存储结构79
第72章 4.4.3 Nor Flash的硬件连接79
第73章 4.4.4 Nor Flash的操作方法80
第74章 4.4.5 Nor Flash驱动分析83
第75章 4.4.6 Nor Flash驱动移植86
第76章 4.4.7 Nor Flash命令测试87
第77章 4.4.8 完善u-boot的命令行功能88
第78章 4.5 DM9000驱动移植89
第79章 4.5.1 DM9000网卡端口访问90
第80章 4.5.2 DM9000网卡时序分析90
第81章 4.5.3 DM9000网卡驱动分析93
第82章 4.5.4 DM9000网卡驱动移植100
第83章 4.5.5 网卡驱动测试103
第84章 4.5.6 通过TFTP下载程序到内存运行103
第85章 4.6 u-boot启动内核105
第86章 4.6.1 ARM架构的Linux内核启动105
第87章 4.6.2 内核标记列表106
第88章 4.6.3 u-boot启动命令分析1—go命令109
第89章 4.6.4 u-boot启动命令分析2—bootm命令110
第90章 4.6.5 u-boot启动命令的配置与移植115
第91章 4.7 Nand Flash与驱动移植118
第92章 4.7.1 Nand Flash启动原理118
第93章 4.7.2 Nand Flash硬件特性119
第94章 4.7.3 Linux MTD子系统121
第95章 4.7.4 Nand Flash初始化流程分析123
第96章 4.7.5 Nand Flash命令实现分析125
第97章 4.7.6 页读取操作详解127
第98章 4.7.7 Nor Flash和Nand Flash启动自动判断132
第99章 4.7.8 Nand Flash拷贝代码实现132
第100章 4.7.9 Nand Flash板级驱动移植136
第101章 4.7.10 Nand Flash命令测试140
第102章 4.8 YAFFS文件系统移植142
第103章 4.8.1 YAFFS文件系统142
第104章 4.8.2 YAFFS在Nand Flash上的存储结构142
第105章 4.8.3 YAFFS在内存中的组织结构143
第106章 4.8.4 在u-boot中添加对烧写YAFFS镜像的支持144
第107章 4.8.5 YAFFS文件系统镜像制作150
第108章 4.8.6 YAFFS的烧写与测试152
第109章 4.9 UBIFS文件系统移植153
第110章 4.9.1 UBI层153
第111章 4.9.2 UBIFS介绍155
第112章 4.9.3 在u-boot中添加对UBIFS的支持156
第113章 4.9.4 制作UBIFS文件系统镜像157
第114章 4.9.5 UBIFS的烧写与测试158
第115章 4.10 SD卡驱动移植162
第116章 4.10.1 MMC/SD/SDIO介绍162
第117章 4.10.2 SD/MMC协议162
第118章 4.10.3 S3C2440 SDI控制器操作166
第119章 4.10.4 SD卡驱动分析168
第120章 4.10.5 SD卡驱动移植173
第121章 4.11 USB驱动移植176
第122章 4.11.1 USB概述176
第123章 4.11.2 USB系统架构177
第124章 4.11.3 USB的通信方法180
第125章 4.11.4 USB的描述符184
第126章 4.11.5 USB设备请求188
第127章 4.11.6 USB设备枚举191
第128章 4.11.7 S3C2440 USB设备控制器195
第129章 4.11.8 u-boot USB设备控制器驱动分析196
第130章 4.11.9 USB设备驱动移植206
第131章 4.11.10 USB驱动移植210
第132章 4.11.11 USB功能测试214
第133章 4.12 u-boot一键式菜单实现215
第134章 4.12.1 一键式菜单需求分析215
第135章 4.12.2 一键式菜单测试步骤216
第136章 4.12.3 一键式菜单源码分析220
第137章 4.13 本章小结224
第138章 ARM11/S3C6410 u-boot移植实战225
第139章 5.1 移植准备工作225
第140章 5.1.1 开发环境225
第141章 5.1.2 删减u-boot文件226
第142章 5.1.3 建立My6410配置227
第143章 5.1.4 配置和编译u-boot228
第144章 5.2 u-boot芯片级移植229
第145章 5.2.1 修改第一阶段启动代码start.S229
第146章 5.2.2 板级底层初始化文件lowlevel_init.S移植233
第147章 5.2.3 时钟初始化函数移植239
第148章 5.2.4 内存初始化函数实现243
第149章 5.2.5 Nand Flash复制代码实现246
第150章 5.2.6 SD卡复制代码实现250
第151章 5.2.7 底层调试方法探索254
第152章 5.2.8 完善My6410的板级配置258
第153章 5.2.9 烧写与测试265
第154章 5.3 DM9000驱动移植267
第155章 5.3.1 DM9000网卡端口访问267
第156章 5.3.2 DM9000网卡时序分析268
第157章 5.3.3 DM9000网卡驱动移植270
第158章 5.3.4 网卡驱动测试274
第159章 5.4 u-boot启动内核274
第160章 5.4.1 u-boot启动命令的配置与移植275
第161章 5.5 Nand Flash驱动移植278
第162章 5.5.1 将u-boot下载到内存中运行278
第163章 5.5.2 Nand Flash驱动移植279
第164章 5.5.3 Nand Flash命令测试289
第165章 5.6 YAFFS文件系统移植291
第166章 5.6.1 在u-boot中添加对烧写YAFFS镜像的支持291
第167章 5.6.2 YAFFS文件系统镜像制作298
第168章 5.6.3 YAFFS的烧写与测试299
第169章 5.7 UBIFS文件系统移植300
第170章 5.7.1 在u-boot中添加对UBIFS的支持300
第171章 5.7.2 UBIFS文件系统镜像制作302
第172章 5.7.3 UBIFS的烧写与测试303
第173章 5.8 SD卡驱动移植307
第174章 5.8.1 S3C6410 主机控制器操作307
第175章 5.8.2 S3C6410 主机控制器操作序列308
第176章 5.8.3 SD卡驱动分析310
第177章 5.8.4 SD卡驱动移植317
第178章 5.8.5 通过SD卡更新系统319
第179章 5.9 USB驱动移植321
第180章 5.9.1 S3C6410 USB2.0高速OTG321
第181章 5.9.2 u-boot USB设备控制器驱动分析323
第182章 5.9.3 USB设备驱动移植332
第183章 5.9.4 USB功能测试335
第184章 5.10 本章小结336
第185章 Linux内核移植篇
第186章 Linux内核工程与编译系统338
第187章 6.1Linux内核架构338
第188章 6.1.1内核体系结构338
第189章 6.1.2内核组件339
第190章 6.1.3内核目录结构340
第191章 6.2 Linux内核的配置与编译341
第192章 6.2.1 配置内核341
第193章 6.2.2编译内核344
第194章 6.3Linux内核构建系统345
第195章 6.3.1内核配置过程345
第196章 6.3.2扩展内核代码347
第197章 6.3.3内核中的Makefile348
第198章 6.3.4内核中的Kconfig349
第199章 6.4内核调试技术352
第200章 6.4.1调试准备352
第201章 6.4.2内核调试配置选项352
第202章 6.4.3源码级别的调试接口353
第203章 6.4.4使用printk()打印调试信息355
第204章 6.4.5使用strace跟踪系统调用357
第205章 6.4.6使用OOPS调试系统故障358
第206章 6.5本章小结360
第207章 Linux内核启动流程分析361
第208章 7.1内核镜像生成361
第209章 7.2内核启动流程1——汇编部分362
第210章 7.2.1内核启动代码入口362
第211章 7.2.2深入源码分析363
第212章 7.2.3汇编启动代码分析总结378
第213章 7.3内核启动流程2—C语言部分378
第214章 7.3.1start_kernel()函数379
第215章 7.3.2rest_init()函数388
第216章 7.3.3 kernel_init()函数390
第217章 7.3.4init_post()函数391
第218章 7.4内核启动流程3—Busybox的init进程393
第219章 7.4.1init进程启动流程393
第220章 7.4.2添加初始化活动394
第221章 7.4.3执行初始化活动395
第222章 7.5本章小结396
第223章 Linux移植准备及最小系统构建397
第224章 8.1移植准备工作397
第225章 8.1.1 开发环境397
第226章 8.1.2删减Linux文件398
第227章 8.1.3建立My2440配置400
第228章 8.1.4 建立My6410配置403
第229章 8.1.5编译测试406
第230章 8.2 最小系统搭建409
第231章 8.2.1 嵌入式根文件系统制作409
第232章 8.2.2安装initramfs根文件系统412
第233章 8.3本章小结414
第234章 Linux网卡驱动移植415
第235章 9.1Linux网络子系统415
第236章 9.2 核心数据结构416
第237章 9.2.1 net_device结构416
第238章 9.2.2 sk_buff结构419
第239章 9.3 DM9000网卡驱动分析421
第240章 9.3.1 board_info结构422
第241章 9.3.2 dm9000_probe()函数423
第242章 9.3.3 dm9000_open()函数427
第243章 9.3.4 dm9000_start_xmit()函数427
第244章 9.3.5 数据包接收函数428
第245章 9.3.6 数据包发送函数429
第246章 9.3.7 中断处理函数431
第247章 9.4My2440网卡驱动移植432
第248章 9.4.1 添加DM9000的平台设备432
第249章 9.4.2 在内核配置添加对DM9000的支持434
第250章 9.5 My6410网卡驱动移植434
第251章 9.5.1 添加DM9000的平台设备434
第252章 9.5.3 在内核配置添加对DM9000的支持436
第253章 9.6安装NFS根文件系统436
第254章 9.6.1在内核配置添加对NFS的支持436
第255章 9.6.2挂载NFS根文件系统437
第256章 9.7 制作基于共享库的根文件系统437
第257章 9.8本章小结439
第258章 Linux混杂设备驱动440
第259章 10.1 My2440 RTC驱动移植440
第260章 10.2My6410 RTC驱动移植441
第261章 10.2.1修改RTC驱动rtc-s3c.c441
第262章 10.2.2完善对6410 RTC驱动的平台支持445
第263章 10.2.3 在机器配置文件中添加RTC设备448
第264章 10.2.4 在内核中配置RTC448
第265章 10.3 RTC驱动测试449
第266章 10.4为My2440添加ADC和按键驱动451
第267章 10.4.1按键驱动分析451
第268章 10.4.2 在内核中添加ADC和按键驱动454
第269章 10.5 为My6410添加ADC驱动457
第270章 10.6 本章小结458
第271章 Linux I2C驱动移植459
第272章 11.1 I2C协议概述459
第273章 11.1.1 I2C总线物理拓扑结构459
第274章 11.1.2 I2C通信协议460
第275章 11.2Linux I2C子系统框架461
第276章 11.3 I2C驱动中的数据结构及操作462
第277章 11.3.1 i2c_adapter结构462
第278章 11.3.2 i2c_algorithm结构464
第279章 11.3.3 i2c_msg结构464
第280章 11.3.4i2c_driver结构465
第281章 11.3.5 i2c_client结构467
第282章 11.4I2C适配器的设备接口468
第283章 11.4.1 i2cdev_open()函数471
第284章 11.4.2 i2cdev_ read()函数471
第285章 11.4.3 i2cdev_ioctl()函数472
第286章 11.5 S3C2440(6410) I2C适配器驱动的实现473
第287章 11.5.1 S3C2440 I2C platform总线匹配474
第288章 11.5.2 S3C2440 I2C总线驱动描述结构474
第289章 11.5.3 probe方法的实现476
第290章 11.5.4 S3C2440 I2C总线通信方法477
第291章 11.6 S3C2440(6410) I2C适配器驱动移植480
第292章 11.6.1 添加 I2C平台设备480
第293章 11.6.2 在内核配置中支持I2C驱动481
第294章 11.6.3编写I2C总线驱动测试程序482
第295章 11.7S3C2440(6410) I2C设备驱动的实现484
第296章 11.7.1 At24系列I2C EEPROM设备驱动的实现484
第297章 11.7.2传统只读EEPROM设备驱动的实现486
第298章 11.8 I2C EEPROM设备驱动移植489
第299章 11.9本章小结490
第300章 Linux SPI驱动移植491
第301章 12.1SPI协议概述491
第302章 12.1.1 SPI总线物理拓扑结构491
第303章 12.1.2 时钟极性和时钟相位492
第304章 12.1.3 SPI的优缺点493
第305章 12.2 Linux SPI子系统493
第306章 12.3 SPI驱动中的数据结构及操作494
第307章 12.3.1 spi_master结构494
第308章 12.3.2 spi_driver结构495
第309章 12.3.3 spi_device结构496
第310章 12.3.4 spi_message结构497
第311章 12.3.5spi_bitbang结构498
第312章 12.4SPI控制器的设备接口500
第313章 12.5 S3C2440 SPI控制器驱动的实现503
第314章 12.5.1 S3C2440 SPI platform总线匹配503
第315章 12.5.2 S3C2440 SPI控制器驱动描述结构504
第316章 12.5.3 probe方法的实现504
第317章 12.5.4 S3C2440 SPI总线通信方法505
第318章 12.6S3C6410 SPI控制器驱动的实现507
第319章 12.6.1 S3C6410 SPI控制器驱动描述结构507
第320章 12.6.2 probe方法的实现507
第321章 12.6.3 S3C6410 SPI总线通信方法509
第322章 12.7S3C2440 SPI 控制器驱动移植510
第323章 12.7.1在机器配置文件中添加对SPI的支持510
第324章 12.7.2 扩展Kconfig512
第325章 12.7.3在内核配置中支持SPI驱动513
第326章 12.7.4SPI驱动测试513
第327章 12.8S3C6410 SPI 控制器驱动移植513
第328章 12.8.1 添加6410的SPI驱动514
第329章 12.8.2 添加SPI平台设备514
第330章 12.8.3添加6410 DMA平台代码516
第331章 12.8.4 添加SPI、DMA相关的时钟资源518
第332章 12.8.5在机器配置文件中添加对SPI的支持519
第333章 12.8.6 SPI驱动测试521
第334章 12.9 S3C2440(S3C6410) SPI协议驱动移植521
第335章 12.9.1 AT25系列SPI EEPROM协议驱动的实现521
第336章 12.9.2SPI EEPROM设备驱动移植523
第337章 12.10 本章小结524
第338章 Nand Flash驱动移植525
第339章 13.1 Linux MTD子系统525
第340章 13.2 MTD子系统中的数据结构及操作526
第341章 13.2.1 mtd_info结构526
第342章 13.2.2mtd_notifier结构528
第343章 13.2.3 mtd_part/mtd_partitions结构528
第344章 13.3 MTD块设备实现分析530
第345章 13.4 Nand Flash驱动的实现534
第346章 13.4.1 Nand Flash platform总线匹配534
第347章 13.4.2 S3C2440 Nand Flash控制器驱动描述结构534
第348章 13.4.3 probe方法的实现536
第349章 13.4.4 S3C2440 Nand Flash读写方法分析537
第350章 13.5S3C2440 Nand Flash控制器驱动移植538
第351章 13.5.2 完善S3C2440的Nand Flash驱动540
第352章 13.5.3 在内核配置中支持 Nand Flash驱动541
第353章 13.6S3C6410 Nand Flash控制器驱动移植541
第354章 13.6.1添加6410 Nand Flash驱动541
第355章 13.6.2添加Nand Flash平台设备542
第356章 13.6.4 其他修改545
第357章 13.7 YAFFS2文件系统移植547
第358章 13.7.1将YAFFS2文件系统移植到Linux内核548
第359章 13.7.2 利用mtd-utils烧写YAFFS2文件系统镜像548
第360章 13.8 在内核中配置对UBIFS的支持550
第361章 13.9 本章小结550
第362章 SD/MMC卡驱动移植551
第363章 14.1Linux MMC子系统551
第364章 14.2 MMC子系统中的数据结构及操作552
第365章 14.2.1 mmc_host结构552
第366章 14.2.2 mmc_card结构554
第367章 14.2.3mmc_driver结构555
第368章 14.2.4 mmc_request结构556
第369章 14.3卡探测过程分析558
第370章 14.4 S3C2440 SD/MMC主控制器驱动的实现561
第371章 14.4.1 SD/MMC主控制器驱动platform总线匹配561
第372章 14.4.2 S3C2440 SD/MMC主控制器驱动描述结构561
第373章 14.4.3 probe方法的实现563
第374章 14.4.4 S3C2440 SD/MMC主控制器请求处理分析565
第375章 14.5S3C6410 高速MMC控制器驱动的实现568
第376章 14.5.1 SDHCI驱动框架569
第377章 14.5.2SDHCI主机卡探测过程569
第378章 14.5.3S3C6410 HSMMC控制器驱动570
第379章 14.5.4 S3C6410 HSMMC控制器请求处理572
第380章 14.6S3C2440 SD/MMC主机控制器驱动移植572
第381章 14.6.5SD/MMC主控制器驱动测试575
第382章 14.7 S3C6410 HSMMC控制器驱动移植576
第383章 14.7.1 添加6410 Nand Flash驱动576
第384章 14.7.2在机器配置文件中添加对HSMMC的支持577
第385章 14.7.3 修改内核SDHCI驱动578
第386章 14.8本章小结579
第387章 LCD驱动移植580
第388章 15.1LCD硬件原理580
第389章 15.1.1 LCD的硬件构成580
第390章 15.1.2TFT屏显示时序581
第391章 15.2 Linux帧缓冲子系统582
第392章 15.3 帧缓冲子系统中的数据结构及操作583
第393章 15.3.1 fb_info结构583
第394章 15.3.2fb_var_screeninfo结构和fb_fix_screeninfo结构587
第395章 15.3.3fb_cmap结构589
第396章 15.4 帧缓冲字符设备接口590
第397章 15.5Linux显示启动Logo594
第398章 15.6S3C2440帧缓冲驱动的实现596
第399章 15.6.1S3C2440 LCD控制器硬件描述596
第400章 15.6.2 驱动platform总线匹配597
第401章 15.6.3 S3C2440 帧缓冲驱动描述结构598
第402章 15.6.4 probe方法实现599
第403章 15.7S3C6410 帧缓冲驱动的实现601
第404章 15.8 S3C2440 帧缓冲驱动移植601
第405章 15.8.2修改Makefile和Kconfig605
第406章 15.8.4 帧缓冲驱动测试608
第407章 15.9 S3C6410 帧缓冲驱动移植608
第408章 15.9.1 添加6410 帧缓冲驱动608
第409章 15.9.3 帧缓冲驱动测试611
第410章 15.10 本章小结611
第411章 触摸屏驱动移植612
第412章 16.1 Linux输入子系统612
第413章 16.2 输入子系统中的数据结构及操作613
第414章 16.2.1 input_dev结构613
第415章 16.2.2 input_handler结构616
第416章 16.2.3 input_handle结构617
第417章 16.3 输入子系统核心层的实现618
第418章 16.4 通用事件处理驱动622
第419章 16.5 输入事件报告流程626
第420章 16.6 S3C2440(6410)触摸屏驱动的分析629
第421章 16.6.1 模块初始化函数的实现629
第422章 16.6.2 中断处理与事件上报630
第423章 16.7 S3C2440触摸屏驱动移植与测试632
第424章 16.7.1 S3C2440触屏驱动移植632
第425章 16.7.2 S3C2440触屏驱动测试633
第426章 16.8 S3C6410触摸屏驱动移植与测试634
第427章 16.8.1 添加6410的触摸屏驱动634
第428章 16.8.2添加触屏平台设备635
第429章 16.8.3 在机器配置文件中添加对触屏的支持636
第430章 16.9 本章小结637
第431章 声卡驱动移植638
第432章 17.1 ALSA体系架构638
第433章 17.1.1 ALSA设备文件639
第434章 17.1.2 驱动代码的文件结构640
第435章 17.2 声卡描述结构snd_card640
第436章 17.3 PCM功能子层644
第437章 17.3.1 PCM的概念644
第438章 17.3.2 PCM设备描述结构snd_pcm645
第439章 17.3.3 PCM流与PCM子流646
第440章 17.3.4 PCM功能子层逻辑关系小结651
第441章 17.3.5 PCM设备文件的建立652
第442章 17.3.6 PCM设备文件的访问654
第443章 17.4 声卡控制项655
第444章 17.4.1 控制项创建655
第445章 17.4.2 控制项回调函数657
第446章 17.4.3 Control设备建立658
第447章 17.5 ASoC声卡驱动架构659
第448章 17.6 ASoC架构中的Machine驱动662
第449章 17.6.1 创建ASoC声卡平台设备662
第450章 17.6.2 ASoC声卡的平台驱动665
第451章 17.7ASoC架构中的Codec驱动666
第452章 17.7.1 Codec的DAI和PCM的配置666
第453章 17.7.2 Codec的控制IO669
第454章 17.7.3 混音器和其他音频控制项671
第455章 17.7.4 Codec设备与ASoC声卡注册673
第456章 17.8 ASoC架构中的Platform驱动676
第457章 17.8.1CPU DAI驱动676
第458章 17.8.2 音频DMA驱动677
第459章 17.8.3 创建音频DMA缓冲区678
第460章 17.8.4 音频DMA的PCM操作681
第461章 17.9 S3C2440+UDA1341声卡驱动配置与测试683
第462章 17.9.1 在机器配置文件中添加对声卡的支持683
第463章 17.9.2 在内核配置中支持声卡驱动684
第464章 17.9.3 应用层alsa-lib移植685
第465章 17.9.4 编写ALSA应用程序686
第466章 17.9.5 播放和录音测试690
第467章 17.10S3C6410+WM9714声卡驱动移植691
第468章 17.10.1添加6410声卡驱动691
第469章 17.10.2在内核配置中支持声卡驱动692
第470章 17.10.3 alsa-utils工具集移植692
第471章 17.11 本章小结693
第472章 USB驱动移植694
第473章 18.1USB子系统架构694
第474章 18.2USB驱动中的描述符结构695
第475章 18.3USB主机驱动695
第476章 18.3.1主机控制器驱动695
第477章 18.3.2OHCI主机控制器驱动698
第478章 18.4S3C2440/S3C6410 USB主机驱动的实现700
第479章 18.5USB设备驱动701
第480章 18.5.1USB设备驱动描述结构702
第481章 18.5.2USB请求块URB703
第482章 18.5.3URB的处理流程705
第483章 18.5.4 usb_bulk_msg()和usb_control_msg()708
第484章 18.5.5探测和断开函数709
第485章 18.6USB骨架程序710
第486章 18.7USB设备驱动实例718
第487章 18.7.1DNW驱动的实现718
第488章 18.7.2USB键盘驱动的实现720
第489章 18.8本章小结728
第490章 应用程序移植篇
第491章 嵌入式Qt移植730
第492章 19.1Qt开发环境搭建与使用 730
第493章 19.1.1Qt SDK的下载与安装730
第494章 19.1.2第一个Qt程序732
第495章 19.1.3利用Qt Creator建立一个工程733
第496章 19.2Qt的功能模块与裁剪735
第497章 19.2.1Qt模块的构成735
第498章 19.2.2图形用户界面736
第499章 19.2.3信号与槽 736
第500章 19.2.4布局管理737
第501章 19.2.5主视窗737
第502章 19.3嵌入式Qt移植与测试737
第503章 19.3.1触屏库tslib移植737
第504章 19.3.2Qt库移植739
第505章 19.3.3嵌入式Qt程序测试741
第506章 19.3.4嵌入式Qt工程配置与测试743
第507章 19.4本章小结751
第508章 嵌入式多媒体程序移植752
第509章 20.1音频播放程序madplay的移植752
第510章 20.1.1在Ubuntu中安装madplay752
第511章 20.1.2 在Ubuntu中测试madplay753
第512章 20.1.3将madplay移植到开发板753
第513章 20.1.4在开发板中测试madplay755
第514章 20.2视频播放程序MPlayer的移植755
第515章 20.2.1在Ubuntu中安装MPlayer755
第516章 20.2.2在Ubuntu中测试MPlayer756
第517章 20.2.3将MPlayer移植到开发板756
第518章 20.2.4在开发板中测试MPlayer758
第519章 20.3利用Qt开发视频播放器758
第520章 20.3.1MPlayer的SLAVE模式759
第521章 20.3.2示例播放器MyPlayer的实现759
第522章 20.4本章小结760
第523章 嵌入式数据库移植761
第524章 21.1SQLite数据库的使用761
第525章 21.1.1使用命令行操作SQLite761
第526章 21.1.2使用C语言操作SQLite763
第527章 21.1.3在Qt中操作SQLite765
第528章 21.1.4在QTableView中显示数据库内容767
第529章 21.2SQLite数据库的移植770
第530章 21.2.1将SQLite移植到开发板770
第531章 21.2.2在开发板中测试SQLite771
第532章 21.3本章小结773
第533章 嵌入式Web服务器移植774
第534章 22.1Boa的使用与HTML页面测试774
第535章 22.2CGI程序测试779
第536章 22.2.1CGI的概念和原理779
第537章 22.2.2编写CGI脚本测试779
第538章 22.2.3CGIC库的基本使用780
第539章 22.3通过网页控制设备782
第540章 22.4通过网页监控设备785
第541章 22.5网页视频监控788
第542章 22.6将Web服务器移植到开发板791
第543章 22.6.1将Boa移植到开发板791
第544章 22.6.2将CGIC移植到开发板792
第545章 22.6.3将mjpg-streamer移植到开发板792
第546章 22.6.4在开发板上搭建Web服务站点793
第547章 22.7本章小结793
第548章 嵌入式JVM移植794
第549章 23.1phoneME虚拟机移植794
第550章 23.1.1获取源代码795
第551章 23.1.2编译和安装795
第552章 23.1.3测试步骤796
第553章 23.2JamVM虚拟机移植798
第554章 23.2.1GNU Classpath移植798
第555章 23.2.2JamVM移植799
第556章 23.2.3JamVM测试799
第557章 23.3在JamVM上运行Jetty服务器800
第558章 23.3.1Jetty服务器启动800
第559章 23.3.2在Jetty服务器中部署Web应用801
第560章 23.3.3Servlet和JSP页面测试803
第561章 23.4本章小结805
是否关闭自动购买?
关闭后,阅读到本书未购买章节均需要手动购买确认。
取消
关闭
深度实践嵌入式Linux系统移植
已读到0% · 共0条笔记
你可以在这里记录本书的
想法、划线、书签
点评此书
推荐
一般
不行
书友想法
评论
0
赞
0
暂无评论
发 表
回复
赞
评论详情
发 表
确定删除吗?
取 消
删 除
《深度实践嵌入式Linux系统移植
》
仅支持付费会员使用
微信扫码开通付费会员
仅支持付费会员使用
微信扫码开通付费会员