Modular ARM System Design
In-house training options
view dates and locations
An ARM Approved Training Partner for more than 7 years, Doulos has delivered ARM training in more than half of the world's top ten semiconductor companies. Doulos is the only ARM Approved Training partner to include extensive hands-on labs covering all aspects of the SoC design process in its ARM training portfolio.
Modular ARM System Design consists of several modules (including ARM1176 and Cortex-M1/M3) which can be combined and customised to create an integrated program to fulfil in-house or customer-dedicated training requirements. Presented from a vendor independent perspective, the unique workshops can be provided in the context of the client's own choice of tools. Please contact Doulos to discuss your specific tool requirements.
Modular ARM System Design training comprises:
- Fundamentals of ARM Architecture (1-day). This lecture-based module provides fast-track training in the essentials of ARM architecture. An invaluable introductory course it is ideal for managers and project leaders who need a quick overview of ARM architecture.
- Introduction to ARM Architecture (2-days) provides hands-on training to new ARM users and introduces the ARM architecture and instruction sets for ARM7 to ARM11. An introduction to the ARM RealView software tools and the handling of exceptions is included
- ARM Embedded Software (4-days) provides in-depth tuition in the use of ARM cores for the development of embedded software. Incorporating the 'Introduction to ARM Architecture' course, it goes on to explore embedded software development with the ARM tools, exception handling (interrupts) and code optimisation using hands-on exercises and pratical examples. The course provides all the background knowledge needed to develop embedded software for ARM based systems and microcontrollers (NXP LPC2000, Atmel AT91, Samsung Controller, STMicroelectronics and others).
- ARM7/9 SoC Design (4 or 5-days) provides comprehensive tuition in ARM based SoC Design. Incorporating the 'Introduction to ARM Architecture' class, this course introduces the AMBA2.0 and AMBA3.0 (AXI) interfaces, and the connection of new IP-blocks into an existing ARM system. Also included is an in-depth introduction to the debug features of ARM cores, essential models in the design cycle and how to initialise ARM cached cores and memory system.
- ARM1176 SoC Design (4 or 5-days) provides in-depth tuition in ARM11 based SoC Design. Incorporating the 'Introduction to ARM Architecture' class this course introduces the AMBA3.0 (AXI) interface and the connection of new IP-blocks into an existing ARM system. Also included is a detailed introduction to the ARM11 debug features, essential models in the design cycle, and how to initialise ARM11 v6 cached cores and v6 memory system.
- ARM Cortex-M Processor Embedded Software is a comprehensive course covering the ARM Cortex-M architecture, Thumb-2 instruction set and ARM development systems. Real-world examples are used to explain how to write exception handlers (e.g i nterrupt handlers) and ROM code, and in the second part of the course the emphasis is on development and debugging of ARM software code for ARM Cortex-M based systems.
- Software Guide to ARM11 (˝ -day) provides in-depth tuition in the use of ARM11 cores for the development embedded software programming.
- ARMxx core and interfaces (˝ -day) provides in-depth introduction into specific ARM cores, their interfaces and memory systems (e.g. ARM7TDMI-S, ARM922, ARM926 ..).
Based on these modules, team-based and in-house training can be customised to fit the content, scope and duration needed to best-fit a specific customer requirement. Please ask to speak to a member of the Doulos technical team to discuss your requirements.
Who should attend?
System design engineers, software design engineers and hardware design engineers who wish to develop systems and application based on ARM cores.Pre-requisites
All participants must be computer literate and have a basic understanding of the C programming language and a hardware programming language such as VHDL or Verilog. An in-depth knowledge of microprocessors is not essential, but would be advantageous.Course Materials
Doulos course materials are renowned for being the most comprehensive and user friendly available. Their style, content and coverage is unique in the EDA training world, and has made them sought after resources in their own right. The course set components include:- Fully indexed course notes creating a complete reference manual
- Workbook full of practical examples and solutions to help you apply your knowledge
Structure and Content
Fundamentals of ARM Architecture (1-day)
ARM architecture • ARM example designs • ARM based applications • ARM instruction sets • ARM programmes model • ARM7TDMI family • ARM9TDMI family • ARM10E family • ARM11 family • ARM System design • Writing ARM embedded softwareIntroduction to ARM Architecture (2-days)
The ARM Architecture
ARM architecture • Overview of ARM • ARM based applications • ARM instruction set overview • ARM programmes model • supporting technologiesARM Processor Core
ARM7TDMI and ARM9TDMI pipelines • ARM7TDMI family • ARM9TDMI family • ARM10E family • ARM11 family • StrongARM and XScale • Datapaths and instruction decodingReal View Developer Suite (RVDS) Overview
Compilers • Assembler • Linker • CodeWarrior • DebuggersReal View Introductory Workbook
Practical work using RVDSARM and Thumb Instruction Sets
Overview of the ARM and Thumb instruction sets. Includes practical work.ARM / Thumb Inter-working
Mixing ARM and thumb code in the same applicationException handling
Overview of how to handle the different exceptions of an ARM core. Includes detailed examples.ARM Embedded Software (4-days)
Introduction to ARM Architecture module (see above)
Embedded Software Development
Running code from ROM, reset handlers • locating code and data in memory • (scatterloading) • library retargeting.Compiler Hints and Tips
Compiler optimisation options • Writing efficient code • Minimizing data memory • Mixing C/C++ and assembler • Local and global data issuesARM Debug Solutions
On-chip debug logic • breakpoints and watch-points • debug communication channel • tools issues, system design considerations • EmbeddedICE-RT and RealMonitor • How to design-in and use ARM's Embedded Trace Module.Initialising ARM cached cores
Introduction to caches, clocks and write buffer • Memory Protection Units (MPU) • Memory Management Units (MMU) code • Page tables • Virtual memory • Cache lockdownEmbedded core debug
The debug features for ARM cores and their use explained.Labs with ARM based evaluation boards
Development of drivers, interrupt handler…ARM7/9 SoC Design (4 or 5-day)
Introduction to ARM Architecture module (see above)
AMBA2.0 and AMBA3.0 interface
Detailed description of the new AMBA3.0 interconnect methodology. Includes the AXI, AHB and APB interface as well at the PL300 interconnect prime cell.ARM Processor Simulation Models
The different ARM models and their use in the SoC design process • The new ARM RealView SoC Designer (SystemC based) design tool and features explained.PrimeCell VIC
The vector interrupt controller prime cell from ARM enables the ARM core to react very quickly to interrupts. The functionality, interface and the programming of the prime cell is explained.ARM Debug Solutions
On-chip debug logic • breakpoints and watchpoints • debug communication channel • tools issues, system design considerations • EmbeddedICE-RT and RealMonitor • How to design-in and use ARM's Embedded Trace Module.Initialising ARM cached cores
Introduction to caches, clocks and write buffer • Memory Protection Units (MPU) • Memory Management Units (MMU) code • Page tables • Virtual memory • Cache lockdownEmbedded core debug
The debug features for ARM cores, and their use is explained.ARM core Integration
Addresses primary system design considerations and a summary of all steps for the integration of an ARM macrocell.Labs with an ARM based System Design
Investigating the AMBA (AHB, APB) protocol • monitoring data access on the AMBA bus • integrating a new IP-block into an ARM based systemARM1176 SoC Design (4-5 days)
Introduction to ARM Architecture module (see above)
AMBA3.0 interface
Detailed description of the new AMBA3.0 interconnect methodology. That includes the AXI, AHB and APB interface as well as the PL300 interconnect prime cell.ARM Processor Simulation Models
The different ARM models and their use in the SoC design process • The new ARM RealView SoC Designer (SystemC based) design tool and features explained.ARM1136/76 Interrupts
An overview of the ARM11 interrupt features, the factors contributing to low interrupt latency and an understanding of the ARMv6 re-startable instructions.Introduction to TrustZone
Introduction to ARMs TrustZone and its features. The new ARM secure mode and its functionality is introduced.Introduction to IEM
Introduction to the Intelligent Energy Manager (IEM) and principles • understanding of the IEM software and its functions.ARM1176 Clocks, Resets and Power Management
Overview of the clock and reset behaviour and requirements • The different power management modes are introduced and explained.ARM1176 Memory Management
Introduction to the ARMv6 Memory Type • The caching policy and the ARM1176 memory management system is explained.ARM1176 Booting
The necessary steps for booting an ARM1176 core are explained using some sample code.ARM11 Embedded core debug
The debug features and use for the ARM11 family are explained.ARM1176 Integration
Addresses primary system design considerations and a summary of all steps for the integration of an ARM ARM1176 macrocell.ARM Cortex_M3 Processor Embedded Software (3 days)
Cortex-M3 Processor Core
Overview of Cortex-M3 key features, performance comparison and introduction to programmer's modelOverview RealView Developer Suite (RVDS3.0)
Compilers • Assembler • Linker • IDE • Debuggers • workbooks for RVDS and RVMDKCortex-M3 Thumb-2 Instruction Set
Overview of the Thumb-2 Instruction Set • ARM ISA evolution • new instructions • migrating from ARM/ThumbInterrupts and Exception Handling
Exeception entry and exit • Exception timing • programming the nested vectored interrupt controller (NVIC) • exception prioritzation and premptionMemory Model
Cortex-M3 memory map • memory protection ~ MPU set-upEmbedded Software Development
Reset and Initialisation • Creating Memory Maps • Semi-hosting • workbookC/C++ Hints and Tips
Optimizations • Data Alignment • Mixing C and AssemblerCortex-M3 Debug
Debug architecture • invasive and non-invasive (trace) debugSoftware Guide ARM11 (˝-day)
ARM v6 architecture (v6, v6T2, v6z) • Branch prediction • Data alignment and Endianness • VFP coprocessor • V6 virtual memory architecture • OS support • Benchmarking and cycle count • example MMU initialisation codeARMxx core and interfaces (˝-day)
Additional modules for the following ARM cores are available, which describe the core and interface in more detail.- ARM7TDMI core and interface
- ARM7TDMI-S core and interface
- ARM7TDMI-S implementation
- ARM922 core and interface
- ARM922 memory system
- ARM946E core and interface
- ARM946E implementation
- ARM926EJ-S core and interface
- ARM926EJ-S memory system
- ARM926EJ-S implementation
Price on request
Back to top

