PG3
ColdFire System Design
This course has been designed for developers involved in a ColdFire development who want to understand generic mechanisms
Objectives
|
|||||||||
- A basic understanding of processor / DSP is recommended.
- Theoretical course
- PDF material in English (printed for face-to-face); online over Teams.
- Trainer assistance throughout.
- Each session starts with a trainee check-in.
- Any embedded systems engineer or technician with the above prerequisites.
- Prerequisites are checked before the course starts, against the prerequisites published on this page.
- Throughout the course, learning is assessed continuously: end-of-section quizzes and direct observation by the trainer.
- At the end of the course, each participant receives a training completion certificate.
Course Outline
- ColdFire core versions : V2, V2E, V3, V4, V4E
- Register set, data, address and control registers
- Data type instantiation for ColdFire
- Pointers management (Addressing modes)
- User and supervisor functions call and return (EABI, C-to-assembly interface)
- Sections, benefits of small data sections
- Locating code and data in memory , linker command file
- Reset, what is to be done before calling the main() : Cstart program
- Explaining the difference between V2, V3 and V4 pipelines
- Mechanisms used to boost performance : branch prediction, branch target address cache
- Guidelines to optimize execution time
- Serializations, nop instruction, determining when this instruction is really required
- Highlighting the frequency domains present in ColdFires : core and bus interface
- Decoupling the core from cache and bus through load and store buffers
- Enforcing the completion of commited store transactions through nop instruction
- Consequence for high level development of IO drivers
- How to make bus errors recoverable
- Requirements for kernels enabling dynamic memory mapping
- Single process multi-thread versus multiprocess multi-thread kernels
- Objectives of the MMU : page protection, definition of page attribute, address translation
- Page translation
- Table search mechanisms : benefits of a software table search
- Operation of TLB caches
- TLB programming, static initialization
- Introduction to cache memory
- Cache organization
- Write policies
- Replacement algorithms, LRU, PLRU, FIFO
- Data flow between external main memory, L1 and load / store unit
- Distinguishing private memory that is accessed only by the core and shared memory that can be accessed by the core and other masters (DMA or CPU)
- Software enforced coherency
- Software exceptions vs interrupts
- Format of the exception stack frame
- Vector table operation
- Development of basic functions that get or set a vector
- Requirements for interrupt nesting
- Management of boolean semaphores
- Stack switch
- Definition of the set of registers that determine the stack state
- Management of task lists
- On-chip debug logic
- How it communicates with the debug station : BDM connection
- Hardware breakpoints
- Real-time trace
- Debugging software when caches are active
More
To book a training session or for more information, please contact us on info@ac6-training.com.
Registrations are accepted till one week before the start date for scheduled classes. For late registrations, please consult us.
You can also fill and send us the registration form
This course can be provided either remotely, in our Paris training center or worldwide on your premises.
Scheduled classes are confirmed as soon as there is two confirmed bookings. Bookings are accepted until 1 week before the course start.
Last update of course schedule: 27 June 2026
Booking one of our trainings is subject to our General Terms of Sales
On the same topic:
Yocto or Buildroot: how to choose for your embedded Linux project