Composition on Tiny Embedded Systems in C++ - Luke Valenty - CppNow 2023

Sdílet
Vložit
  • čas přidán 28. 05. 2024
  • www.cppnow.org​
    / cppnow
    ---
    Composition on Tiny Embedded Systems in Cpp - Luke Valenty - CppNow 2023
    Slides: github.com/boostcon
    ---
    Join Luke Valenty and explore the unique challenges of writing composable firmware for deeply embedded systems with a live demonstration of creating a remote controlled RGB lighting controller.
    We'll cover low-level hardware register access, interrupt handler registration, logging, initialization and task registration, message handling, and safe arithmetic. While we build the firmware, we will also build up the hardware from scratch: powering up the microcontroller, using a logic analyzer to show signs of life, adding a USB UART adapter to support logging/debugging, lighting up RGB LEDs, and adding an IR receiver to control the them with a remote control.
    While implementing this demo, the presentation will cover C++ and design concepts such as using compile-time constructs for powerful and efficient abstractions; strategies for decoupling components; abstracting away low-level hardware details; and more. Join us as we explore this cutting edge approach for building efficient and maintainable firmware!
    ---
    Luke Valenty
    Luke started his career at Intel in 2008 as a hardware validation engineer developing tools to validate chip designs in simulation. Since 2018 Luke has been working as a lead firmware engineer for deeply embedded components. His team is embracing modern C++ and leaving C woes behind.
    ---
    Video Sponsors: think-cell and Bloomberg Engineering
    Audience Audio Sponsors: Innoplex and Maryland Research Institute
    ---
    Videos Filmed & Edited By Bash Films: bashfilms.com/
    CZcams Channel Managed & Optimized By Digital Medium Ltd: events.digital-medium.co.uk
    ---
    CppNow 2024
    www.cppnow.org​
    / cppnow
    ---
    #boost #cpp #embeddedsystems
  • Věda a technologie

Komentáře • 14

  • @petermuller608
    @petermuller608 Před 12 dny

    Great talk! The live demos must have been nerve wracking xD

  • @Muhammed.Abd.
    @Muhammed.Abd. Před 23 dny

    That logging scheme were he doesn't store strings on the MCU but returns an identifier, and the local machines figures it out!! That is amazing 🔥🔥

  • @user-ez8es9cz1i
    @user-ez8es9cz1i Před 8 měsíci +2

    Great talk! A rare combination of technical acumen and effective communication. Very brave to do breadboarding live in front of an audience!

  • @pauloborges-caboverde
    @pauloborges-caboverde Před 9 měsíci +5

    Love to see C++ on low power device (Atmel/AVR Fan)

  • @tedlasso2887
    @tedlasso2887 Před 9 měsíci

    Eagerly Waiting

  • @gerdmuller5782
    @gerdmuller5782 Před 9 měsíci +3

    Amazing talk! Are the sources (avr-sandbox) of the demo somewhere available?

  • @fromgermany271
    @fromgermany271 Před 9 měsíci +1

    There are examples in the net to drive neopixel with avr in c++ w/o any inline assembler. GCC is quite good in optimizing for AVR8

    • @LukeValenty
      @LukeValenty Před 4 měsíci

      I'd love to see links to the examples you are talking about!

  • @JohnWasinger
    @JohnWasinger Před 5 měsíci

    Nice shout out to Ben Eater. I’ve watched his videos too.
    Do you have links to the videos Ben has posted? I’m interested about how he’s using your signal flow techniques.

  • @gustavojmalano
    @gustavojmalano Před 7 měsíci +1

    Awesome talk Luke! I'm delighted with the logging facility of CIB, one missing piece for me is that this implementation seems to use iostreams, that are too heavy for such tiny microcontrollers... How did you pull this off in this case? I'm not that skilled in modern C++ btw... Can anyone enlighten me about this? Thanks

  • @AbuOm1
    @AbuOm1 Před 2 měsíci

    Attiny13 is old, it would be nicer if you replace it with the modern tinyAVR series like ATtiny412 8 pin smd package

  • @ujin981
    @ujin981 Před 9 měsíci

    why? why!? WHY WOULD ANYONE NEED C++ TO WRITE 512 ASSEMBLER INSTRUCTIONS?!?!?!?!

    • @TheBlaizard
      @TheBlaizard Před 7 měsíci +9

      readability, maintainability, portability, type correctness... there are a lot of arguments.

    • @zachbrown7272
      @zachbrown7272 Před 4 měsíci +1

      gits and shiggles