The Definitive Guide to ARM Cortex M0 & M0+

所需积分/C币:30 2018-07-07 16:34:47 61.42MB PDF
76
收藏 收藏
举报

本书是系统论述ARM Cortex-M0与Cortex-M0+处理器及其编程的图书,作者Joseph Yiu是英国ARM公司的主管工程师,著有久负盛名的畅销图书《ARM Cortex-M3与Cortex-M4权威指南(第3版)》(清华大学出版社)。本书适合的读者对象包括:嵌入式产品设计工程师、嵌入式软件开发人员、电子爱好者以及学习嵌入式系统课程(ARM Cortex-M0与Cortex-M0+)的高年级本科生及研究生等。作者提供了详实的配书工程源文件(见封面下载地址)。 l 深度剖析系统模型、指令集以及中断处理,以利于理解ARM Cortex-M0与Cortex-M0+的工作方式; l 综合运用汇编语言和C语言实现的丰富的ARM Cortex-M0与Cortex-M0+编程案例,有助于快速动手实践; l 系统论述软件的开发流程,并以常用软件开发工具为例,介绍程序设计的实例及如何定位程序代码问题和软件移植等方面的知识; l 全面揭秘从其他架构处理器进行软件移植的方法,包括ARM7TDMI、ARM Cortex-M3以及8051微控制器移植的实例; l 深入解析Cortex-M0和Cortex-M0+处理器架构特性的差异(如非特权执行等级、向量表重定位); l 细致分析了Cortex-M0+处理器的优势,比如新的单周期I/O接口、更优的能耗效率、更高的性能以及微跟踪缓冲(MTB)特性; l 详尽介绍了软件开发工具方面的新内容,如Keil MDK版本5、IAR Embedded Workbench for ARM、ARM gcc、CooCox及mbed使用示例; l 提供了基于CMSIS-RTOS API的Keil RTX实时操作系统的新实例; l 提供了Cortex-M0和Cortex-M0+微控制器使用实例,包括Freescale Freedom板(FRDM-KL25Z)、STM32F0 Discovery、STM32L0 Discovery和NXP LPC1114(DIP封装)面包板等。
This book is dedicated to the memory of my sister, Lucia Yiu Adventurous, supportive, loads of fun and full of energy the whole family miss you Foreword I started my professional career in 1982, working in a microprocessor software department, and focused for years on the 8051 as this microcontroller architecture was--during the 1990s-the engine for all types of embedded applications. Over decades, I was part of a booming embedded industry that created a wide spectrum of processor architectures. During this time, the microcontroller market became extremely fragmented with numerous silicon vendors and technologies. Some years ago. every embedded application was created from scratch with no software reuse and ground-up training for engineers to cope with the project challenges But over the years, microcontroller systems became increasingly complex and demanded even higher performance to fulfil the wishes for more features and convenient operations. Often these systems are also price sensitive and therefore increasingly microcontroller systems are designed as single-chip designs based on high performance 32-bit processors, which are dominant today. Meanwhile, cost pressure and challenging software development require standardization, while, at the same time, a diverse lo connectivity requires a range of devices To solve these challenges, the embedded industry has established the ARM Cortex-M processor series as the de-facto standard microcontroller architecture. These processors are licensed to more than 200 companies that produce devices ranging from standard microcontrollers to domain-specific sensors to complete radio communication systems for the internet of things To support a wide range of applications ARM launched multiple processors that implement the Cortex-M architecture. At the low-end of the spectrum the cortex-Mo and cortex-Mo+ is available for applications that were previously dominated by 8-bit microcontrollers. It is no surprise that these processors are today widely used for low-cost devices With the availability of even more capable microcontrollers, software development for these devices has become increasingly complex. USe of real-time operating systems is rapidly becoming an industry best practice and the use of prebuilt middleware as well as software reuse is gaining importance for productive software engineering. Combining software building blocks often poses a problem for developers, but industry standards are a great way Foreword to reduce system development costs and speed up time-to-market. And the cortex-M processor architecture along with the Cmsis software programming standard is the basis for this hardware and software standardization Joseph's book, The Definitive Guide to ARM Cortex-MO and Cortex-M0+ Processors, gives you the foundation for designing and creating applications for all devices that are based on ARM Cortex-MO or Cortex-MO+ processors. I recommend this reading for practical every embedded engineer as it gives you in-depth ground-up knowledge for your day-to-day work Reinhard Keil Director of mcu Tools. arM XX Pr reface Embedded system technologies have changed a lot since 2011, when the first edition of this book was published In 2012, ARM announced the Cortex-MO+ processor and, in 2014 the Cortex-M7 processor was announced. Today, the Cortex-M processor is used in many microcontrollers, as well as in a range of mixed signals and wireless communication chips In addition to processor design, embedded software development technologies have also moved on, as the use of the arm Cortex -m microcontrollers has become more common this has enabled microcontroller software developers to write more sophisticated applications. At the same time, the quest for better battery life and energy efficiency continues. along with improvements in development suites thus the availability of technical literature is becoming more and more important. Thisand With all these changes, microcontroller users need to adapt to new technologies quickly and new edition is therefore full of new information and enhancement In addition to the new information related to the Cortex-MO+ processor, examples of using several popular development suites are also covered. For example, the book has detailed examples of utilizing low-power features in microcontrollers and illustrations of using rtos in a simple application As the Internet of Things (loT) is getting more attention and becoming more main-stream there are more people taking an interest in and starting to learn about embedded programming. There are also more universities and colleges that are now moving on from teaching about legacy 8-bit and 16-bit microcontrollers to starting to teach students about 32-bit embedded processors- like ARM Cortex-M processors. Therefore, many parts of this book have been rewritten and many basic examples have been included to make this even more suitable for beginners, students, hobbyists, etc There are of course audiences who demand in-depth information such as professional embedded software developers, researchers, or even semiconductor product designers. To cater for their needs this book also covers a wide range of technical details and advanced examples I hope that you will find this book helpful and enjoy using Cortex-M processors in your next embedded projects XXII Acknowledgment Many people have assisted me during the time I have been writing this book and this includes the assistance given when I wrote the first edition First of all, many thanks to the various readers who have provided feedback for the first edition, enabling me to improve the contents of this second edition There are also a number of people in ARm, including Colin Jones and Edmund Player for reviewing the contents. a number of companies have also provided me with a deal of assistance, including st microelectronics, Freescale and IAr Systems Of course. without the successful first edition the second edition would not be here I would therefore like to express my gratitude to the following people for their help in the first edition: Amit Bhojraj, Bob(robert) Boys, David Donley, Derek Morris, Dominic Pajak, Drew Barbier, Jamie Brettle, Jeffrey S. Mueller, Jim Kemerling, Joe Yu, John Davies Jon Marsh, Kenneth Dwyer, Milorad Cvjetkovic, Nick Sampays, Reinhard Keil, Simon Craske. William farlow I would also like to thank the staff from Elsevier for their professional work in getting this book published And finally, a big thank you to all of my friends for their encouragement and for forgiving me for being slightly anti-social (I hear you o), while i was working on this book Terms and abbreviations Abbreviations Definitions AAPCS ARM architecture procedure call standard AHB Advanced high-performance bus ALU Arithmetic logic unit AMBA Advanced microcontroller bus architecture APB API Application programming interface ARM ARM ARM Architecture reference manual BE8 Byte invariant big endian m BPU Break point unit CMSIS Cortex microcontroller software interface standard CMOS Complementary metal oxide semiconductor CPU Central processing unit DAP Debug access port DDR Double data rate(memory) DS-5 Development Studio 5 DWT Data watchpoint and trace unit(unit) EABI/ABI Embedded application binary interface EWARM lAR embedded workbench for arm EXC RETURN Exception return FPGA Field programmable gate array GPIO General purpose input/output GPU Graphic processing unit g GNU C compiler HAL Hardware abstraction layer ICE n-circuit emulator IDE Integrated development environment ISA Instr set architecture ISR Interrupt service routine JTAG Joint test action group(a standard of test and debug interface Link register sB Least significant bit MCU Microcontroller unit MDK/MDK-ARM ARM Keil Microcontroller Development Kit MSB Most significant bit Terms and abbreviations td Abbreviations Definitions MTB trace buff MSP Main stack pointer NMI Non-maskable interrupt NVIC Nested vectored interrupt controller OS ○ ting syste PC Program PCB Printed circuit board PSP Process stack pointer PSR/XPSR Program status register RTO Real-time clock RVDS ARM RealView Development suite RTOS Real-time operating system RIX Keil rea-Til Syste SCB System control block Soc Sv n-a-chi SP Stack poi SPI eripheral interface Serial wire debus g TAP Test access TRM Technical reference manual UART Universal asynchronous receiver transmitter ULP Ultra low power USB Universal serial bus WIC Wakeup interrupt controller Conventions Various typographical conventions have been used in this book, as follows Normal assembly program codes MOV RO, RI Move data from register rl to register ro Assembly code in generalized syntax; items inside"<>must be replaced by real register names MRS < reg>, < special_reg> C program codes for(i=0;i<3;i++){func1();} · Pseudo code if (a>b) Values 1. 4hC. Ox 123 are both hexadecimal values 2. #3 indicates item number3(e. g, IRQ#3 means IRQ number 3) 3. #immed 2 refers to 12-bit immediate data 4. Register bits--Typically used to illustrate a part of a value based on bit position For example, bit[ 15: 12] means bit number 15 down to 12 Register access types 1. R is Read only 2. Wis write only 3. RW is read or write accessible 4. R/c is Readable and cleared by a write access XXX

