Netrino

Netrino

Home

The next public session of the Embedded Software Boot Camp workshop is set for October 18-22 in Maryland. Space is limited. Register now.
 

Embedded Software Boot Camp

Instructor Michael Barr and students discuss the proper usage of real-time operating systems at Embedded Software Boot Camp.

Public sessions are scheduled for early 2010 in Florida, California, Maryland, and Illinois. See our training calendar for dates and other details.

Netrino's Embedded Software Boot Camp is a one-week skills strengthening program consisting of a series of lectures and hands-on exercises. This intense educational (yet fun!) program is guaranteed to quickly and dramatically raise the embedded programming skills of individuals and teams.

What You'll Learn

Everyone who attends the Embedded Software Boot Camp learns a ton, including:

  • How to write portable device drivers and interrupt handlers in C
  • How to decide if an RTOS will benefit your application
  • How to architect real-time software to ensure all deadlines are met
  • More than 50 practical tips for reducing firmware bugs
  • How to fix or prevent each of the top 10 firmware bugs

Day-by-Day Schedule

The public Embedded Software Boot Camp runs for 4-1/2 days and is broken up as follows:

Monday - Hardware Interfacing in C (Part 1)

The development of device drivers and embedded software is full of challenges. But it is possible to write easy-to-read portable, bug-free C code to control peripherals ranging from simple timers and UARTs to complex custom FPGAs.

Tuesday (morning) - Hardware Interfacing in C (Part 2)

The hands-on course continues, moving on from peripheral control via memory-mapped I/O, struct overlays, bitmasks and bitfields, to more advanced topics. The capstone exercise involves an interrupt-based device driver.

Tuesday (afternoon) - Multithreaded RTOS Programming (Part 1)

There is a lot of misinformation about multithreaded programming and the use of real-time operating system (RTOS) features. Misinformation and programmer inexperience often lead to poor task partitioning and priority assignments and can lead to system failures such as task starvation, deadlock, or priority inversion.

Wednesday - Multithreaded RTOS Programming (Part 2)

The second half of this course demonstrates the proper use of RTOS primitives such as semaphores, mailboxes/message queues, and event flags to develop multithreaded software.

Thursday - Capstone Programming Project

Wednesday's series of hands-on RTOS exercises culminates in the design of a multithreaded real-time SCUBA dive computer using those programs as building blocks. Teams comprising 3-4 students aim to complete an entire coding project (from requirements through design and design review to implementation) in a single, fun, learning-packed day.

Friday (half-day) - RTOS Alternatives

Though there are good reasons to use an RTOS in certain applications, this decision also creates a number of problems for embedded software developers. This course examines the tradeoffs as well as a set of alternative approaches to multitasking, including state machine frameworks, that do not require a preemptive scheduler.

Full outlines and other details for each of the three courses on which the Embedded Software Boot Camp is based are available via these links:

What You Get

Each attendee receives

  • A copy of the 350-page Embedded Software Boot Camp Field Manual,
  • A copy of the Embedded Systems Dictionary with definitions of more than 2,800 of the most-used terms in the industry,
  • A USB thumb drive containing all of the exercises and related source code plus dozens of PDF articles for "further reading" on related topics,
  • The exclusive Embedded Software Boot Camp tee shirt in military green,
  • A certificate of completion, and
  • A few other freebies.

Lunch is provided each of the first four days. All exercises are done using the IAR Embedded Workbench and J-Link tools on an ARM processor development board, which is available for purchase at a discounted package price toward the end of the program.

Intended Audience

Typical attendees bring 0 to 15 years of embedded software experience and electrical engineering, computer science, computer engineering or a related degree. Some have been working in related areas but are trying to make the switch into embedded software development; others want to deepen their knowledge and strengthen their skills in their chosen career. All of these attendees benefit, as the Embedded Software Boot Camp training materials provide both quick overviews of key topics as well as in-depth coverage of advanced best practices in a set of lectures and exercises that are accessible to everyone in the room.

About the Instructor

Michael Barr

