[ECOS] redboot on STM32f4-discovery board
Thu Oct 9 15:48:00 GMT 2014
I have tried to run redboot on a custom board (very similar to
STM32f4-discovery board, so let's say that we have discovery in question).
I do understand that there is a little point to run redboot on a board
without external RAM (due to memory limitations).
At this moment, I am not looking at loading and storing images via
redboot (this would be the next step, the images will be small).
I just would like to get redboot working on a board without external RAM.
These are my findings so far:
1. I built redboot for ROM startup (applied relevant adjustings from
2. flashed the board with redboot at 0x08000000
when CYGOPT_REDBOOT_FIS == 0 redboot loads, but is very unstable, can
stop working any time... But, without Flash Image System I do not see
how to use redboot to load and store and run images.
when CYGOPT_REDBOOT_FIS == 1 redboot hangs. It happens when
do_flash_init() runs (problem in memcpy , probably illigal memory access)
A question, can actually redboot work without external ram?
If yes, how to fit it properly? (the board has stm32f407VE with 128+64
KB of internal ram, 512KB internal flash)
I would appreciate any input on this.
> On 03.10.2014 13:40, John Dallaway wrote:
>> Hi Oleg
>> On 02/10/14 09:47, Oleg Uzenkov wrote:
>>> I am working with eCos on STM32f4-discovery board.
>>> I would like to build a redboot loader that could choose and load
>>> binaries (eCos+app) stored in internal flash at power on.
>>> The eCos port for STM32f4-discovery has got a redboot option under
>>> Packages list in Templates. However it seems to be very minimalistic and
>>> also not functional. Also there is no specific configuration file like
>>> Please, could you give me directions as to making a functional redboot
>>> loader for STM32f4-discovery board.
>>> Would it make sense to build redboot for stm32x0g_eval board (redboot
>>> seems to be working) and adapt it for STM32f4-discovery board?
>>> I would appreciate any input on this.
>> To be clear, there is no support for RedBoot in the STM32F4-Discovery
>> platform HAL at present. The STM32F4-Discovery board offers only 128KiB
>> of contiguous on-chip RAM, so loading applications into RAM prior to
>> execution would limit the size of your applications quite considerably.
>> RedBoot would also consume some of the available RAM for its own data
>> If you are still interested in using RedBoot to load and launch your
>> applications, you will need to add the following to the
>> STM32F4-Discovery platform HAL package:
>> a) CDL items and memory layout files for RAM startup
>> b) CDL items for behaving as a ROM monitor and for working with a ROM
>> c) RedBoot-specific CDL items and data structures
>> You will find examples of all the above in the STM32x0G_EVAL platform
>> HAL package, but keep in mind that the STM32x0G_EVAL boards feature
>> external RAM. The naming of memory regions and startup types is
>> therefore different. The STM32x0G_EVAL "ROMINT" and "SRAM" startup types
>> are broadly equivalent to the STM32F4-Discovery "ROM" and (proposed)
>> "RAM" startup types respectively.
> In addition, for example of RedBoot on a platform with only internal RAM
> you can look at Kinetis.
>> I hope this helps...
>> John Dallaway
>> eCos maintainer
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
More information about the Ecos-discuss