This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: redboot on STM32f4-discovery board
- From: John Dallaway <john at dallaway dot org dot uk>
- To: Oleg Uzenkov <o dot uzenkov at unicore dot co dot ua>
- Cc: eCos Discussion <ecos-discuss at sourceware dot org>
- Date: Thu, 09 Oct 2014 19:44:48 +0100
- Subject: Re: redboot on STM32f4-discovery board
- Authentication-results: sourceware.org; auth=none
- References: <542D110B dot 9080002 at unicore dot co dot ua> <542E8B41 dot 8030905 at dallaway dot org dot uk> <543003B9 dot 20300 at siva dot com dot mk> <5436AE5C dot 6060401 at unicore dot co dot ua>
Hi Oleg
On 09/10/14 16:48, Oleg Uzenkov wrote:
> 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).
[ snip ]
> 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)
Consider the output of RedBoot on STM3240G-EVAL (from your earlier message):
> RedBoot(tm) bootstrap and debug environment [ROM]
> ...
> Platform: ST STM3240G-EVAL (Cortex-M4)
> RAM: 0x64000000-0x64200000 [0x64005d30-0x641dd000 available]
> 0x20000000-0x2001f000 [0x20000000-0x2001f000 available]
> 0x10000000-0x10010000 [0x10000000-0x10010000 available]
> FLASH: 0x08000000-0x080fffff, 4 x 0x4000 blocks, 1 x 0x10000 blocks, 7 x 0x20000 blocks
> RedBoot>
This shows that RedBoot is using 0x5d30 bytes of external RAM with FIS
enabled. If you have ported RedBoot to your custom board correctly, I
would expect it to report internal RAM usage similar, but not identical,
to the following:
> RAM: 0x20000000-0x2001f000 [0x20005d30-0x2001f000 available]
Is that what you are observing?
So RedBoot should fit it available RAM quite easily.
I would concentrate on tracking down the reliability issue when RedBoot
is configured without the FIS first. Once you have a stable RedBoot
without the FIS, you can then try enabling the FIS.
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