...展开详情
试读 127P The Definitive Guide to ARM Cortex M0 & M0+
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享精英

关注 私信
上传资源赚钱or赚积分
最新推荐
The Definitive Guide to ARM Cortex M0 & M0+ 30积分/C币 立即下载
1/127
The Definitive Guide to ARM Cortex M0 & M0+第1页
The Definitive Guide to ARM Cortex M0 & M0+第2页
The Definitive Guide to ARM Cortex M0 & M0+第3页
The Definitive Guide to ARM Cortex M0 & M0+第4页
The Definitive Guide to ARM Cortex M0 & M0+第5页
The Definitive Guide to ARM Cortex M0 & M0+第6页
The Definitive Guide to ARM Cortex M0 & M0+第7页
The Definitive Guide to ARM Cortex M0 & M0+第8页
The Definitive Guide to ARM Cortex M0 & M0+第9页
The Definitive Guide to ARM Cortex M0 & M0+第10页
The Definitive Guide to ARM Cortex M0 & M0+第11页
The Definitive Guide to ARM Cortex M0 & M0+第12页
The Definitive Guide to ARM Cortex M0 & M0+第13页
The Definitive Guide to ARM Cortex M0 & M0+第14页
The Definitive Guide to ARM Cortex M0 & M0+第15页
The Definitive Guide to ARM Cortex M0 & M0+第16页
The Definitive Guide to ARM Cortex M0 & M0+第17页
The Definitive Guide to ARM Cortex M0 & M0+第18页
The Definitive Guide to ARM Cortex M0 & M0+第19页
The Definitive Guide to ARM Cortex M0 & M0+第20页

试读结束, 可继续阅读

30积分/C币 立即下载 >