共找到 6 项 “机械工业出版社 2021-06-25” 相关结果
- 全部分类
- 全部
- 文学
- 历史
- 哲学/宗教
- 法律
- 政治/社会
- 医学
- 教育/心理学
- 艺术/传媒
- 研究生考试
- 资格认证考试
- 公开课
- 语言
- 经济金融
- 管理学
- IT/计算机
- 自然科学
- 工学/工程
- 体育
- 行业资料
- 音乐
- 汽车机械制造
- 文档模板
- 创业
- 农学
- 生活
- 数据库教程
- 民族
作者: 崔广章
简介:内容简介这是一本从环境搭建、部署配置、系统架构、工作原理、源码分析、二次开发等维度系统讲解如何打造协同的云、边、端系统的著作。全书一共9章,逻辑上分为三大部分:第1部分 边缘计算基础(第1~2章)首先介绍了边缘计算和边缘计算系统的概念、组成、架构,以及边缘计算系统的部署与管理;然后分别以Kubernetes、KubeEdge、EdgeX Foundry为例讲解了云、边、端的部署与配置。既给出了边缘计算系统部署所需的自动化脚本,又分析了应用在云数据中心部署和以云、边、端协同的方式部署的利弊。第二部分 工作原理(第3~6章)首先从整体上对边缘计算系统的逻辑架构进行了介绍,然后从部署、配置、架构等角度对分别云、边、端的核心组件的工作原理进行了深入解析。第三部分 源码分析(第7~9章)云、边、端的开源框架众多,云部分选择Kubernetes、边部分选择KubeEdge、端部分选择EdgeX Foundry,首先详细介绍了这3种开发框架的开发环境搭建和源码的整体架构,然后对他们的核心组件的源码进行了深入分析,同时也对这3个框架的二次开发进行了讲解。
简介:嵌入式微处理器功能强大、节能和低成本与嵌入式Linux系统的灵活性结合,促使业界许多公司基于嵌入式微处理器开发出了很多新产品。本书教读者基于设备树嵌入式Linux系统如何开发设备驱动程序。读者将学习编写不同类型的Linux驱动程序,以及与内核和用户空间交互的应用程序程序接口(API)和方法。本书以实战为核心,阐述了Linux内核基础知识,将编写大约30个驱动程序并移植到三种不同的微处理器上。本书在实验部分中基于NXP i.MX7D、Microchip SAMA5D2和Broadcom BCM2837三种不同微处理器详细阐述了驱动程序的开发的实现,读者可参考实验部分选择开发和测试自己的驱动程序。在阅读本书之前,建议读者先购买一个基于这些微处理器之一的开发板,板上至少应有一个SPI和I2C控制器,例如Raspberry Pi3模型B板。【目录】译者序前言作者简介第1章 构建系统11.1 引导加载程序11.2 Linux内核31.3 系统调用接口和C运行时库61.4 系统共享库71.5 根文件系统81.6 Linux启动过程91.7 构建嵌入式Linux系统101.8 设置以太网通信111.9 为NXP i.MX7D处理器构建嵌入式Linux系统111.9.1 简介121.9.2 主机软件包121.9.3 设置repo工具131.9.4 Yocto工程的安装和映像构建131.9.5 Yocto 之外的工作151.9.6 构建Linux内核181.9.7 安装TFTP服务器201.9.8 安装NFS服务器201.9.9 设置U-Boot环境变量211.10 为Microchip SAMA5D2处理器构建嵌入式Linux系统211.10.1 简介221.10.2 主机软件包221.10.3 Yocto工程的安装和映像构建221.10.4 Yocto 之外的工作251.10.5 构建Linux内核251.10.6 安装TFTP服务器271.10.7 安装NFS服务器271.10.8 设置U-Boot环境变量281.11 为Broadcom BCM2837处理器构建Linux嵌入式系统281.11.1 Raspbian281.11.2 构建Linux内核291.11.3 将文件复制到Raspberry Pi311.12 使用Eclipse331.12.1 用于内核源码的Eclipse配置331.12.2 用于开发Linux驱动程序的Eclipse配置38第2章 Linux设备与驱动模型422.1 总线核心驱动422.2 总线控制器驱动452.3 设备驱动452.4 设备树简介46第3章 简驱动程序503.1 许可证513.2 实验3-1:“helloworld”模块513.3 代码清单3-1:helloworld_imx.c523.4 代码清单3-2:Makefile523.5 helloworld_imx.ko演示533.6 实验3-2:“带参数的helloworld”模块533.7 代码清单3-3:helloworld_imx_with_parameters.c543.8 helloworld_imx_with_parameters.ko演示543.9 实验3-3:“helloworld计时”模块553.10 代码清单3-4:helloworld_imx_with_timing.c553.11 helloworld_imx_with_timing.ko演示56第4章 字符设备驱动574.1 实验4-1:“helloworld字符设备”模块594.2 代码清单4-1:helloworld_imx_char_driver.c634.3 代码清单4-2:Makefile654.4 代码清单 4-3:ioctl_test.c654.5 helloworld_imx_char_driver.ko演示664.6 将模块添加到内核构建664.7 使用设备文件系统创建设备文件674.8 实验4-2:“class字符设备”模块684.9 代码清单4-4:helloworld_imx_class_driver.c704.10 helloworld_imx_class_driver.ko演示724.11 杂项字符设备驱动724.12 实验4-3:“杂项字符设备”模块734.13 代码清单4-5:misc_imx_driver.c744.14 misc_imx_driver.ko演示75第5章 平台设备驱动765.1 实验5-1:“平台设备”模块785.2 代码清单5-1:hellokeys_imx.c815.3 hellokeys_imx.ko演示825.4 操作硬件的文档825.5 硬件命名约定835.6 引脚控制器845.7 引脚控制子系统865.8 设备树引脚控制器绑定925.9 GPIO 控制器驱动965.10 GPIO描述符使用者接口985.10.1 获取和释放GPIO985.10.2 使用GPIO995.10.3 GPIO映射到中断995.10.4 GPIO设备树1005.11 在内核和用户态之间交换数据1005.12 MMIO(内存映射I/O)设备访问1015.13 实验5-2:“RGB LED平台设备”模块1035.13.1 i.MX7D处理器的硬件描述1035.13.2 SAMA5D2处理器的硬件描述1055.13.3 BCM2837处理器的硬件描述1075.13.4 i.MX7D处理器的设备树1075.13.5 SAMA5D2处理器的设备树1115.13.6 BCM2837处理器的设备树1145.13.7 “RGB LED平台设备”模块的代码描述1155.14 代码清单5-2:ledRGB_sam_platform.c1195.15 ledRGB_sam_platform.ko演示1245.16 平台驱动资源1245.17 Linux LED类1265.18 实验5-3:“RGB LED类”模块1285.18.1 i.MX7D、SAMA5D2和BCM2837处理器的设备树1285.18.2 “RGB LED类”模块的代码描述1305.19 代码清单5.3:ledRGB_sam_class_platform.c1345.20 ledRGB_sam_class_platform.ko演示1375.21 用户态中的平台设备驱动1375.22 用户定义的I/O:UIO1395.22.1 UIO如何运转1405.22.2 内核中的UIO API1415.23 实验5-4:“LED UIO平台”模块1425.23.1 i.MX7D、SAMA5D2和BCM2837处理器的设备树1435.23.2 “LED UIO平台”模块的代码描述1445.24 代码清单5-4:led_sam_UIO_platform.c1465.25 代码清单5-5:UIO_app.c1485.26 led_sam_UIO_platform.ko及UIO_app演示150第6章 I2C从端驱动1516.1 Linux I2C 子系统1526.2 编写I2C 从端驱动1556.2.1 注册I2C从端驱动1556.2.2 在设备树中声明I2C设备1576.3 实验6-1:“I2C I/O 扩展设备”模块1596.3.1 i.MX7D处理器的硬件描述1596.3.2 SAMA5D2 处理器的硬件描述1596.3.3 BCM2837处理器的硬件描述1606.3.4 i.MX7D处理器的设备树1616.3.5 SAMA5D2处理器的设备树1626.3.6 BCM2837处理器的设备树1636.3.7 “I2C I/O扩展设备”模块的代码描述1646.4 代码清单6-1:io_imx_expander.c1676.5 io_imx_expander.ko演示1706.6 sysfs文件系统1716.7 实验6-2:“I2C多显LED”模块1746.7.1 i.MX7D处理器的硬件描述1756.7.2 SAMA5D2处理器的硬件描述1766.7.3 BCM2837处理器的硬件描述1766.7.4 i.MX7D处理器的设备树1776.7.5 SAMA5D2处理器的设备树1786.7.6 BCM2837处理器的设备树1806.7.7 ACPI和设备树的统一设备属性接口1816.7.8 “I2C多显LED”模块的代码描述1826.8 代码清单6-2:ltc3206_imx_led_class.c1866.9 ltc3206_imx_led_class.ko演示192第7章 处理设备驱动中的中断1947.1 GPIO控制器在Linux内核的中断域1967.2 设备树中断处理2037.3 在Linux设备驱动中申请中断2067.4 实验7-1:“按钮中断设备”模块2077.4.1 i.MX7D处理器的硬件描述2087.4.2 SAMA5D2处理器的硬件描述2087.4.3 BCM2837处理器的硬件描述2087.4.4 i.MX7D 处理器的设备树2087.4.5 SAMA5D2 处理器的设备树2097.4.6 BCM2837 处理器的设备树2107.4.7 “按钮中断设备”模块的代码描述2117.5 代码清单7-1:int_imx_key.c2137.6 int_imx_key.ko演示2157.7 延迟工作2157.7.1 软中断2167.7.2 tasklet2177.7.3 定时器2187.7.4 线程化的中断2217.7.5 工作队列2237.8 内核中的锁2267.8.1 锁和单处理器内核2277.8.2 在中断和进程上下文之间共享自旋锁2277.8.3 在用户上下文使用锁2277.9 内核中的睡眠2287.10 实验7-2:“睡眠设备”模块2297.10.1 i.MX7D处理器的设备树2307.10.2 SAMA5D2处理器的设备树2317.10.3 BCM2837处理器的设备树2327.10.4 “睡眠设备”模块的代码描述2337.11 代码清单7-2:int_imx_key_wait.c2367.12 int_imx_key_wait.ko演示2397.13 内核线程2397.14 实验7-3:“keyled类”模块2407.14.1 i.MX7D处理器的硬件描述2407.14.2 SAMA5D2处理器的硬件描述2417.14.3 BCM2837处理器的硬件描述2417.14.4 i.MX7D 处理器的设备树2427.14.5 SAMA5D2处理器的设备树2457.14.6 BCM2837处理器的设备树2477.14.7 “keyled类”模块的代码描述2497.15 代码清单7-3:keyled_imx_class.c2557.16 keyled_imx_class.ko演示264第8章 在Linux驱动中分配内存2668.1 查询ARM的MMU转换表2678.2 Linux地址的类型2718.3 用户进程的虚拟地址到物理地址的映射2738.4 内核的虚拟地址到物理地址的映射2738.5 内核内存分配器2758.5.1 页面分配器2758.5.2 页面分配器接口2758.5.3 SLAB分配器2768.5.4 SLAB分配器接口2788.5.5 kmalloc内存分配器2798.6 实验8-1:“链表内存分配”模块2808.7 代码清单8-1:linkedlist_imx_platform.c2838.8 linkedlist_imx_platform.ko演示287第9章 在Linux设备驱动中使用DMA2889.1 缓存一致性2889.2 Linux DMA引擎API2899.3 实验9-1:“流式DMA”模块2959.4 代码清单9-1:sdma_imx_m2m.c3029.5 sdma_imx_m2m.ko演示 3069.6 DMA分散/聚集映射3069.7 实验9-2:“分散/聚集DMA设备”模块 3079.8 代码清单9-2:sdma_imx_sg_m2m.c3109.9 sdma_imx_sg_m2m.ko演示 3159.10 用户态DMA3159.11 实验9-3:“用户态DMA”模块3179.12 代码清单9-3:sdma_imx_mmap.c3199.13 代码清单9-4:sdma.c3239.14 sdma_imx_mmap.ko演示324第10章 输入子系统设备驱动框架32510.1 输入子系统驱动程序32610.2 实验10-1:“输入子系统加速度计”模块32710.2.1 设备树32910.2.2 使用I2C交互的输入框架33010.2.3 使用输入设备的输入框架33110.3 代码清单10-1:i2c_imx_accel.c33410.4 i2c_imx_accel.ko演示33610.5 在Linux中使用SPI33710.6 Linux的SPI子系统33910.7 编写SPI从设备驱动程序 34210.7.1 注册SPI从设备驱动程序 34210.7.2 在设备树中声明SPI设备34310.8 实验10-2:“SPI加速度计输入设备”模块34610.8.1 i.MX7D 处理器的硬件描述34710.8.2 SAMA5D2处理器的硬件描述 34710.8.3 BCM2837处理器的硬件描述 34810.8.4 i.MX7D处理器的设备树34810.8.5 SAMA5D2处理器的设备树 34910.8.6 BCM2837处理器的设
简介:本书共12章:第1章介绍机器学习的基本概念和理论,并介绍用于机器学习的R软件环境的准备;第2章介绍如何应用R来管理数据,进行数据的探索分析和数据可视化;第3~9章介绍典型的机器学习算法,包括k近邻分类算法、朴素贝叶斯算法、决策树和规则树、回归预测、黑盒算法——神经网络和支持向量机、关联分析、k均值聚类,并给出大量的实际案例和详细的分析步骤,例如乳腺癌的判断、垃圾短信的过滤、贷款违约的预测、毒蘑菇的判别、医疗费用的预测、建筑用混凝土强度的预测、光学字符的识别、超市购物篮关联分析以及市场细分等;第10章介绍模型性能评价的原理和方法;第11章给出提高模型性能的几种常用方法;第12章讨论用R进行机器学习时可能遇到的一些高级专题,如特殊形式的数据、大数据集的处理、并行计算和GPU计算等技术。
作者: (美)塞巴斯蒂安·布贝克(Sébastien Bubeck
简介:本书介绍了凸优化中的主要复杂性定理及其相应的算法。从黑箱优化的基本理论出发,内容材料是朝着结构优化和随机优化的新进展。我们对黑箱优化的介绍,深受Nesterov的开创性著作和Nemirovski讲稿的影响,包括对切割平面方法的分析,以及(加速)梯度下降方案。我们还特别关注非欧几里德的情况(相关算法包括Frank Wolfe、镜像下降和对偶平均法),并讨论它们在机器中的相关性学习。我们慢慢的介绍了FISTA(优化一个光滑项和一个简单的非光滑项的和)、鞍点镜像代理(Nemirovski平滑替代Nesterov的光滑)和一个对内点方法的简明描述。在随机优化中,我们讨论了随机梯度下降、小批量、随机坐标下降和次线性算法。我们还简单地讨论了组合问题的凸松弛和随机性对取整(四舍五入)解的使用,以及基于随机游动的方法。
作者: 淡丹辉
简介:本书以工程结构智慧监测技术为主要内容,以桥梁结构为具体应用对象,从工程结构智慧监测的概念、物质基础、软硬件环境、系统设计方法,以及实现智慧功能的算法支撑层面展开系统论述,并结合目前单体桥梁监测系统、网级中小桥梁监测系统的工程实践,介绍工程结构智慧监测的规划、设计、实施和运维的全过程。本书分为上、中、下三篇,分别为桥梁结构智慧监测的物质基础、桥梁结构集成智慧监测系统的智慧功能实现方法和桥梁工程结构智慧监测实践与探索。本书可作为智能建造专业本科生和研究生的教材,也可作为从事桥梁管养、监测检测方面研究的科研人员、工程技术人员的参考书。