First Successful Firmware Update! :: Bare Metal Programming Series 11

In this episode, we're building the firmware updater application, which communicates with the bootloader in order to send a firmware update reliably over USB/UART. It's a fun break from writing low level C, and a chance to write some code in language that provides nice abstractions for sequencing asynchronous code!
=[ 🔗 Links 🔗 ]=
🎥 Series Playlist: • Blinky To Bootloader: ...
🗣 Discord: / discord
⭐️ Patreon: / lowleveljavascript
💻 Github Repo: github.com/lowbyteproductions...

Пікірлер: 6

  • @kayakMike1000
    @kayakMike10008 ай бұрын

    51:26 i love that you're mystified during your debugging and breakpoint detail. Everyone should take note that sometimes things don't work as expected and you spend time figuring out why. All noobs need to look at that!

  • @yoannprigent5503
    @yoannprigent55036 ай бұрын

    Fantastic video, thanks for including your debugging thought process as well. You have talent for presenting complex issues in an approachable way, I hope you keep it up! The only improvement I can find to your pedagogy would be to find a way to visualize/schematize these timing issues with uart byte consumption/packet building in drawio, as you covered it relatively quickly.

  • @kalidsherefuddin
    @kalidsherefuddin8 ай бұрын

    Thanks

  • @mahmutkoyuncu9955
    @mahmutkoyuncu99554 ай бұрын

    Thanks for making this series. I love it. How can we implement bootloader and firmware update over ethernet?

  • @LowByteProductions

    @LowByteProductions

    3 ай бұрын

    Uhh, to give a short answer that fits in this comment: similar, but different 😁 But seriously, all of the parts to do with sequencing the data and writing to the flash will be the same. Ethernet takes care of basic data integrity (at least, it has a CRC built into the format). If you have or are willing to write a (TCP/)IP stack, then you get a proper packet format for "free". With TCP, you also get automatic retransmission for dropped packets, order sequencing, etc I don't know when it will be, but I am planning on one day building a full stack on a micro using one of the cheap MCP ethernet modules.

  • @mahmutkoyuncu9955

    @mahmutkoyuncu9955

    3 ай бұрын

    ​@@LowByteProductions Thanks for your response. I was expecting you to show me an effective and short way like a library. :D In this case, I will have to do it myself. Then we choose long way, so be it. Updating mechanism has to be over TCP, but I'm also considering adding monitoring of live data. It would be more convenient to do live monitoring via UDP.