Formation - Coldfire Conception système (reference 003831A)
 
    Partners
  • Do not hesitate to request the detailed course description by contacting training@mvd-fpga.com
  • This training is approved by Freescale
  • The environment used to build and debug software labs are based on the compiler / linker and the debugger from Metrowerks
   
           
    Related Trainings
   
           
    Prerequisites
  • A basic understanding of microprocessors and microcontrollers
  • A basic understanding of assembler or C programming would be useful but not essential
   
             
  Course Objectives
  • This course has been designed for developers that are going to be involved in a ColdFire development, and intend to understand generic mechanisms specific to ColdFire
  • It explains the objectives of mechanisms used to boost the performance and the way they are implemented in various ColdFires : cache / cache coherency, pipeline, MMU, exceptions. This gives to the attendees a wider overview of the state of the art in these domains
  • The course details the instructions required to write program in supervisor mode to adapt the behaviour of the core to specific needs. It presents the assembly language to write more efficient programs in C. It clarifies the use of sections required for good management of caches and memory
  • Task switch requirements are highlighted
  • Debug facilities implemented in ColdFires (hardware breakpoints, real-time trace, watchpoints) are studied through the use of Metrowerks debugger
   
           
    Duration
  • 4-day course
   
           
    Topics

(The full description of this course can be provided on request)

ColdFire PROGRAMMING

  • 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

PIPELINE

  • 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

DATA PATH

  • 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

MEMORY MANAGEMENT UNIT

  • 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

CACHE AND DATA COHERENCY

  • 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

EXCEPTION MECHANISM

  • 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

MULTITASK

  • Management of boolean semaphores
  • Stack switch
  • Definition of the set of registers that determine the stack state
  • Management of task lists

ColdFire DEBUG SOLUTIONS

  • On-chip debug logic
  • How it communicates with the debug station : BDM connection
  • Hardware breakpoints
  • Real-time trace
  • Debugging software when caches are active
   
           
    Documentation

Training manuals will be given to participants during training. Precise and easy of use, those notes can be used as a reference afterwards.
   
           
    Other trainings :

If you want to know our other training courses and their contents, you can consult or download our complete training courses list on this page : Training courses - General presentation