Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Book review of Real-Time C++, Second edition by Christopher Kormanyos

Book review of Real-Time C++, Second edition by Christopher Kormanyos

A lightning talk about the book "Real-Time C++, Second edition" by Christopher Kormanyos. Presented as a lightning talk at SwedenCPP Meetup. (https://www.youtube.com/watch?v=mxLyQE89i4I)

Stefan Petersen

February 21, 2019
Tweet

More Decks by Stefan Petersen

Other Decks in Programming

Transcript

  1. Who am I and why do I care? Embedded microcontroller

    The Book Finale Book review Real-Time C++, Second Edition Christopher Kormanyos Stefan Petersen Stockholm C++ Meetup (part of SwedenCpp), 2019 Released under Creative Commons BY-NC-SA 3.0 CC BY: $ \ C Stefan Petersen Book review
  2. Who am I and why do I care? Embedded microcontroller

    The Book Finale Who am I and why do I care? Electronics designer and embedded programmer Graduated KTH Elektro 1998 My own business since 2008, AB since 2012 (Ciellt AB) Programming microcontrollers since 1995 Started open source project gerbv (gEDA) The quest for a “safer C” led me to C++ 1-2 years ago. Stefan Petersen Book review
  3. Who am I and why do I care? Embedded microcontroller

    The Book Finale Embedded microcontrollers Limits in CPU speed ==> most common 8-32 MHz Limits in RAM ==> 4 kb-384 kb (usually 10-16 kb) Limits in flash (program memory) ==> 16 kb-512 kb (usually 16-64 kb) Simple, direct connection to hardware (lights, buttons etc) ==> programming “close to the metal” Limited IO ==> serial port if you’re lucky, displays are special Stefan Petersen Book review
  4. Who am I and why do I care? Embedded microcontroller

    The Book Finale Embedded microcontrollers Limits in CPU speed ==> most common 8-32 MHz Limits in RAM ==> 4 kb-384 kb (usually 10-16 kb) Limits in flash (program memory) ==> 16 kb-512 kb (usually 16-64 kb) Simple, direct connection to hardware (lights, buttons etc) ==> programming “close to the metal” Limited IO ==> serial port if you’re lucky, displays are special Stefan Petersen Book review
  5. Who am I and why do I care? Embedded microcontroller

    The Book Finale Embedded microcontrollers Limits in CPU speed ==> most common 8-32 MHz Limits in RAM ==> 4 kb-384 kb (usually 10-16 kb) Limits in flash (program memory) ==> 16 kb-512 kb (usually 16-64 kb) Simple, direct connection to hardware (lights, buttons etc) ==> programming “close to the metal” Limited IO ==> serial port if you’re lucky, displays are special Stefan Petersen Book review
  6. Who am I and why do I care? Embedded microcontroller

    The Book Finale Embedded microcontrollers Limits in CPU speed ==> most common 8-32 MHz Limits in RAM ==> 4 kb-384 kb (usually 10-16 kb) Limits in flash (program memory) ==> 16 kb-512 kb (usually 16-64 kb) Simple, direct connection to hardware (lights, buttons etc) ==> programming “close to the metal” Limited IO ==> serial port if you’re lucky, displays are special Stefan Petersen Book review
  7. Who am I and why do I care? Embedded microcontroller

    The Book Finale Embedded microcontrollers Limits in CPU speed ==> most common 8-32 MHz Limits in RAM ==> 4 kb-384 kb (usually 10-16 kb) Limits in flash (program memory) ==> 16 kb-512 kb (usually 16-64 kb) Simple, direct connection to hardware (lights, buttons etc) ==> programming “close to the metal” Limited IO ==> serial port if you’re lucky, displays are special Stefan Petersen Book review
  8. Who am I and why do I care? Embedded microcontroller

    The Book Finale Embedded microcontrollers Limits in CPU speed ==> most common 8-32 MHz Limits in RAM ==> 4 kb-384 kb (usually 10-16 kb) Limits in flash (program memory) ==> 16 kb-512 kb (usually 16-64 kb) Simple, direct connection to hardware (lights, buttons etc) ==> programming “close to the metal” Limited IO ==> serial port if you’re lucky, displays are special Stefan Petersen Book review
  9. Who am I and why do I care? Embedded microcontroller

    The Book Finale Embedded microcontrollers Limits in CPU speed ==> most common 8-32 MHz Limits in RAM ==> 4 kb-384 kb (usually 10-16 kb) Limits in flash (program memory) ==> 16 kb-512 kb (usually 16-64 kb) Simple, direct connection to hardware (lights, buttons etc) ==> programming “close to the metal” Limited IO ==> serial port if you’re lucky, displays are special Stefan Petersen Book review
  10. Who am I and why do I care? Embedded microcontroller

    The Book Finale Embedded microcontrollers Limits in CPU speed ==> most common 8-32 MHz Limits in RAM ==> 4 kb-384 kb (usually 10-16 kb) Limits in flash (program memory) ==> 16 kb-512 kb (usually 16-64 kb) Simple, direct connection to hardware (lights, buttons etc) ==> programming “close to the metal” Limited IO ==> serial port if you’re lucky, displays are special Stefan Petersen Book review
  11. Who am I and why do I care? Embedded microcontroller

    The Book Finale Embedded microcontrollers Limits in CPU speed ==> most common 8-32 MHz Limits in RAM ==> 4 kb-384 kb (usually 10-16 kb) Limits in flash (program memory) ==> 16 kb-512 kb (usually 16-64 kb) Simple, direct connection to hardware (lights, buttons etc) ==> programming “close to the metal” Limited IO ==> serial port if you’re lucky, displays are special Stefan Petersen Book review
  12. Who am I and why do I care? Embedded microcontroller

    The Book Finale Embedded microcontrollers Limits in CPU speed ==> most common 8-32 MHz Limits in RAM ==> 4 kb-384 kb (usually 10-16 kb) Limits in flash (program memory) ==> 16 kb-512 kb (usually 16-64 kb) Simple, direct connection to hardware (lights, buttons etc) ==> programming “close to the metal” Limited IO ==> serial port if you’re lucky, displays are special Stefan Petersen Book review
  13. Who am I and why do I care? Embedded microcontroller

    The Book Finale What does this give? Optimise program use No exceptions No RTTI Use interrupts and DMA’s Precalculate as much as possible, maybe tables? Do not use dynamic memory Avoid dynamic bindings Stefan Petersen Book review
  14. Who am I and why do I care? Embedded microcontroller

    The Book Finale What does this give? Optimise program use No exceptions No RTTI Use interrupts and DMA’s Precalculate as much as possible, maybe tables? Do not use dynamic memory Avoid dynamic bindings Stefan Petersen Book review
  15. Who am I and why do I care? Embedded microcontroller

    The Book Finale What does this give? Optimise program use No exceptions No RTTI Use interrupts and DMA’s Precalculate as much as possible, maybe tables? Do not use dynamic memory Avoid dynamic bindings Stefan Petersen Book review
  16. Who am I and why do I care? Embedded microcontroller

    The Book Finale What does this give? Optimise program use No exceptions No RTTI Use interrupts and DMA’s Precalculate as much as possible, maybe tables? Do not use dynamic memory Avoid dynamic bindings Stefan Petersen Book review
  17. Who am I and why do I care? Embedded microcontroller

    The Book Finale What does this give? Optimise program use No exceptions No RTTI Use interrupts and DMA’s Precalculate as much as possible, maybe tables? Do not use dynamic memory Avoid dynamic bindings Stefan Petersen Book review
  18. Who am I and why do I care? Embedded microcontroller

    The Book Finale What does this give? Optimise program use No exceptions No RTTI Use interrupts and DMA’s Precalculate as much as possible, maybe tables? Do not use dynamic memory Avoid dynamic bindings Stefan Petersen Book review
  19. Who am I and why do I care? Embedded microcontroller

    The Book Finale Split into three sections I Language Technologies for Real-Time C++ II Components for Real-Time C++ III Mathematics and Utilities for Real-Time C++ Stefan Petersen Book review
  20. Who am I and why do I care? Embedded microcontroller

    The Book Finale Language Technologies for Real-Time C++ Getting Started with Real-Time C++ Working with a Real-Time C++ Program on a Board An Easy Jump-Start in Real-Time C++ Object-Oriented Techniques for Microcontrollers C++ Templates for Microcontrollers Optimised C++ Programming for Microcontrollers Stefan Petersen Book review
  21. Who am I and why do I care? Embedded microcontroller

    The Book Finale Components for Real-Time C++ Accessing Microcontroller Registers The Right Start Low-Level Hardware Drivers in C++ Custom Memory Management C++ Multitasking Stefan Petersen Book review
  22. Who am I and why do I care? Embedded microcontroller

    The Book Finale Mathematics and Utilities for Real-Time C++ Floating-Point Mathemathics Fixed-Point Mathemathics High-Performance Digital Filters C++ Utilities Extending the C++ Standard Library and the STL Stefan Petersen Book review
  23. Who am I and why do I care? Embedded microcontroller

    The Book Finale Appendices A A Tutorial for Real-Time C++ B A Robust Real-Time C++ Environment C Building and Installing GNU GCC Cross Compilers D Building a Microcontroller Circuit Stefan Petersen Book review
  24. Who am I and why do I care? Embedded microcontroller

    The Book Finale Conclusions Good book if you want to use C++ on a microcontroller. Have lots of example code. Is not a CS book. A basic knowledge of microcontrollers is good. Experience in programming these things helps. Short on details, often refers to other books. Stefan Petersen Book review
  25. Who am I and why do I care? Embedded microcontroller

    The Book Finale Conclusions Good book if you want to use C++ on a microcontroller. Have lots of example code. Is not a CS book. A basic knowledge of microcontrollers is good. Experience in programming these things helps. Short on details, often refers to other books. Stefan Petersen Book review
  26. Who am I and why do I care? Embedded microcontroller

    The Book Finale Conclusions Good book if you want to use C++ on a microcontroller. Have lots of example code. Is not a CS book. A basic knowledge of microcontrollers is good. Experience in programming these things helps. Short on details, often refers to other books. Stefan Petersen Book review
  27. Who am I and why do I care? Embedded microcontroller

    The Book Finale Conclusions Good book if you want to use C++ on a microcontroller. Have lots of example code. Is not a CS book. A basic knowledge of microcontrollers is good. Experience in programming these things helps. Short on details, often refers to other books. Stefan Petersen Book review
  28. Who am I and why do I care? Embedded microcontroller

    The Book Finale Conclusions Good book if you want to use C++ on a microcontroller. Have lots of example code. Is not a CS book. A basic knowledge of microcontrollers is good. Experience in programming these things helps. Short on details, often refers to other books. Stefan Petersen Book review
  29. Who am I and why do I care? Embedded microcontroller

    The Book Finale Conclusions Good book if you want to use C++ on a microcontroller. Have lots of example code. Is not a CS book. A basic knowledge of microcontrollers is good. Experience in programming these things helps. Short on details, often refers to other books. Stefan Petersen Book review
  30. Who am I and why do I care? Embedded microcontroller

    The Book Finale Other Sources “Getting Started with C++ in Embedded Systems”, Michael Barr & Michael Wilk (Barr Group), https://vimeo.com/170004397 “Hands-On Embedded Programming with C++17”, Maya Posch, Packt Publishing Limited (www.packtpub.com) Stefan Petersen Book review
  31. Who am I and why do I care? Embedded microcontroller

    The Book Finale Questions Thank you! Real-Time C++, Second edition, Christopher Kormanyos Efficient Object-Oriented and Template Microcontroller Programming Questions? Contact: spe (at) ciellt (dot )se Stefan Petersen Book review