Michael BarrMichael 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 three books and more than fifty 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. Embedded software he wrote or architected powers millions of products. Michael holds B.S. and M.S. degrees in electrical engineering and has lectured in the Department of Electrical and Computer Engineering at the University of Maryland, from which he also earned an MBA.

Read Michael's blog, follow him on twitter, or view his c.v.

Public sessions are scheduled for early 2010 in Florida, California, Maryland, and Illinois. See our training calendar for dates and other details.

Private Training Available

At public sessions of the Embedded Software Boot Camp, the coding exercises are based on an ARM processor board from ST Microelectronics and Micrium's popular uC/OS-II RTOS. Students use the IAR Embedded Workbench for ARM and associated JTAG debugger to compile, download, and test their real-time programs.

For private trainings, the ratio of lecture to hands-on time can be adjusted, as can the total program length in days. This and other options, including choice of target RTOS, processor family, and development tools allow for a significant amount of customization to suit the precise training needs of your team.

To request pricing or dates for private training, or for more information about the Embedded Software Boot CampTM program, contact us.

Sounds fantastic!

Sounds fantastic!

It is fantastic!

Here's what a few past Embedded Software Boot Camp attendees had to say on their feedback forms:

"This is an excellent training one must take to really enhance the embedded systems concepts. Strongly recommended to every embedded software engineer."

"I think a lot of embedded software engineers should be forced to take, and learn, the material presented in this course." -- Michael C.

"A great hands-on introduction to embedded programming and RTOSes." -- David S., SAIC

"The Netrino Embedded Software Boot Camp is an outstanding overview of embedded software development with exercises that really helped solidify the concepts. I recommend it unreservedly." -- Steve F.

"Outstanding presentation of a complex topic." -- Rob V.

"This training should be standard for all new college graduates!" -- Bryan S., General Dynamics C4 Systems

"An enjoyable, challenging way of training a team in a short amount of time." -- Bob M., Ronan Engineering

More Attendee Comments

Here's what attendees had to say about the last public Embedded Software Boot Camp:

"I would like to thank you again for the Embedded Software Boot Camp. I brought all the books back to the company and showed my boss the slides and all the handouts and all that good stuff and he was very impressed. Needless to say he was happy with the investment he made in Netrino." -- Garrett

"A better use of time and money than the Wind River VxWorks training course I took last month!" -- David, IBM

"Hands on exercises are well thought out." -- Mahesh

"This is one of the best trainings I have ever attended." -- H., Hughes Network Systems

"Fabulous, pertinent, comprehensive and articulate collection of the most important things needed practically. Awesome!" -- Sourabh

"Complete and correct embedded software training." -- P. Sipika, Cengen

Even More Attendee Comments

"Great material, great instructor." -- Hadi M, Hughes Network Systems

"Thought it was very valuable." -- David

"A great course with a good blend of hands on and lectures." -- Rucha

"Fantastic, insightful, and fun! Thanks, Mike!" -- Larry, Embedics

"Thank you for offering such a great course! It definitely provided a great refresher for many topics as well as introducing me to new concepts that will undoubtedly be valuable in my career. I will certainly recommend this course to others and look forward to any additional courses that you offer. The only critique I truly have is that I would like to have spent more time on the final half day's material on RTOS alternatives." -- Eric, SRA International

"Very well worth the money and time, even for experience engineers." -- Brian, Radio Design Group

 

Take a Quiz

Test your embedded programming skills in our online Embedded C Quiz or Embedded C++ Quiz and be entered to win a free seat at a future public Embedded Software Boot Camp.

Test Your Skills

 

Master Firmware

Registration is now open for the popular hands-on Embedded Software Boot Camp. Consult our public training calendar for upcoming dates and locations.

Boot Camp

 

Sign Up Now

Receive Michael Barr's Firmware Update newsletter for free how-to articles and industry news by e-mail. Sign up now.

 

Bookmark It

Bookmark this page or share it with a colleague.

 

Netrino® and The Embedded Systems Expertssm are trademarks of Netrino, LLC.
Website contents copyright © 1999-2009 by Netrino, LLC. All rights reserved.

Netrino, LLC • 6030 Marshalee Dr, #355 • Elkridge, Maryland 21075 • 866.78.EMBED