leasing_photoTraining

Joral Technologies provides a training course for engineers who are experienced in software development, but are new to developing embedded systems applications. This course is designed to give developers an overview of important differences between embedded platforms and PC based systems as well as software techniques applicable to asynchronous, event driven applications. Training on embedded development tools is also an important component of the course.

Special topics such as using a Real Time Operating System (RTOS) that is specially designed for embedded applications, and middleware such as TCP/IP, USB and CAN protocol stacks and embedded flash file systems is possible. Another critical component of the training is the use of hardware assisted debuggers and debugging techniques particularly important to embedded applications. Microcontroller architectures include ARM7TDMI, Cortex M3, Atmel AVR and AVR32, TI MSP430, Intel 8051, and Renesas M16C.  Call to request other architectures. Embedded development tools include Keil MDK-ARM and PK51, IAR Embedded Workbench, and Atollic TrueSTUDIO®. An important aspect of the training course is that it can be customized in content and duration to the needs of individual customers.

Typical duration is 3 days. Essentials can be covered in two days, but less time is not recommended. Training can last up to a week if several special topics are requested. Special topics such as device drivers, motor control, and basic digital signal processing are possible as well. Training can be arranged as on-site or at Joral Technologies offices in Ottawa or Boston.

A Typical Training Curriculum for Cortex M3 would consist of:

Day 1
• Introduction to the Cortex M3 architecture
o Core Registers
o Exceptions and Interrupt Control
o Operating Modes
o Memory Map
o Bus Interfaces
o MPU
o Instruction Set
• Introduction to C/C++ development tools
o Components Overview
o How to Create, Configure and Build a Project
o Program loading
o Introduction to Debugging
o Using Libraries
• Some Special Embedded Topics
o Reading a Memory Map
o Linker Command Files

Day 2
• Exceptions and Interrupts in more detail
o Why Exceptions are Necessary
o How to Configure a Peripheral to Generate Interrupts
o Writing Interrupt Service Routines
o Prioritizing Interrupts
• Programming Topics
o Embedded Application Architectures, Super-Loops, Function Pointers, Finite State Machines
o The volatile keyword
o Atomic operations
o Miscellaneous Topics

Day 3
• Cortex M3 Architecture in More Detail
o Harvard Architecture
o Pipelining
o Buses
o Sleep Modes and Power Consumption Considerations
• Peripherals
o I/O
o USART
o Timers
o SPI
o DMA