This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: small custom bootloader to start an app stored in flash


On Fri, 24 Oct 2014, Oleg Uzenkov wrote:

> Redboot is a great piece of software. It is just I found that when you
> enable some important features like FIS support, Redboot reserves
> extra space in RAM memory.
> The size of this reserved extra space in RAM equals to the size of the
> largest section size in Flash. In case of stm32f407 it is 128KB.
> Internal RAM is 128KB. As John Dallaway pointed out there is very
> little sense in using Redboot without enough of external RAM on
> stm32f4 devices. For example for Kinetis it is a different story, the
> flash sections are uniform and quite small.
> 
> For small systems external RAM chip significantly adds up to the cost
> of a device.
 
I understand John's point and agree with him. But, he told about using
debug infrastructure of RedBoot (debugging eCos applications in RAM).
But, RedBoot is *debug* and *bootstrap* environment for eCos. I pointed
on another side of RedBoot, *bootstrap*. You can quite run eCos [ROM]
builds from FIS. Those [ROM] applications may utilize all RAM (128K +
64K) on your target. On start ROM application just does overlay RedBoot
memory.  You saw that yesterday with Rainer's approach (exec). If you
cannot manage run [ROM] applications with RedBoot command 'go', just
implement one new command for RedBoot, e.g. 'xip' (as RedBoot already
uses 'exec' name to run Linux kernel). RedBoot will let you to use
FLASH I/O, load any images, use start scripts, etc., etc. Of course it
is my opinion only.

Sergei

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]