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

Profiling

Running code on the target and profiling is the best way to ensure the Worst-Case Execution Time (WCET) for critical functionality and make necessary optimizations if needed.

The challenge with profiling is that it is an intrusive operation, as the code source needs to be modified or instrumented to enable traces that can tell us more about what is happening internally on the target.

Profiling depends on target capabilities. Some cores have integrated units for tracing, as we saw in the previous chapter, providing profiling that is minimally invasive. Also, some targets have special interfaces that allow high-speed trace data transfer using advanced debugging and tracing probes connected to the host machine. We can see an example of profiling infrastructure used for some Cortex-M targets in the following figure:

Figure 3.10 – Arm target connected to host machine over a debug probe

Figure 3.10 – Arm target connected to host machine over a debug probe

In Figure 3.10, we can see an Arm target connected over a debugging...

lock icon The rest of the chapter is locked
Visually different images
CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
C++ in Embedded Systems
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 $19.99/month. Cancel anytime
Modal Close icon
Modal Close icon