成功加入购物车

去购物车结算 X
汉唐图书旗舰店
  • 从零开始学ARM
  • 从零开始学ARM
  • 从零开始学ARM
  • 从零开始学ARM

从零开始学ARM

举报

正版图书保证 可开电子发票

  • 出版时间: 
  • 装帧:    平装
  • 开本:    16开
  • ISBN:  9787115606884
  • 出版时间: 
  • 装帧:  平装
  • 开本:  16开

售价 63.90 6.4折

定价 ¥99.80 

品相 全新

优惠 满包邮

优惠 满减券
    运费
    本店暂时无法向该地区发货

    延迟发货说明

    时间:
    说明:

    上书时间2023-12-27

    数量
    库存54
    微信扫描下方二维码
    微信扫描打开成功后,点击右上角”...“进行转发

    卖家超过10天未登录

    • 商品详情
    • 店铺评价
    手机购买
    微信扫码访问
    • 货号:
      9787115606884
      商品描述:
      商品简介

      本书主要介绍ARM开发的相关知识,详细讲解常用的ARM指令及如何基于ARM架构的外设编写驱动程序,并分析了开源软件U-Boot的启动源代码和网络协议栈。

      本书第1~4章为基础篇,主要介绍CPU与ARM、搭建环境、ARM编程、异常等;第5~13章为编程篇,主要介绍基于Exynos 4412的常用外设的工作原理及驱动程序编写等;第14~17章为应用篇,主要介绍开源软件U-Boot的使用及启动程序,并分析网卡DM9000AE的驱动和网络协议栈;以及关于汇编的两点补充。 

      本书适合从事嵌入式开发的工程师和有一定计算机基础和C语言编程经验的初学者学习参考。


      作者简介
      彭丹,硕士,“一口Linux”公众号创始人,南京六九零二科技有限公司高级嵌入式驱动工程师。从事嵌入式软件开发工作16年。精通计算机网络、ARM、基于Linux的驱动开发。获得多项科技发明授权、多篇软件文章等。 

      周海涛,硕士,长期从事网络安全和信息化建设相关工作,著有多篇论文,江苏省第六期333高层次人才培养工程培养对象。

      目录
      第 1章  ARM与CPU1
      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 SCP15
      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  Jzelle38
      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  安装Keil46
      2.1.4  创建第 一个工程49
      2.1.5  编译代码52
      2.1.6  如何debug代码?53
      2.2  GNU编译环境搭建56
      2.2.1  安装VMware Workstation57
      2.2.2  安装ubuntu62
      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与GNU106
      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与bin126
      3.13.5 编译举例127
      3.14 ATPCS和AAPCS132
      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及LED152
      5.1 GPIO153
      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章 PWM162
      6.1PWM基础知识162
      6.2 Exynos 4412 PWM164
      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章 中断、key173
      7.1 GIC173
      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章 UART192
      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 RTC210
      9.1.1 Exynos 4412 RTC特性210
      9.1.2 RTC Block210
      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章 ADC227
      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章 I2C241
      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 MPU6050255
      12.3.2 参考电路258
      12.3.3 MPU6050内部寄存器259
      12.3.4 代码实例:260
      第 13章 SPI264
      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 MCP2515283
      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-Boot304
      14.1 Bootloader304
      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-Boot334
      14.5.4 网络烧写U-Boot336
      第 15章、U-Boot代码启动分析337
      15.1 内核启动流程概述337
      15.1.1 U-boot启动加载linux内核一般流程337
      15.1.2 Exynos 4412内存布局339
      15.1.3 Booting Sequence340
      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章 网卡DM9000x365
      16.1 网卡概述365
      16.2 DM9000AE366
      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_BC1378
      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 pool424
      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

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

      主编推荐
      1.循序渐进,由浅入深:本书从开发环境的安装和配置及ARM基本指令等相关基础知识开始讲解,再详细说明硬件的功能原理,最后介绍U-Boot的使用及启动程序,使读者将ARM相关知识点融会贯通。
      2.实例丰富,内容翔实:包含大量汇编实例,且所有汇编指令都在KEIL软件中测试过;硬件裸机驱动源程序均在开发板上调试过,并有详细的分析注解;U-Boot的启动源程序和U-Boot中的网络协议栈也有详细的程序注解,结合硬件原理图、用户手册说明硬件功能原理,逐个分析9种硬件驱动编程方法,方便读者复现实例并进行学以致用。
      3.提供配套电子资源:本书提供了配套的安装工具、源程序、PPT课件等电子资源,方便读者学习和使用。
      4.作者团队专业:本书作者团队具有嵌入式软件开发多年的经验和丰富的计算机网络、ARM、基于Linux的驱动开发等专业技能,得到了广泛认可和好评。
      5.参考价值高:ARM架构已成为全球重要的科技公司之一,基于ARM架构开发产品的相关工作非常热门,本书介绍的相关知识点对于对嵌入式开发感兴趣的人员非常有参考价值。

      配送说明

      ...

      相似商品

      为你推荐

    孔网啦啦啦啦啦纺织女工火锅店第三课

    开播时间:09月02日 10:30

    即将开播,去预约
    直播中,去观看