[ECOS] redboot on STM32f4-discovery board
Oleg Uzenkov
o.uzenkov@unicore.co.ua
Thu Oct 9 15:48:00 GMT 2014
Hello All,
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
stm3240g_eval's redboot_rom.ecm)
2. flashed the board with redboot at 0x08000000
3.
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.
Oleg
> 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
>>> redboot_ROM.ecm.
>>>
>>> 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
>> structures.
>>
>> 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
>> monitor
>> 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.
>
> Ilija
>
>> I hope this helps...
>>
>> John Dallaway
>> eCos maintainer
>> http://www.dallaway.org.uk/john
>>
>
--
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
mailing list