The C language skills that are necessary to build a robust, commercial product are often not taught at the university or within industry courses. While there are plenty of courses that teach C syntax and the fundamentals, how do you go about using C to write production intent code that is robust and reliable?
This technology primer is designed to turn developers, whether new or seasoned, into expert C programmers. We will be examining techniques that are rarely discussed but critical to successfully developing a robust commercial product.
$129.99 ($99 Early Bird)
The C programming language continues to be one of the most widely used languages in embedded systems design. Despite its popularity, C is no longer taught at universities and most industry courses just teach the fundamentals. There’s no good source for developers who want to take their C programming skills to the expert level in a practical way that can be used even in robust embedded systems.
This technology primer is designed to provide developers expert tips, tricks and insights about how to use C to build real-time embedded systems. The primer will include a weekly blog, expert tip to immediately apply in the design cycle and a monthly video that goes deeper on several expert topics.
Video Topics
- Developing Expert C Programs
- Implementing Real-Time Assertions
- Writing a Baremetal Cooperative Scheduler
- Writing a portable and maintainable command parser
- Implementing State Machine in C
- Managing Faults in Embedded Systems
- Strategies for effective Watchdogs
- Writing Reusable Peripheral Drivers for MCU’s
- Improving Embedded Software Testing
- How to Select a Real-Time Operating System
- How to Select the Right Microcontroller for your Application
- Becoming a professional embedded system developer
Blog Topics
-
- Welcome to Advanced C Techniques
- Professional Coding Conventions
- Professional Software Starts with a SDLC
- Writing MISRA-C Compliant Software
-
- Best Practices for using Interrupts
- An Introduction to Assertions
- Design by Contract
- Real-Time Assertions
-
- Reviewing Function Pointers
- Designing a Baremetal Cooperative Scheduler
- Writing a Cooperative Scheduler
- Alternative Scheduling Paradigms for Real-Time Systems
-
- Designing a lightweight communication protocol
- Checksums and CRC’s
- Leveraging CRC Hardware Accelerators
- Implementing an efficient command parser
-
- Accelerating Design through Software Architecture
- An Introduction to State Machines
- Techniques for State Machine Implementation Part 1
- Techniques for State Machine Implementation Part 2
-
- Defining Faults, Errors and Bugs
- Strategies for Handling Errors
- C Error Handling Techniques
- Running RAM Tests
-
- An Introduction to Watchdog Timers
- Watchdog Timer Strategies
- Designing a Watchdog
- Watchdog Best Practices
-
- Concepts for Developing Portable Firmware
- The Hardware Abstraction Layer (HAL) Design Process
- HAL Design for MCU Peripherals
- Implementing Reusable Peripheral Drivers
-
- Testing Strategies for Real-Time Embedded Systems
- Leveraging Cyclomatic Complexity for Unit Testing
- Test Driven Development
- Hardware in Loop Testing
-
- How to select a Real-Time Operating System (RTOS)
- RTOS Application Task Decomposition
- Performing a Rate Monotonic Analysis (RMA)
- Best Practices for RTOS Application Design
-
- Strategies for Minimizing Debug Time
- Jump Starting Development to Minimize Bugs Process
- Debugging Interfaces and Tools
- Best Practices for Performing Code Reviews
-
- Best Practices for Securing an Embedded System
- Securing Embedded Systems through Isolation
- Leveraging the MPU for Safety and Security
- How to Select a Microcontroller
- The Professional Embedded Software Developers Workbench
- Best Practices for using Assembly Language
- Leveraging the KT Matrix to Make Decisions
- Becoming a C Expert
$129.99 ($99 Early Bird)
This is just a sampling of everything that will be covered during the primer.
Technology primers are a great way to get up to speed on a technology over time without investing large amounts of time or money up front. It provides the subscriber with the ability to learn about a technology over the course of a year and build up skills for when they are needed most.