返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • [正版]出版社从零开始学ARM ARM架构编程嵌入式开发4412处理器linux驱动开发CPUU-Boot启动代码
  • 官方正版 出版社直发
    • 作者: 彭丹,周海涛编著著 | 无编
    • 出版社: 人民邮电出版社
    • 出版时间:2023-05
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    友一个文化制品专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 彭丹,周海涛编著著| 无编
    • 出版社:人民邮电出版社
    • 出版时间:2023-05
    • 页数:无
    • ISBN:9783014718507
    • 版权提供:人民邮电出版社

            铺公告

      为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。

    温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货)。

      关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。

     

     


    商品参数


    内容介绍

    本书主要介绍ARM开发的相关知识,详细讲解常用的ARM指令及如何基于ARM架构的外设编写驱动程序,并分析了开源软件U-Boot的启动源代码和网络协议栈。 本书第1~4章为基础篇,主要介绍CPU与ARM、搭建环境、ARM编程、异常等;第5~13章为编程篇,主要介绍基于Exynos 4412的常用外设的工作原理及驱动程序编写等;第14~17章为应用篇,主要介绍开源软件U-Boot的使用及启动程序,并分析网卡DM9000AE的驱动和网络协议栈;以及关于汇编的两点补充。 本书适合从事嵌入式开发的工程师和有一定计算机基础和C语言编程经验的初学者学习参考。
    目录

    第 1章 ARM与CPU 1
    1.1 ARM公司 1
    1.2 ARM内核与架构 4
    1.2.1 ARM内核 4
    1.2.2 ARM架构 5
    1.2.3 指令集 7
    1.2.4 ARM处理器分类 9
    1.2.5 什么是SoC? 11
    1.2.6 Exynos 4412 SCP 15
    1.2.7 ARM授权 17
    1.2.8 总结 18
    1.3 计算机重要贡献者 18
    1.4 CPU架构 22
    1.4.1 冯诺依曼架构 22
    1.4.2 哈佛架构 23
    1.4.3 CPU组成 25
    1.5 指令的运行 30
    1.6 ARM技术特征 31
    1.7 ARM工作模式 32
    1.8 ARM寄存器 33
    1.8.1 寄存器分类 33
    1.8.2 CPSR格式详解 36
    1.9 协处理器 37
    1.10 Jzelle 38
    1.11 指令流水线 39
    1.11.1 3级流水线 39
    1.11.2 指令对流水线影响 40
    第 2章 搭建环境 44
    2.1 KEIL安装 44
    2.1.1 ARM集成开发环境 44
    2.1.2 KEIL、MDK、uVision、ARM之间的关系 45
    2.1.3 安装Keil 46
    2.1.4 创建第 一个工程 49
    2.1.5 编译代码 52
    2.1.6 如何debug代码? 53
    2.2 GNU编译环境搭建 56
    2.2.1 安装VMware Workstation 57
    2.2.2 安装ubuntu 62
    2.3 交叉编译工具安装 67
    第3章 ARM编程 70
    3.1 ARM指令格式 71
    3.2 数据处理指令 72
    3.2.1 MOV指令 72
    3.2.2 移位操作 75
    3.2.3 CMP指令 76
    3.2.4 TST指令 77
    3.2.5 算数运算指令 78
    3.3 跳转指令 81
    3.4 程序状态寄存器访问 84
    3.4.1 MRS指令 84
    3.4.2 MSR指令 85
    3.4.3 举例 85
    3.5 LDR/STR指令 91
    3.5.1 LDR指令 91
    3.5.2 STR指令 92
    3.5.3 LDRB指令 93
    3.5.4 LDRH指令 93
    3.6 ARM寻址方式 94
    3.7 LDREX/STREX指令 103
    3.8 MDK与GNU 106
    3.9 GNU书写风格 108
    3.9.1 标号symbol(或label) 108
    3.9.2 常数 109
    3.9.3 特殊字符和语法 109
    3.9.4 语句格式 110
    3.9.5 分段 110
    3.9.6 定义入口点 112
    3.10 伪操作 112
    3.10.1 数据定义伪操作 112
    3.10.2 .align .end .include .incbin伪操作 113
    3.10.3 .rept伪操作 114
    3.10.4 macro宏定义 114
    3.10.5 .if伪操作 115
    3.10.6 .global/.type/.title/.list伪操作 115
    3.10.7 杂项伪操作标识符 116
    3.10.8 伪指令 118
    3.13 GNU代码的编译 119
    3.13.1 交叉编译工具 119
    3.13.2. 交叉编译工具命名规则 119
    3.13.3 代码编译过程 120
    3.13.3 编译选项 122
    3.13.4 ELF与bin 126
    3.13.5 编译举例 127
    3.14 ATPCS和AAPCS 132
    3.15 内联汇编 135
    3.16 C语言和汇编相互调用举例 137
    第4章 异常(Exception) 139
    4.1 异常基础知识 139
    4.2 异常处理 141
    4.2.1 异常发生后硬件操作 141
    4.2.2 异常向量表 142
    4.2.3 保存执行现场 143
    4.2.4 异常处理的返回 144
    4.2.5 异常恢复 146
    4.3 IRQ中断异常 146
    4.3.1 中断概念 146
    4.3.2 中断处理流程 147
    4.4 软中断 148
    4.4.1 SWI指令 148
    4.4.2 BKPT指令 148
    4.4.3 举例 149
    4.4.4 如何同时跳转并切换模式? 151
    4.4.5 如何获取中断号? 151
    第5章 GPIO及LED 152
    5.1 GPIO 153
    5.1.1 Exynos 4412 GPIO特性 153
    5.1.2 LED灯电路图 154
    5.1.3 如何操作GPIO? 155
    5.2 LED驱动编写 157
    5.2.1 汇编代码 157
    5.2.2 c语言实现 158
    5.2.3 烧写代码 161
    第6章 PWM 162
    6.1 PWM基础知识 162
    6.2 Exynos 4412 PWM 164
    6.2.1 Exynos 4412 PWM特性 165
    6.2.2 PWM工作步骤 166
    6.3 蜂鸣器驱动编写 167
    6.3.1 参考电路 167
    6.3.2 寄存器 168
    6.3.3 代码实现 172
    第7章 中断、key 173
    7.1 GIC 173
    7.1.1 分发器 174
    7.1.2 CPU接口 176
    7.1.3 中断分类 176
    7.1.4 中断处理 179
    7.2 key驱动编写 180
    7.2.1 电路图 180
    7.2.2 配置按键为中断触发方式 181
    7.2.3 寄存器 183
    7.2.4 代码实现 188
    7.3 轮询方式 190
    第8章 UART 192
    8.1 UART概述 192
    8.1.1 UART通信方式 192
    8.1.2 UART帧格式 195
    8.2 Exynos 4412 UART控制器 196
    8.2.1 UART特性 197
    8.2.2 UART内部功能模块 197
    8.2.3 时钟源 200
    8.4 驱动编写 200
    8.4.1 参考电路 200
    8.4.2 UART寄存器 202
    8.4.3 代码实现 206
    8.5 移植printf() 209
    第9章 RTC详解 209
    9.1 Exynos 4412 RTC 210
    9.1.1 Exynos 4412 RTC特性 210
    9.1.2 RTC Block 210
    9.1.3 备用电池 211
    9.1.4 晶振 211
    9.2 RTC寄存器 212
    9.3 RTC操作 214
    9.4 代码实现 219
    第 10章 看门狗 222
    10.1 Exynos 4412 看门狗 222
    10.1.1 看门狗定时器模块图 223
    10.1.2 工作原理 223
    10.2 驱动编写 224
    10.2.1 看门狗软件程序设计流程 224
    10.2.2 看门狗寄存器 224
    10.2.3 代码实现 226
    第 11章 ADC 227
    11.1 信号基础知识 228
    11.1.1 信号分类 228
    11.1.2 数字信号优点 229
    11.1.4 PCM脉冲编码调制 229
    11.2 Exynos 4412 ADC控制器 231
    11.2.1 Exynos 4412 ADC控制器特性 231
    11.2.2 寄存器 232
    11.2.3 Combiner中断控制器 234
    11.2.4 A/D转换的转换时间计算 236
    11.3 驱动编写 236
    11.3.1 参考电路 236
    11.3.2 代码实例 238
    第 12章 I2C 241
    12.1 I2C协议 241
    12.1.1 开始和停止条件 241
    12.1.2 数据有效性 243
    12.1.3 数据传输格式 243
    12.1.4 数据传输格式 245
    12.2 Exynos 4412 I2C控制器 245
    12.2.1 Exynos 4412 I2C控制器综述 245
    12.2.2 Exynos 4412 I2C总线接口特性 246
    12.2.3 I2C数据读写格式 247
    12.2.3 数据读写流程 248
    12.2.4 寄存器 252
    12.2.5 寄存器使用规则 255
    12.3 MPU6050及驱动编写 255
    12.3.1 MPU6050 255
    12.3.2 参考电路 258
    12.3.3 MPU6050内部寄存器 259
    12.3.4 代码实例: 260
    第 13章 SPI 264
    13.1 SPI基础知识 264
    13.1.1 SPI特点 264
    13.1.2 极性和相位 268
    13.1.3 采样波形 268
    13.1.4 如何设置极性和相位 270
    13.1.5 数据交换(Data Exchanges) 271
    13.2 Exynos 4412 SPI控制器 272
    13.3 SPI操作 274
    13.3.1 参考电路 274
    13.3.2 寄存器 275
    13.3.3 SPI初始化流程 278
    13.3.4 收发数据流程 282
    13.4 MCP2515 283
    13.4.1 MCP2515简介 283
    13.4.2 MCP2515特性 283
    13.4.3 结构框图 284
    13.4.4 SPI 协议模块 285
    13.4.5 SPI 指令集 285
    13.4.6 CAN初始化 289
    13.4.7 CAN缓冲区 296
    13.4.8 数据发送 296
    13.4.9 CAN数据的接收 298
    17.6.7 MCP2515驱动实现 300
    第 14章 U-Boot 304
    14.1 Bootloader 304
    14.1.1 概念 304
    14.1.2 分类 305
    14.1.3 Bootloader对不同CPU架构支持 306
    14.2 U-Boot概述 307
    14.2.1 U-Boot概念 307
    14.2.2 U-Boot的特性 307
    14.2.3 工作模式 308
    14.2.4 U-Boot常用命令 309
    14.2.5 配置举例 312
    14.3 U-Boot移植步骤 313
    14.3.1 U-Boot源码简介 313
    14.3.2 U-boot源码配置 316
    14.3.3 U-Boot源码编译 319
    14.4 U-Boot硬件驱动移植 321
    14.4.1 实现串口输出 321
    14.4.2 网卡驱动移植 322
    14.4.3 FLASH移植 (EMMC) 325
    14.5 SD卡制作 331
    14.5.1 编写脚本 331
    14.5.2 sd卡制作 334
    14.5.3 通过sd卡启动烧写U-Boot 334
    14.5.4 网络烧写U-Boot 336
    第 15章、U-Boot代码启动分析 337
    15.1 内核启动流程概述 337
    15.1.1 U-boot启动加载linux内核一般流程 337
    15.1.2 Exynos 4412内存布局 339
    15.1.3 Booting Sequence 340
    15.1.4 SD卡镜像布局 342
    15.1.5 lds文件 343
    15.2 U-Boot启动流程代码详解 344
    15.2.1 U-Boot启动代码流程 344
    15.2.2 U-Boot启动详解 346
    15.3 U-Boot启动的几个关键问题 364
    第 16章 网卡DM9000x 365
    16.1 网卡概述 365
    16.2 DM9000AE 366
    16.2.1 DM9000AE概述 366
    16.2.2 模块图 367
    16.2.3 引脚说明 368
    16.2.4 DM9000AE内部寄存器 372
    16.3 SROM 控制器 378
    16.3.1 概念 378
    16.3.2 寄存器SROM_BW、SROM_BC1 378
    16.3.3 配置为SROM模式 383
    16.3.4 SROM初始化 388
    16.4 DM9000AE驱动分析 392
    16.4.1 网卡注册 392
    16.4.2 网卡注册代码分析 394
    16.4.5 网卡的初始化 398
    16.4.6 数据的发送 402
    16.4.7 数据的接收 404
    16.4.4 网卡注销 406
    16.5 U-Boot中网络协议栈 407
    16.5.1 网络协议栈架构 407
    16.5.2 DNS协议详解 408
    第 17章 关于汇编的两点补充 420
    17.1 为什么使用结构体效率会高? 420
    17.1.1 定义多个全局变量 420
    17.1.2 使用结构体 423
    17.1.3 literal pool 424
    17.1.4 继续优化 425
    17.2 位置无关码 426
    17.2.1 为什么需要位置无关码? 426
    17.2.2 如何编写位置无关码 427
    17.2.3 举例 427
    17.2.4 总结 431
    17.2.5 思考题 432
    作者介绍

    彭丹,硕士,“一口Linux”**,南京六九*二科技有限公司*嵌入式驱动工程师。从事嵌入式软件开发工作16年。精通计算机网络、ARM、基于Linux的驱动开发。获得多项科技发明授权、多篇软件文章等。 周海涛,硕士,长期从事网络*和信息化建设相关工作,著有多篇论文,江苏省第六期333高层次人才培养工程培养对象。
    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购