Bootloading 101

Поделиться
HTML-код
  • Опубликовано: 5 янв 2025

Комментарии • 17

  • @saveplanet3977
    @saveplanet3977 4 года назад +4

    thank you for the quick overview on Bootloaders

  • @govindraj7061
    @govindraj7061 3 года назад

    Nice to listen the way you interprates

  • @cihan1995
    @cihan1995 Год назад

    Could anyone please explain what FLASH API is? Thanks

  • @justinw6978
    @justinw6978 3 года назад +2

    Thanks for such a great overview!

  • @kebabsharif9627
    @kebabsharif9627 2 года назад

    Can you Show in a video how to update firmware using serial connections without jtag Please.

  • @kevyelyod1211
    @kevyelyod1211 4 года назад

    Also Das u-boot is open source. But I’m not sure if it does encryption

  • @viveksharma9564
    @viveksharma9564 4 года назад +1

    Thank you. Quite informative

  • @GalinaMalakhova
    @GalinaMalakhova 4 года назад +1

    Thank you, very clear

  • @TheGirishD11
    @TheGirishD11 5 лет назад +6

    Can you please show how to write code for bootloader? Thanks in advance

    • @gregoryfenn1462
      @gregoryfenn1462 2 года назад

      That won't happen!! It's way too specific to each SoC or MCU, and would take days of fairly advanced debugging. It's not the kind of thing you can put in a youtube video.

    • @erminejose4188
      @erminejose4188 2 года назад +2

      @@gregoryfenn1462 As a student where can i go and learn this information, could please guide me to resources through which i can read and write a bootloader myself.

    • @erminejose4188
      @erminejose4188 2 года назад

      @@sebastianospino4861Nope

    • @Kefford666
      @Kefford666 2 года назад +4

      @@erminejose4188 I am going through this process myself, I can tell you that there are lots and lots of videos on youtube that cover how to write a bootloader. Once you start watching one or two, you will get recommended more and they just keep coming up!
      I think the first thing you should do is decide whether you are using the factory bootloader or a custom one. For example STM32s come with a bootloader already programmed in the ROM which you can jump to or you can set the appropriate bits and do a system reset to make it run. If the factory bootloader doesn't do what you need then you'll need to write your own and program it to page 0 of your MCU. You then need to offset your main application to a later page e.g. page 8 or page 16. It depends how big your bootloader is and how much room you need to leave for it. Then you'll need to learn about the stack and reset handlers so you can execute jumps from bootloader to app and vice versa. You will have to learn about linker scripts and how to adjust the memory map.
      One video or one tutorial won't cover all you need to know. You'll have to study various things and piece your own solution together.
      This video was useful for modifying linker scripts ruclips.net/video/OkUQ3iMmiYQ/видео.html
      There is a udemy course by Fastbit Academy called "custom bootloader development" which you could buy. That covers loading via UART and uses pre-made stuff for sending the file from the host side.
      Also there are various github projects you can use. Try looking through the betaflight code for an example of jumping to a factory bootloader github.com/betaflight/betaflight/blob/master/src/main/drivers/system_stm32f4xx.c
      This one was useful for learning about reading/writing flash memory github.com/IMProject/IMBootloader/blob/master/Bootloader/Adapters/Src/flash_adapter.c
      Good example for memory mapping if you need to create a separate region in RAM for your bootloader to use github.com/jonahswain/stm32g0-bootloader/blob/main/memory_map.ld
      Hope that helps!

    • @erminejose4188
      @erminejose4188 2 года назад

      @@Kefford666 great help thanks brother. I'll go through them all

  • @Decco6306
    @Decco6306 5 лет назад +8

    Oh, had no idea.
    so its kinda like a tiny BIOS.
    cute.

  • @chillphil967
    @chillphil967 5 месяцев назад

    someone shouldve showed this video to crowdstrike! #toosoon 😂