This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Creating a Bootloader with C

I currently have 2 in system programming (also acting as bootloaders) designs done up in 8051 assembly but would like to recode them in C. I'm unsure how one goes about doing this based upon the runtime constraints placed on the user when using C.

Parents
  • Erik,

    Sure... those chips that already have a canned bootloader somewhere masked into the chip are pretty nice, and using FlashMagic is certainly alot easier than most alternatives, but there are still some nice designs that don't meet those criteria.

    For instance, the newish STMicro uPSD series of chips have an 8032 core along with DUAL flash banks. This means that I can ship a unit with a bootloader programmed into ONE flash bank and use it (via whatever channel) to update the application that's in the other flash bank without ever needing to load code to RAM. I could even (if I were very enterprising) do a two-stage bootstrap that burns a NEW bootloader to the application area, jumps to that, and then reprograms the actual bootloader area to allow for updates of any code on the chip. It's really pretty slick and helps to alleviate worries about adding future functionality to devices.

Reply
  • Erik,

    Sure... those chips that already have a canned bootloader somewhere masked into the chip are pretty nice, and using FlashMagic is certainly alot easier than most alternatives, but there are still some nice designs that don't meet those criteria.

    For instance, the newish STMicro uPSD series of chips have an 8032 core along with DUAL flash banks. This means that I can ship a unit with a bootloader programmed into ONE flash bank and use it (via whatever channel) to update the application that's in the other flash bank without ever needing to load code to RAM. I could even (if I were very enterprising) do a two-stage bootstrap that burns a NEW bootloader to the application area, jumps to that, and then reprograms the actual bootloader area to allow for updates of any code on the chip. It's really pretty slick and helps to alleviate worries about adding future functionality to devices.

Children