Algorithm Implementation and Embedded Systems Optimisation, Introductory Course

Session 1, Introduction

  • Why do you need to have the target system in mind when developing?
  • Overview of embedded systems: How does an embedded system differ from a PC?
  • Different architectures and types of processor

Session 2, Overview of Embedded Systems

  • Branching
  • Pipelining
  • Memory and caches
  • Operating system and bare metal
  • Compilers and tools

Session 3, Optimisation Methodology

  • Workflow and testing
  • Code examples, cache usage and parallelism
  • Memory  usage
  • Treadhs
  • C++
  • Third-party libraries

Session 4, Optimisation Methodology Continued

  • Code examples, vector instructions
  • Optimisation tips
  • Writing easily optimised code
  • Summary
  • Discussion