Course : Embedded systems, ARM assembly programming

Practical course - 4d - 28h00 - Ref. ARM
Price : 2550 € E.T.

Embedded systems, ARM assembly programming




This intensive course will teach you how to use the ARM assembler, program SoC "System on Chip" ARM9 and Cortex-A9 coprocessors and optimize libraries. It will give you all you need to develop software using this type of technology.


INTER
IN-HOUSE
CUSTOM

In person or remote class
Available in English on request

Ref. ARM
  4d - 28h00
2550 € E.T.




This intensive course will teach you how to use the ARM assembler, program SoC "System on Chip" ARM9 and Cortex-A9 coprocessors and optimize libraries. It will give you all you need to develop software using this type of technology.


Teaching objectives
At the end of the training, the participant will be able to:
Mastering the development environment, debugger, compiler and linker
Implement ARM assembler programs
Integrating assembler routines into a C program
Programming ARM9 and CortexA9 SoC coprocessors
Opimizing bookstores

Intended audience
Computer scientists wishing to acquire comprehensive training in ARM assembler programming and the implementation of ARMv5 to ARMv7 SoCs.

Prerequisites
Basic knowledge of programming and microprocessors. Knowledge of the Linux system will facilitate practical work.

Practical details
Hands-on work
Practical work will be carried out under Linux, with an ARM emulator or on a board with an ARM processor.
Teaching methods
Theoretical presentation of the various aspects of programming, interspersed with practical exercises that enable immediate implementation of the concepts.

Course schedule

1
Introduction to ARM

  • ARM architecture overview: from v5 to v7.
  • ARM processor, operation, registers.
  • ARM instructions. load/store architecture.
  • ARMv5 architecture: TCM, Jazelle, domains, MMU.
  • ARMv7 architecture: caches, monitor mode, trustzone.
Hands-on work
Get to grips with the development environment. Compiler, linker and simulator. Writing an ARM program.

2
Introducing ARM Assembler

  • Basic ARM assembler operations.
  • Conditional execution and branches.
  • Arithmetic and logical operations.
  • Memory access, battery management.
  • Atomic operations.
Hands-on work
Writing various small programs in ARM assembler.

3
C interface and ARM assembler

  • Use ARM assembler to optimize applications.
  • Integrate assembler routines into a C program.
  • Assembler function libraries.
Hands-on work
Writing a thread synchronization library in assembler.

4
Exception and device management

  • ARM processor exception and interrupt handling.
  • The interrupt vector.
  • The different ways of managing an interruption.
  • Presentation of some standard peripherals, PIC, timer, UART.
Hands-on work
Implementation of a timer interrupt on a versatile board.

5
ARM9 system programming

  • Processor management by an OS.
  • Operating modes. Switch to supervisor mode (SWI and SMC).
  • CPSR and coprocessor management.
  • The CP15 system coprocessor.
  • MMU, domain and cache management.
  • Barriers, Tiny Coupled Memory, Fast Context Switch.
Hands-on work
Switch to supervisor mode and back to user mode. Building a mini-OS, activating domain-based memory protection.

6
CortexA9 system programming

  • Cortex A9 to secure sensitive applications.
  • Application of trustzone protection.
  • Implementation of a secure monitor.
  • Management of coprocessors, MMU and L1 and L2 caches.
  • FCSE and ASID.
Hands-on work
Switch to monitor mode and manage a mini OS. Memory protection enabled by trustzone.


Customer reviews
5 / 5
Customer reviews are based on end-of-course evaluations. The score is calculated from all evaluations within the past year. Only reviews with a textual comment are displayed.
SHAKEEL A.
18/11/25
5 / 5

Very good illustration of the theoretical parts in practice. Very good introduction to programming with ARM.
ANNE G.
18/11/25
5 / 5

The training is very interesting.



Publication date : 03/05/2024