Training

Micriµm µC/OS-II training



Class title Designing Applications with µC/OS-II
Duration

2 days
Format Hands-on
Dates May 6-7, 2008
Price $1,995 per person

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 "µC/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

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 May 8-9, 2008
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