
彭丹 周海涛
本书主要介绍ARM开发的相关知识,详细讲解常用的ARM指令及如何基于ARM架构的外设编写驱动程序,并分析了开源软件U-Boot的启动源代码和网络协议栈。 本书第1~4章为基础篇,主要介绍CPU与ARM、搭建环境、ARM编程、异常等;第5~13章为编程篇,主要介绍基于Exynos 4412的常用外设的工作原理及驱动程序编写等;第14~17章为应用篇,主要介绍开源软件U-Boot的使用及启动程序,并分析网卡DM9000AE的驱动和网络协议栈;以及关于汇编的两点补充。 本书适合从事嵌入式开发的工程师和有一定计算机基础和C语言编程经验的初学者学习参考。
作为资深从业人员,此书还是值得阅读的,其中一些基础知识值得玩味。 1、arm汇编指令集分类,算术运算,逻辑运算,移位,跳转,存储访问,判断比较等; 2、预处理、编译、汇编和链接的关系,分别有什么选项,再引出makefile和链接文件lds,非常适合入门; 3、Arm寄存器分组,函数过程调用ATPCS即ARM-Thumb过程调用标准,数据栈的使用,数据栈的切换 4、异常发生时,硬件和软件各做了哪些工作,总结很到位 5、本书最后的结构体访问效率为什么高从编译和源代码两个角度,看汇编生成指令的条数来比较,管中窥豹,效果很好。 6、本书最后的位置无关码的生成,从汇编角度分析,直接地址跳转以及全局变量初始值的访问来说,一目了然,讲得很透彻。 7、至于其他部分,本书是针对具体一款arm处理器,解剖麻雀,讲解中断、串口、ADC、I2C、SPI、Uboot等例子,可以一带而过,因为具体使用时,不一定用他这款处理器,与其花再多时间,也是浪费。
我从公众号一口Linux过来的,这本书对我来说还是有些深,但我感受到作者言辞恳切,他是真盼望我们学会呀。也有生动的例子帮助理解,比如作者在解释ARM授权架构,内核,层级的专业概念后,又类比,授权架构就是把别人的文章修改之后发,授权内核就是引用别人文章,授权层级就是转发别人文章。行云流水,没有废话,值得一读!
很有深度,需要细细研读,方能吸取其中各个知识点,需要有一定嵌入式基础的。