Create network communications software with a thorough understanding of the essential system-level design and implementation choices and how they affect the performance and maintainability of your embedded system. An examination of the OSI 7-layer model serves as a starting point for a logical partitioning of software functionality in a communications system. With this foundation, you explore a development model that addresses the complete range of issues in the design of embedded communications software, including real-time operating systems, hardware and software partitioning, layering, and protocol stacks.
Delve into the programming techniques (state tables, upper- and lower-level interfaces, configuration techniques, buffer and timer management) that enable clean, understandable implementations of even complex protocols. Explore specialized design issues, including task management, buffer management, and table management and implementation issues that might include:
* how device and network management capabilities should interact with the stack
* how to handle system startup and configuration
* what special requirements multi-board designs impose
Combine the recommended design and development processes-complete with a list of appropriate equipment and tools-with your newfound perspective to tackle your next project.