前几年,我们见证了ARM CortexM3处理器不断扩大自己的应用领域,而且CortexM4也获得了迅速发展。同时,围绕着CortexM处理器的软件开发工具和多种技术也在不断进步。例如,目前基本上所有的CortexM设备驱动库都用上了CMSISCore,而且CMSIS项目也扩展为DSP库软件等多个方面。
在这一版中,我将书的内容进行了一定的调整,以便初学者可以快速理解M3&M4处理器架构,并提高它们在软件应用中的开发效率。应许多用户的要求,还会介绍几个前面的版本未涉及的高级话题,而且它们在其他的书或者ARM的文档中也没有出现过。在这一版中,还加入了CortexM4处理器的许多新的信息,比如浮点单元和DSP指令的应用细节,并对一些内容进行了更加深入的介绍。例如,与上一版相比,本书介绍的微控制器软件开发组件更多,其中包括基于CMSISRTOS API的实时操作系统的一章内容以及多个高级话题的其他信息。
本版还增加了DSP Concepts的CEO Paul Beckmann写的两章内容,DSP Concepts是为ARM开发CMSISDSP库的公司。我非常高兴能够得到他的帮助,因为他对DSP应用及CMSISDSP库的深入理解,使得本书对于任何ARM嵌入式软件开发人员都极具价值。
本书既面向嵌入式硬件系统设计人员,也面向软件工程师。由于书中的内容涵盖了从入门知识到许多详细的高级信息,它也适合多种读者使用,其中包括程序员、嵌入式产品设计人员、电子爱好者、研究人员及片上系统(SoC)工程师。若用户想从包括经典的ARM处理器ARM7TDMI在内的其他架构移植到CortexM微控制器,则可以参考介绍软件移植的一章。
真心希望读者能从本书中找到有用的东西。
我想感谢下面的这些人,他们对本书的第3版提出了建议和反馈:
首先,非常感谢Paul Beckmann博士,他提供了DSP方面的两章内容。DSP运算能力是CortexM4处理器的一个重要特性,而DSP库则可为开发DSP应用的用户提供非常大的帮助。有了这两章,本书才称得上完整。
其次,我要感谢ARM公司的同事提供的支持,Joey Ye、Stephen Theobald、Graham Cunningham、Edmund Player、Drew Barbier、Chris Shore、Simon Craske和Robert Boys反馈了很多有用的信息。还非常感激ARM嵌入式市场团队的支持,他们是Richard York、Andrew Frame、Neil Werdmuller和Ian Johnson。
我要感谢Keil公司为我解答了许多CMSIS方面问题的Reinhard Keil、Robert Rostohar和Martin Günther,检查EWARM相关内容的IAR Systems的Anders Lundgren,以及检查了Atollic TrueStudio相关内容的Magnus Unemyr。
我还要感谢下面的这些人,他们在我写本书第1版和第2版时提供了帮助,他们是: Dominic Pajak、AlanTringham、Nick Sampays、Dan Brook、David Brash、Haydn Povey、Gary Campbell、Kevin McDermott、Richard Earnshaw、 Shyam Sadasivan、Simon Axford、Takashi Ugajin、Wayne Lyons、Samin Ishtiaq、Dev Banerjee、Simon Smith、Ian Bell、Jamie Brettle、Carlos O’Donell、Brian Barrera和Daniel Jacobowitz。
当然,还得感谢我之前写的书的读者,他们给我提供了很多有用的反馈信息。
另外,感谢Elsevier的各位同人,有了他们专业的工作,本书才得以出版。
最后,特别感谢所有的朋友在我写这本书时给予的支持和理解。
Joseph Yiu
