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

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 พ.ค. 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/
    TH-cam Channel Managed & Optimized By Digital Medium Ltd: events.digital-medium.co.uk
    ---
    CppNow 2024
    www.cppnow.org​
    / cppnow
    ---
    #boost #cpp #embeddedsystems
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 14

  • @Muhammed.Abd.
    @Muhammed.Abd. 17 วันที่ผ่านมา

    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 🔥🔥

  • @petermuller608
    @petermuller608 6 วันที่ผ่านมา

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

  • @pauloborges-caboverde
    @pauloborges-caboverde 9 หลายเดือนก่อน +5

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

  • @user-ez8es9cz1i
    @user-ez8es9cz1i 8 หลายเดือนก่อน +2

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

  • @tedlasso2887
    @tedlasso2887 9 หลายเดือนก่อน

    Eagerly Waiting

  • @gerdmuller5782
    @gerdmuller5782 9 หลายเดือนก่อน +3

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

  • @fromgermany271
    @fromgermany271 9 หลายเดือนก่อน +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 4 หลายเดือนก่อน

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

  • @JohnWasinger
    @JohnWasinger 5 หลายเดือนก่อน

    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 7 หลายเดือนก่อน +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 2 หลายเดือนก่อน

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

  • @ujin981
    @ujin981 8 หลายเดือนก่อน

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

    • @TheBlaizard
      @TheBlaizard 7 หลายเดือนก่อน +9

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

    • @zachbrown7272
      @zachbrown7272 4 หลายเดือนก่อน +1

      gits and shiggles