嵌入式软件和硬件架构培训
Interfacing C-Programs with ARM Core Microcontrollers
Module 1 will introduce the learner to how software/firmware
can interface with an embedded platform and the underlying processor architecture.
Embedded Software engineers must be very knowledgeable about
the architecture in order to write efficient and bug free code.
This requires knowledge of processor architecture.
memory systems, microcontroller peripherals and more advanced use of the compiler.
This module will continue to enforce good software design techniques
with a focus on portability and maintainability without reducing your hardware’s performance.
Manipulating MemoryModule 2 will introduce the learner to more advanced firmware techniques
as well move us into some hands on firmware for the microcontroller.
We start by building our own memory access methods
that will allow a programmer to manipulate peripheral memory bit fields
to configure microcontroller peripherals and core architecture concepts.
This will include more complex use of pointers
for register definition files and function pointers for interrupt vector tables
The module concludes with an in-depth look into
the features of on-target debugging on a microcontroller and a hands-on example.
Designing Embedded Data StructuresModule 3 will introduce
the learner to efficient and maintainable ways of organizing data.
Most microcontroller programs require some use of structured data
in order to track and manipulate the control flow or data in a program.
These can be as simple as unions, enumerations or structures,
but can be more complex with the use of abstract data structures.
While abstract data structures are often discussed in higher level software,
there are many simple examples that are used frequently in embedded system software.