您好,欢迎光临本网站![请登录][注册会员]  
文件名称: ARM Cortex-A(armV7)编程手册V4.0.pdf
  所属分类: 专业指导
  开发工具:
  文件大小: 4mb
  下载次数: 0
  上传时间: 2019-10-15
  提 供 者: sinat_1*******
 详细说明:ARM® Cortex™-A7 Series Version: 4.0 Programmer’s Guide This Cortex-A Series Programmer’s Guide is protected by copyright and the practice or implementation of the information herein may be protected by one or more patents or pending applications.Contents ARM Cortex-A Series Programmer's Guide Preface Preface to the 4th edition 11 Typographical conventions Feedback on this book ∴XV References Chapter 1 Introduction History… 1-2 1.2 System-on-Chip(SoC) 1-4 1.3 Embedded systems 15 Chapter 2 ARM Architecture and processors 2.1 Architectural profiles Architecture history and extensions 2-3 2.3 Processor properties 2-8 2.4 Cortex-A series processors 2-10 2.5 Key architectural points of ARM Cortex-A series processors 2-16 Chapter 3 ARM Processor Modes and Registers Registers… 6 Chapter 4 Introduction to Assembly language 4.1 Comparison with other assembly languages 4-2 4.2 The arm instruction sets 4-3 4.3 Introduction to the gnu assembler .4-5 4.4 ARM tools assembly language 4-9 4.5 Interworking 4-11 RM DENO013D Copyright C 2011-2013 ARM. All rights reserved D012214 Non-Confidential ontents 4.6 Identifying assembly code 4-12 Compatibility with ARMV8-A 4-13 Chapter 5 ARM/Thumb Unified Assembly Language Instructions 5.1 Instruction set basi 5.2 Data processing operations “““面 Memory instructions 54 B 5-15 5.5 Saturating arithmetic 5.6 5-17 Chapter 6 Floating-Point 6. 1 Floating-point basics and the IEEE-754 standard aa:a.“:aa 6-2 6.2 VFP support in GCC 6-8 6.3 VFP support in the ARM Compiler 6-9 VFP support in Linux 6-10 6 Floating-point optimizati 6-11 Chapter 7 Introducing NEoN 7.1 SIMD 7-2 NEON architecture overview 7-5 NEON C Compiler and assembler 7-11 Chapter 8 Caches 8.1 Why do caches help? 8-3 8.2 Cache drawbacks 8-4 Memory hierarchy 8-5 8. 4 Cache architecture 8-6 8.5 Cache policies 8.6 Write and Fetch buffers 8-15 8.7 Cache performance and hit rate... .8-16 88 Invalidating and cleaning cache memory .8-17 8.9 Point of coherency and unification..... 8-19 8.10 Level 2 cache controller 8-22 8. 11 Parity and ECC in caches 8-23 Chapter 9 The Memory Management Unit 9 Ial memory 9.2 The translation lookaside buffer 9-4 9.3 Choice of page sizes 9-6 94 First level address translation 9-7 9.5 Level 2 translation tables 9-11 9.6 Memory attribute 9-14 9.7 Multi-tasking and os usage of translation tables 9-17 Chapter 10 Memory Ordering 10 ARM memory ordering model 10.2 Memory barriers... 10-6 10.3 Cache coherency implications 10-11 Chapter 11 Exception Handling 11.1 Types of exception .... 113 11.1.1 Exception priorities…… 111-6 11.2 EXception handling.. 11-10 11.3 Other exception handlers 11-12 11.4 Linux exception program flow 11-14 RM DENO013D Copyright C 2011-2013 ARM. All rights reserved D012214 Non-Confidential Chapter 12 Interrupt Handling 12.1 External interrupt requests…… ,12-2 12.2 The Generic Interrupt Controller 12-7 Chapter 13 Boot code 13 Booting a bare- metal system.……… 13-2 13.2 Configuration 13-6 13.3 Booting Li Chapter 14 Porting 14. Endianness 14-2 4.2 Alignment 14-5 14.3 Miscellaneous c porting issues 14-7 14.4 Porting ARM assembly code to ARMv7-A 14-10 14.5 Porting ARM code to Thumb 14-11 Chapter 15 Application Binary Interfaces 15.1 Procedure call standard 15-2 15.2 Mixing C and assembly code 15-8 Chapter 16 Profiling 16.1 Profiler output Chapter 17 Optimizing Code to Run on ARM Processors 7 Compiler optimizations 172 7.2 ARM memory system optimization 17.3 Source code modifications 17-12 Chapter 18 Multi-core processors 18.1 Multi-processing ARM systems 183 18.2 Symmetric multi-processing 18-5 18.3 Asymmetric multi-processing .18-7 18 4 Het ● 18-8 18.5 Cache coherency… 18-9 18.6 TLB and cache maintenance broadcast 18-13 187 Handling interrupts in an SMP system….… 18-14 18.8 Exclusive acces 18-15 18.9 Booting SMP systems 18-17 18.10 Private memory region... 18-19 Chapter 19 Parallelizing Software 19.1 Amdahl's law 192 19.2 Decomposition methods 193 9. 3 Threading models 19-5 19.4 Threading libraries∴…… 19-6 19.5 Performance issues 199 19.6 Synchronization mechanisms in the Linux kernel 1911 19.7 Profiling in smP systems 19-13 Chapter 20 Power Management 20. 1 Idle management 20-3 20.2 Hotplug… 206 0.3 Dynamic Voltage and Frequency Scal 207 20.4 Assembly language power instructions 20-8 20.5 Power state Coordination Interface Chapter 21 Security 21 Trustzone hardware architecture 21-2 RM DENO013D Copyright C 2011-2013 ARM. All rights reserved D012214 Non-Confidential ontents Chapter 22 Virtualization 22.1 ARMv7-A Virtualization extensions 223 22.2 Hypervisor software 22-6 22.3 Relationship between virtualization and ARM Security Extensions 22. 4 Large Physical Address Extensions 22-10 Chapter 23 big. LITTLE 23. 1 Structure of a big LITTLE system 23-2 23.2 Software execution models in big LITTLE 23-4 23.3 big. LITTLE MP 23-7 234∪ sing big.TLE… 23-10 Chapter 24 Debug 24.1 ARM debug hardware 24-2 24.2 ARM trace hardware 24-4 24.3 Debug monitor 24-7 24.4 Debugging Linux applications 24-8 24.5 DS-5 debug and trace 24-10 Appendix A Instruction Summary A.1 nstruction Summary………………… A-2 Appendix b Tools, Operating Systems and Boards B.1 Linux distributions B.2 Useful tools B-5 B.3 Software toolchains for ARM processors B-7 B.4 ARM DS-5 B-10 B.5 Example platforms… Appendix c Building Linux for ARM Systems C.1 Building the linux kernel C.2 Creating the linux filesystem C-6 C3 Putting it together C-8 RM DENO013D Copyright C 2011-2013 ARM. All rights reserved D012214 Non-Confidential Preface It is estimated that the number of mobile phones in the world will exceed the human population sometime in 2014. It is also estimated that over 90% of all these mobile devices have an Arm processor inside them This book provides an introduction to ARM technology for programmers using ARM Cortex-A series processors conforming to the ARMv7 A architecture. The book is meant to complement rather than replace other ARM documentation available for Cortex-A series processors, such as the ARM Technical reference manuals(trms)for the processors themselves, documentation for individual devices or boards or, most importantly, the ARM Architecture reference Manual(the ARMARM The purpose of this book is to provide a single guide for programmers who want to develop applications for the Cortex-A series of processors, bringing together information from a wide variety of sources that will be useful to both assembly language and C programmers. Hardware concepts such as caches and Memory Management Units are covered, but only where this is valuable to the application writer. We will also look at the way operating systems such as Linux make use of ARM features, and how to take full advantage of the capabilities of the arM processor, in particular writing software for multi-core processors Although much of the content of this book is also applicable to older arm processors it does not explicitly cover processors that implement older versions of the Architecture. The Cortex-R series and M-series processors are mentioned but not described. Our intention is to provide an approachable introduction to the ARM architecture, covering the feature set in detail and providing practical advice on writing both C and assembly language programs to run efficiently on a Cortex-A series processor. This is not an introductory level book. It assumes some knowledge of the C programming language and microprocessors, but not of any ARM-specific background. In the allotted space, we cannot hope to cover every topic in detail. In some chapters, we suggest additional reading (referring either to books or web sites) that can give a deeper level of background to the topic in hand, but in this RM DENO013D Copyright C 2011-2013 ARM. All rights reserved D012214 Non-Confidential Preface book we focus on the ARM-specific detail. We do not assume the use of any particular tool chain. We will mention both gnu and arm tools in the course of the book. We hope that the book is suitable for programmers who have a desktop PC or x86 background and are taking their first steps into the ARM processor based world The first chapters of the book cover the basic features of the ARM Cortex-A series processors An introduction to the fundamentals of the ARM architecture, covering the various registers and modes and some background on individual processors is provided in Chapter 2 and 3 Chapters 4 and 5 provide a brisk introduction to ARM assembly language programming, and assembly language instructions. We look at floating-point and the ARM Advanced SIMD extensions (neon )in Chapters 6 and 7. These chapters are only an introduction to the relevant topics. We then switch our focus to the memory system and look at Caches, Memory Management and Memory Ordering in Chapters 8, 9 and 10. Dealing with exceptions and interrupts are covered in Chapters ll and 12 The remaining chapters of the book provide more advanced programming info Chapter 13 provides an overview of boot code. Chapter 14 looks at issues with porting C and assembly code to the arMv? architecture, from other architectures and from older versions of the arM architecture. Chapter 15 covers the Application Binary Intertace, knowledge of which is useful to both C and assembly language programmers. Profiling and optimizing of code is covered in Chapters 16 and 17. Many of the techniques presented are not specific to the ARM architecture, but we also provide some processor-specific hints Chapters 18 and 19 cover the area of multi-core processors We take a detailed look at how these are implemented by ARM and how you can write code to take advantage of them. Power management is an important part of ARM programming and is covered in Chapter 20. The final chapters of the book provide a brief coverage of the ARM Security Extensions(TrustZone )in Chapter 2l, the ARM Virtualization extensions in Chapter 22, big. LITTLE technology in Chapter 23, and the hardware debug features available to programmers in Chapter 24 Appendix A gives a summary of the available ARM instructions. Appendix b gives a brief introduction to some of the tools and platforms available to those getting started with ARM programming, and Appendix c gives step-by-step instructions for configuring and building Linux for ARM systems RM DENO013D Copyright C 2011-2013 ARM. All rights reserved D012214 Non-Confidential Preface Preface to the 4th edition The ARM architecture continues to evolve. ARM recently announced the arMv& architecture which, although not covered by this book, has influenced its content. Small changes have been made to the ARMv7 instruction set architecture for compatibility reasons. Those changes are included in this version. We have also taken advantage of the opportunity to carry out a general revision of the contents of the guide You will find some sections moved, some extensively rewritten, and some with minor changes Chapters that covered the same areas have been combined The chapter on registers has been largely rewritten to include the effects of the security and virtualization extensions and the introduction of Privilege levels. The chapters on Exception Handling have been consolidated, so that they now tell a coherent story. a similar approach has been applied to multiprocessing and parallelization In all cases what was two chapters is now one, with the contents updated LPAE is now covered in the chapter on Virtualization. The chapter on Tools, Operating Systems and boards has been moved to the appendices, while the chapter on big. LITTLE technology has been extensively revised to keep pace with rapidly changing technology ARM has added another processor to the armv 7 Cortex-A series, and the new Cortex-Al2 processor is covered in this new edition. You will also notice that what we call the devices has changed. Processor now refers to the marketed device, such as the Cortex-A15 processor elsewhere you will find references to cores, and clusters(of cores Somc content that existed in the previous editions of the Cortex"-4 Series Programmer s Guide has been removed. You will notice that the NEON/VFP Appendix and the chapter on Writing NEON Code have been removed. We originally said that the information on Neon would need a book of its own. It now has one, in the form of the ARM NEON Programmer 's guide. Additional information has also been provided in the form of programming hints and tips, for developers using the Cortex-A series processors. While these cannot cover every eventuality that the developer might encounter we hope that the examples included will prove useful The ARM Cortex-A Series Programmer Guide has proved to be a very popular addition to the arm documentation set and now also forms the reference textbook for the aRm accredited Engineer(△△E) examinations RM DENO013D Copyright C 2011-2013 ARM. All rights reserved D012214 Non-Confidential Preface Glossary abbreviations and terms used in this document are defined here AAPCS ARM Architecture Procedure Call standard ABI Application binary Interface ACP Accelerator Coherency Port AEABI ARM Embedded Abl AHB Advanced High-Performance Bus AMba Advanced microcontroller Bus architecture AMP Asymmetric Multi-Processing APB Advanced Peripheral Bus ARMARM The ARM Architecture reference manual ASIC Application Specific Integrated Circuit APSR Application Program Status Register ASID Address Space ID ATPCS ARM Thumb Procedure Call Standard AXI advanced eXtensible interface BE8 Byte Invariant Big-Endian mode BIU Bus Interface Unit BSP Board Support Package BTAC Branch Target Address cache BTB Branch Target Buffer CISC Complex Instruction Set Computer. CP15 Coprocessor 15 System control coprocessor CPSR Current Program Status Register DAP Debug ac Port DBX Direct Bytecode exo DDR Double Data Rate(SDram) DMA Direct me DMB Data Memory Barrier. DPU ata processing Un DS-5 The ARM develo It stud DSB Data Synchronization Barrier. DSP Digital Signal Processing RM DENO013D Copyright C 2011-2013 ARM. All rights reserved D012214 nfidential
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: armv7里dma
 输入关键字,在本站1000多万海量源码库中尽情搜索: