Forums

bootloader and memory usage

Started by amerdsp September 3, 2006
Greetings,
  When a program is too big to fit on a microcontoller internal memroy,
external memory has to be used.  Thats when a bootloader is needed.
  Does a bootloader go hand in hand with an RTOS or is it sometimes
used to without one? Also, what kind of memory is typically used in
this setting, and how is it updated?

Thank you for your input.
-- a

amerdsp wrote:
> Greetings, > When a program is too big to fit on a microcontoller internal memroy, > external memory has to be used. Thats when a bootloader is needed. > Does a bootloader go hand in hand with an RTOS or is it sometimes > used to without one? Also, what kind of memory is typically used in > this setting, and how is it updated? > > Thank you for your input. > -- a >
This brings up more questions. A bootloader may or may not use a RTOS. An RTOS may or may not be able to use a bootloader. A microcontroller with internal memory must be able to write its own FLASH ROM. So, which microcontroller do you have in mind ?? Please give more information, an we can give a better answer.

amerdsp wrote:

> Greetings, > When a program is too big to fit on a microcontoller internal memroy, > external memory has to be used. Thats when a bootloader is needed.
Bootloader is a piece of code which typically does the following: 1. Reprogramming the system flash memory with the external data. 2. Doing all necessary initializations and launching the application code.
> Does a bootloader go hand in hand with an RTOS or is it sometimes > used to without one?
No connection. The bootloader may be used with or without RTOS. RTOS may or may not use the bootloader.
> Also, what kind of memory is typically used in > this setting, and how is it updated?
Flash. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
amerdsp <amerdsp@hotmail.com> wrote:

> When a program is too big to fit on a microcontoller internal memroy, > external memory has to be used.
Not necessarily. A micro with more internal memory may work just as well, if it's available.
> Thats when a bootloader is needed.
No. You only need a bootloader if the external memory isn't directly readable as code by the CPU, or if you want to be able to have multiple codes among which the bootloader has to select, for purposes like in-application program updates.
> Does a bootloader go hand in hand with an RTOS or is it sometimes > used to without one?
Again, apples and oranges.
> Also, what kind of memory is typically used in this setting, and how > is it updated?
Depends on whether you actually needed a bootloader or not. Parallel flash or (more rarely) OTP for applications without a bootloader, any kind of storage you can imagine for those with one. The weirdest boot-loading scenario I've seen involved a HP Unix workstation booted off a tape drive. -- Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de) Even if all the snow were burnt, ashes would remain.
> A microcontroller with internal memory must be able to write its own > FLASH ROM. > > So, which microcontroller do you have in mind ?? > > Please give more information, an we can give a better answer.
I do not have any microcontroller in mind. What I was asking about is that if the program does not fit in the internal memory, an external memory can be used. How is this external memory is usually updated? Thanks -- a
amerdsp wrote:
>>A microcontroller with internal memory must be able to write its own >>FLASH ROM. >> >>So, which microcontroller do you have in mind ?? >> >>Please give more information, an we can give a better answer. > > > I do not have any microcontroller in mind. What I was asking about is > that if the program does not fit in the internal memory, an external > memory can be used. How is this external memory is usually updated? > > Thanks > > -- a >
Well, there is no answer to this question. If this were a product with a real schedule, getting a part of the next higher size would be used. ( been there, done that) If this is a hobby project, then does the microcontroller have an external memory interface. Most of the current crop of microcontrollers do not have external memory interfaces. Only internal memory. PIC, MSP, AVR, all these deviced do NOT have external memory interfaces. So, with out knowledge of the microcontroller you want to use, this question can not be answered. Now, if you are using an micro_processor, then there may be an answer. So, check the data sheet of what ever chip you have in mind. That will be the only way to tell if this can be done at all. Good Luck.
amerdsp wrote:
> Greetings, > When a program is too big to fit on a microcontoller internal memroy, > external memory has to be used.
That statement Is not Always true (if Ever) Single chip micros often have bootloaders to program the internal Flash. The boot loader to prgram internal and external would need to be more sophisticated to program two kinds of memory. Thats when a bootloader is needed.
> Does a bootloader go hand in hand with an RTOS or is it sometimes > used to without one?
Bootloader go with many types of Flash micros. The RTOS is usually not involved. The RTOS jumps to the bootloader as it usually can not run during the programming. Also, what kind of memory is typically used in
> this setting, and how is it updated?
Usually Flash, but other types of in circuit programmable memory, as well as battery backed memory can be used.
> > Thank you for your input. > -- a >