Training
Upcoming Events
Additional Offerings
Micriµm µC/OS-II training in Europe
| Class title |
Application Development with µC/OS-II |
Duration
|
2 days |
| Format |
Hands-on and project based |
| Dates |
May 14-15, 2009 |
| Location |
Duesseldorf, Germany |
| Price |
$1,995 per person
Early registration discount:
- 30% when registering before the end of February.
- 20% when registering before the end of March.
- 10% when registering before the end of April. |
| Materials |
During the first class session, all participants receive a complementary copy of the class textbook and a CD with all the necessary development tools.
The evaluation board used for the class exercises is the EKI-LM3S6965 from Luminary Micro. One of these ARM Cortex-M3 based systems is made available per team of 2 for the duration of the training class. |
| Registration |
If you are interested in this training event, feel free to contact Feaser to discuss the details:
Web: http://www.feaser.com
E-mail: info@feaser.com
Phone: +31 644-744-607 (Europe)
Phone: +1 877-293-1452 (US Toll Free)
|
Description
This 2-day training class uses hands-on exercises combined with instruction to illustrate the concepts of the µC/OS-II real-time operating system and how it is applied in embedded application development, requiring hard real-time performance. After completing this training class, participants have a good understanding of the µC/OS-II kernel and its services, gained skills in using the operating system and can use it effectively in their own embedded application development projects. This class is architected for everyone interested in or tasked with developing an embedded software application based on Micrium's µC/OS-II real-time operating system.
Instructor
Frank Voorburg is the managing director of Feaser LLC and developer of the training instruction materials. He holds a Master degree in Automotive Engineering from the University of Michigan in Ann Arbor, United States. After working several years on embedded automotive multiplex communication software at Vector CANtech, he started Feaser LLC to provide innovative products and continuous education to the embedded software industry. He has lectured on microcontrollers and embedded software development at the HAN University in Arnhem, the Netherlands.
Detailed Outline
During the training Application Development with µC/OS-II, the participants work in teams of 2 on the class project. Supporting theory is supplied in a just-in-time manner. The training consists of 8 group meetings with a length of approximately 2 hours each. This brings the total study load to 16 hours.
Application Development with µC/OS-II |
Day 1 |
| Session 1 |
Overview of the class goals and structure.
Introduction to the class project.
Using the development environment.
Basic multitasking concepts. |
| Session 2 |
µC/OS-II initialization and the start-task.
Task state-machine and management.
Kernel structure, services and scheduler.
Preemptive vs. non-preemptive scheduling. |
| Session 3 |
Context switching.
Resource sharing and semaphores.
Interrupt handling. |
| Session 4 |
Task synchronization using event flags.
Time management. |
Day 2 |
| Session 5 |
Task communication using messages.
Task communication using queues. |
| Session 6 |
Optimizing task priorities.
Power saving strategies. |
| Session 7 |
Preventing deadlocks.
Limiting priority inversion using a mutex. |
| Session 8 |
Obtaining run-time kernel statistics.
Computing memory requirements.
Interrupt latency, response and recovery. |
Micriµm µC/OS-II training in North America
| Class title |
Designing Applications with µC/OS-II |
Duration
|
2 days |
| Format |
Hands-on |
| Dates |
On demand |
| Price |
Before January 12: $1,596 (20% Discount)
January 12 - January 16: $1,796 (10% Discount)
After January 16: $1,995
Each participant will receive an ARM9 development kit including target STR912F board, J-Link JTAG debugger, and IAR EWARM Kickstart Edition, plus an evaluation copy of IAR VisualSTATE. This hardware and tools will be used in class. Each participant will also receive a copy of "MicroC/OS-II, The Real-Time Kernel," the book by Jean J. Labrosse.
|
| Location |
South Florida
Micrium Inc.
1290 Weston Road
Weston, FL 33326
USA |
| Registration |
By Phone: +1 954 217 2036 x 104 (Robert or Chris)
E-Mail: sales@micrium.com |
Micriµm µC/TCP-IP training
| Class title |
Embedding TCP/IP |
Duration
|
2 days |
| Format |
Hands-on |
| Dates |
On demand |
| Price |
$1,995 per person
Each participant will receive an ARM9 development kit including target STR912F board, J-Link JTAG debugger, and IAR EWARM 30-Day Evaluation Edition, plus an evaluation copy of IAR VisualSTATE. This hardware and tools will be used in class.
|
| Location |
South Florida
Micrium Inc.
1290 Weston Road
Weston,
FL 33326
USA |
| Registration |
By Phone: +1 954 217 2036 x 104 (Robert or Chris)
E-Mail: sales@micrium.com |
Description
This class describes TCP/IP processes using demos and examples on a target running an application using a TCP/IP stack, a local Ethernet network and analysis tools on a PC. Demonstrations exercise all the layers, and follow the processes through each layer of the TCP/IP stack. We will look at TCP/IP from an embedded systems perspective. Because not every embedded system requires all of the TCP/IP protocol features, the class will examine the impact of different protocol features on code size and performance. A special attention is given to configuration to achieve optimal performance with TCP because it is often believed that TCP/IP can run on any target. This prevalent misinformation, along with programmer inexperience, contributes to poor performance and often results in system failures such as buffer starvation, lots of retransmission, and packet drop. This course will help you avoid spending weeks or months debugging seemingly intractable protocol interactions resulting from poor design. Get your software running properly with this hands-on, in depth course about the proper use of a TCP/IP stack with exercises on an ARM9 development kit from IAR and STMicro.
Instructor
Christian Legare has a Master’s degree in Electrical Engineering from the University of Sherbrooke, Quebec, Canada. In his 22 years in the telecom industry, he was involved as an executive in large scale organizations as well as start-ups, mainly in Engineering and R&D. Christian was recently in charge of an IP (Internet Protocol) certification program at the International Institute of Telecom (IIT) in Montreal, Canada as their IP systems expert. Mr. Legare joined Micrium, home of µC/OS-II, The Real-Time Kernel, as Vice-President in 2002, mainly to supervise the development of embedded communication modules, including TCP/IP.
Detailed Outline
Embedding TCP/IP trains firmware engineers in the proper use of a TCP/IP stack and socket APIs to develop networked applications. The course is delivered as a series of lectures and hands-on exercises; the lectures comprise approximately 2/3 of total class time and the exercises the remaining 1/3.
Embedding TCP/IP |
Section 1
|
Introduction |
| Module 1.1 |
Course Overview |
| Module 1.2 |
What is a TCP/IP stack? |
| Module 1.3 |
TCP/IP Protocol Architecture
Protocol Family |
| Module 1.4 |
The starting point |
Section 2 |
Lab set-up |
| Module 2.1 |
Network |
| Module 2.2 |
Software Development |
| Module 2.3 |
TCP/IP stack |
| Module 2.4 |
Network Protocol Analyzer |
| Module 2.5 |
TTCP Benchmarking Tool for measuring TCP and UDP Performance |
| Module 2.6 |
µC/Probe Real-Time monitoring |
Section 3 |
Software architecture |
Module 3.1
|
Module relationship |
| Module 3.2 |
Task Model |
Section 4 |
Requirements |
| Module 4.1 |
CPU |
| Module 4.2 |
Footprint |
| Module 4.3 |
Protocols and services |
Section 5 |
LAN = Ethernet |
| Module 5.1 |
Ethernet technology |
| Module 5.2 |
Ethernet 802.3 Frame Structure |
| Module 5.3 |
Traffic types |
| Module 5.4 |
Network buffers |
| Module 5.5 |
Ethernet Controller Interface |
| Module 5.6 |
DMA and Non-DMA |
| Module 5.7 |
Zero Copy |
| Module 5.8 |
ARP Operation |
| Module 5.9 |
ARP & Packet capture |
Section 6 |
IP addressing |
| Module 6.1 |
IP Address classes |
| Module 6.2 |
IP Reserved addresses |
| Module 6.3 |
IP Reserved private addresses |
| Module 6.4 |
Routing information |
| Module 6.5 |
Subnetworking |
| Module 6.6 |
IP Characteristics |
| Module 6.7 |
Capture and analyze IP packets |
Section 7 |
Troubleshooting |
| Module 7.1 |
Ping |
| Module 7.2 |
Traceroute |
| Module 7.3 |
Troubleshooting with ICMP tools |
Section 8 |
Transport Protocols |
| Module 8.1 |
UDP Characteristics |
| Module 8.2 |
Capture and analyze UDP datagrams |
| Module 8.3 |
TCP Characteristics |
| Module 8.4 |
TCP connection phases |
| Module 8.5 |
Capture and analyze TCP 3-way handshake |
Section 9 |
Socket Programming |
| Module 9.1 |
Stream Sockets |
| Module 9.2 |
Datagram Sockets |
| Module 9.3 |
Blocking versus Non-Blocking |
| Module 9.4 |
Client - Server Model |
| Module 9.5 |
Stream Server |
| Module 9.6 |
Stream Client |
| Module 9.7 |
Datagram Server |
| Module 9.8 |
Datagram Client |
Section 10 |
Applications and services |
| Module 10.1 |
DHCP |
| Module 10.2 |
DNS |
| Module 10.3 |
Telnet |
| Module 10.4 |
SMTP (e-mail) |
| Module 10.5 |
FTP |
| Module 10.6 |
HTTP |
Section 11 |
Course Wrap-up |
TDD for Embedded C
| Class title |
TDD for Embedded C |
Duration
|
2 days |
| Format |
Hands-on |
| Dates |
March 10-11 , 2009 |
| Price |
Before February 18: $1,500
After February 18: $1,800 |
| Location |
South Florida
Micrium Inc.
1290 Weston Road
Weston, FL 33326
USA |
| Registration |
By Phone: +1 847 438 9942
E-Mail: courses@renaissancesoftware.net |
Description
Test Driven Development is a powerful technique for building embedded software. This hands-on course teaches the practice of Test Driven Development in the challenging environment of C. In this course you will learn how TDD helps overcome some of the challenges embedded developers face including: upredictable schedules, poor quality, and the problems that follow. In addition, embedded software developers must conquer the realities of concurrent hardware/software development, scarce target hardware availability, long download times, high deployment costs, as well as the challenges of testing embedded C.
Test-Driven Development, a key agile practice, helps software developers improve schedule predictability and product quality and can do the same for embedded developers. TDD is valuable even outside of agile development methods.
This course describes the problems addressed by TDD, as well as the additional challenges and benefits of applying it to embedded software. You will learn the test driven techniques as well as specific design approaches to make your C code to testable today, maintainable tomorrow, and ready for a long useful life.
Instructor
James Grenning, founder of Renaissance Software Consulting, trains, coaches and consults worldwide. With more than thirty years of software development experience, both technical and managerial, James brings a wealth of knowledge, skill, and creativity to software development teams and their management. As his professional roots are in embedded software, he is leading the way to introduce Agile development practices to that challenging world. He is currently writing a book on applying Test Driven Development to embedded software.
Detailed Outline
TDD for Embedded C |
Test Driven Development |
Why Test Driven Development? |
What is Test Driven Development? |
The Mirocycle |
Exercise |
Special Considerations for Embedded |
| Leveraging the Development System |
Risks of Development System Unit Testing |
Embedded TDD Cycle |
Hardware/Platform Independence |
Testing with Printed Output |
| Why is inspecting printed output manually is a loosing proposition?
|
Spying on the printed output |
Using a dynamic spy |
Exercise |
Testable Designs |
| Object Oriented Principles Applied to C |
TDD and Collaborating C Modules - testing the code in the middle |
Test Fakes, Stubs, Doubles, Mocks |
| Spy |
Link time fake |
Exercise |
Breaking dependencies dynamically |
| Dynamic fake |
Exercise |
Managing Hardware Dependencies |
| Self-Verifying Mock Objects |
Exercise |
Intro to Refactoring |
| Test Smells, Code Smells |
Critical Skills |
Incremental Improvement |
Exercise |
Working with Legacy C |
| Boy scout rule |
Incremental Improvement |
The first test, the next test |
Crash Testing |
Legacy code test addition strategy |
Exercise |
Architectural Vision and Incremental Delivery |
| The Big Picture |
Vertical Slices |
From Specific to General |
Wrap up Discussion |
TDD for Embedded C++
| Class title |
TDD for Embedded C++ |
Duration
|
2 days |
| Format |
Hands-on |
| Dates |
March 17-18 , 2009 |
| Price |
Before February 18: $1,500
After February 18: $1,800 |
| Location |
South Florida
Micrium Inc.
1290 Weston Road
Weston, FL 33326
USA |
| Registration |
By Phone: +1 847 438 9942
E-Mail: courses@renaissancesoftware.net |
Description
Test Driven Development is a powerful technique for building embedded software. This hands-on course teaches the practice of Test Driven Development in the challenging environment of C++. In this course you will learn how TDD helps overcome some of the challenges embedded developers face including: upredictable schedules, poor quality, and the problems that follow. In addition, embedded software developers must conquer the realities of concurrent hardware/software development, scarce target hardware availability, long download times, high deployment costs, as well as the challenges of testing embedded C++.
Test-Driven Development, a key agile practice, helps software developers improve schedule predictability and product quality and can do the same for embedded developers. TDD is valuable even outside of agile development methods.
This course describes the problems addressed by TDD, as well as the additional challenges and benefits of applying it to embedded software. You will learn the test driven techniques as well as specific design approaches to make your C code to testable today, maintainable tomorrow, and ready for a long useful life.
Instructor
James Grenning, founder of Renaissance Software Consulting, trains, coaches and consults worldwide. With more than thirty years of software development experience, both technical and managerial, James brings a wealth of knowledge, skill, and creativity to software development teams and their management. As his professional roots are in embedded software, he is leading the way to introduce Agile development practices to that challenging world. He is currently writing a book on applying Test Driven Development to embedded software.
Detailed Outline
TDD for Embedded C++ |
Test Driven Development |
Why Test Driven Development? |
What is Test Driven Development? |
The Mirocycle |
Exercise |
Special Considerations for Embedded |
| Leveraging the Development System |
Risks of Development System Unit Testing |
Embedded TDD Cycle |
Hardware/Platform Independence |
TDD with Collaborating Objects |
| TDD with Printed Output
|
Exercise |
TDD with the Code in the Middle |
Spies and Fakes |
Abstracting the Hardware |
Controlling the Clock |
Exercise |
Agile Design |
| Rules of Simple Design |
SOLID Design Principles |
DRY Principle |
Mind Your Own Business |
Architectural Vision |
The Big Picture |
Vertical Slices |
From Specific to General |
Refactoring |
| Critical Skills |
Test Smells, Code Smells |
Envisioning an Improvement |
Incremental Improvement through Refactorings |
Removing Smells with Refactorings |
Refactoring Tests Overview |
| Test Smells |
Duplication in tests |
Exercise |
Legacy Code Overview |
| Boy Scout Rule |
Legacy Code Test Addition Strategy |
Wrap up Discussion |
|