Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
C++ in Embedded Systems

You're reading from   C++ in Embedded Systems A practical transition from C to modern C++

Arrow left icon
Product type Paperback
Published in Jul 2025
Publisher Packt
ISBN-13 9781835881149
Length 402 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Amar Mahmutbegović Amar Mahmutbegović
Author Profile Icon Amar Mahmutbegović
Amar Mahmutbegović
Arrow right icon
View More author details
Toc

Table of Contents (25) Chapters Close

Preface
1. Part I: Introduction to C++ in Embedded Development
2. Debunking Common Myths about C++ FREE CHAPTER 3. Challenges in Embedded Systems with Limited Resources 4. Embedded C++ Ecosystem 5. Setting Up the Development Environment for a C++ Embedded Project 6. Part II: C++ Fundamentals
7. Classes – Building Blocks of C++ Applications 8. Beyond Classes – Fundamental C++ Concepts 9. Strengthening Firmware – Practical C++ Error Handling Methods 10. Part III: C++ Advanced Concepts
11. Building Generic and Reusable Code with Templates 12. Improving Type-Safety with Strong Types 13. Writing Expressive Code with Lambdas 14. Compile-Time Computation 15. Part IV: Applying C++ to Solving Embedded Domain Problems
16. Writing C++ HAL 17. Working with C Libraries 18. Enhancing Super-Loop with Sequencer 19. Practical Patterns – Building a Temperature Publisher 20. Designing Scalable Finite State Machines 21. Libraries and Frameworks 22. Cross-Platform Development 23. Other Books You May Enjoy
24. Index

Using C HAL in C++ projects

In Chapter 12, we explored the benefits of using C++ for HAL development. However, despite these advantages, target vendors provide HALs as C libraries. These libraries have been thoroughly tested on millions of devices worldwide, and vendors usually maintain them well, offering regular updates. Thus, it makes more sense to use them rather than re-implement the HAL in C++.

Next, we will create an interface-based design for the UART peripheral, which will provide us with a more flexible software design and allow us to decouple components that are using the UART interface from low-level details.

UART interface for flexible software design

In Chapter 5, we covered the importance of interfaces for flexible software design. There, we had an uart interface class that was implemented by the uart_stm32 class. The gsm_lib class depended on the uart interface, meaning we can reuse it with different uart interface implementations.

The uart_stm32 class...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime