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, Sergei Gavrikov wrote:

> 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.

For clarity. If you have no idea how to burn big images on FLASH using
only 128K RAM (and it is possible and without RedBoot load-into-flash
feature which needs extra memory, 128K) see below a "way". Split source
binary on 64K chunks, gzip the chunks (you told about GPRS modem) and
upload those chunks with RedBoot. After uploading the next part write it
on FLASH with 0x10000 offset.

Host

  split -b 64K app.bin
  gzip xa*

Target

  load -m x -d -r ...
  fis write ...

Of course, the process can be automated with Expect.

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]