Training
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 |
On demand |
| Location |
Available on site at your location, anywhere in Europe |
| Price |
$1,995 per person
Discounts are available for groups of 3 or more participants |
| 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 |
November 11-12, 2008 |
| Price |
Before October 22: $1,596 (20% Discount)
October 22 - November 5: $1,796 (10% Discount)
After November 5: $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 |
San Diego, CA |
| Registration |
By Phone: +1 954 217 2036 x 104 (Robert or Chris)
E-Mail: sales@micrium.com |
Description
Within the specialized embedded software community, there lurks much misinformation about software design for multitasking and the appropriate use of real-time operating system (RTOS) features, such as semaphores and mailboxes. This prevalent misinformation, along with programmer inexperience, contributes to poor task decomposition and often results in system failures such as task starvation, deadlock, and priority inversion. This course will help you avoid spending weeks or months debugging seemingly intractable multi-task interactions resulting from poor design. Get your software running properly with this hands-on, in depth course about the proper use of Micriµm’s µC/OS-II RTOS API with exercises on an ARM9 development kit from IAR and STMicro.
Instructor
Michael Barr is an internationally recognized expert on the design of embedded computer systems. In that role, he has provided expert witness testimony in federal court, appeared on PBS’ American Business Review, and been quoted in various newspapers. He is also the author of two books and more than forty articles on related subjects. For three and a half years Michael served as editor-in-chief of Embedded Systems Programming. In addition, Michael has been a member of the advisory board of the Embedded Systems Conference. Software he wrote continues to power millions of products, ranging from consumer electronics to medical devices. Michael holds B.S. and M.S. degrees in electrical engineering and has lectured on operating systems use in the Department of Electrical and Computer Engineering at the University of Maryland.
Detailed Outline
Designing Applications with µC/OS-II trains firmware engineers in the proper use of C and real-time operating system APIs to develop multithreaded software. 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.
Designing Applications with µC/OS-II |
Section 1
|
Introduction |
| Module 1.1 |
Course Overview |
| Module 1.2 |
Micrium History/Products |
| Module 1.3 |
Foreground/Background |
Section 2 |
Multitasking Fundamentals |
| Module 2.1 |
Tasks and Task States |
| Module 2.2 |
Scheduling Points |
| Module 2.3 |
Context Switching |
| Module 2.4 |
System Calls |
| Module 2.5 |
Mutual Exclusion |
Section 3 |
Rate Monotonic Scheduling |
Module 3.1
|
Preemption |
| Module 3.2 |
Rate Monotonic Algorithm |
| Module 3.3 |
Schedulable Bound |
| Module 3.4 |
Aperiodic Tasks |
| Module 3.5 |
Priority Inversion |
Section 4 |
Intertask Communication |
| Module 4.1 |
Semaphores |
| Module 4.2 |
Message Queues |
| Module 4.3 |
Event Flags |
| Module 4.4 |
Starvation |
| Module 4.5 |
Deadlock |
Section 5 |
Related Topics |
| Module 5.1 |
Timer Ticks |
| Module 5.2 |
Memory Management |
| Module 5.3 |
Task Partitioning |
Section 6 |
Course Wrap-up |
Micriµm µC/TCP-IP training
| Class title |
Embedding TCP/IP |
Duration
|
2 days |
| Format |
Hands-on |
| Dates |
Call for upcoming dates |
| 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 |
Bern University of Applied Sciences, Switzerland
Two-days training on µC/OS-II.
Contents:
- Basics of Hard Real-Time Operating Systems,
- Tasks,
- Task-Switch,
- Synchronization and Communication,
- Interrupts,
- Design Methods
Link to our webpage: https://prof.hti.bfh.ch/index.php?id=1937 |