From: Oleg Uzenkov <o.uzenkov@unicore.co.ua>
To: John Dallaway <john@dallaway.org.uk>
Cc: eCos Discussion <ecos-discuss@sourceware.org>
Subject: [ECOS] Re: redboot on STM32f4-discovery board
Date: Fri, 10 Oct 2014 17:22:00 -0000 [thread overview]
Message-ID: <543815D7.7040505@unicore.co.ua> (raw)
Hi John,
I managed to get redboot running on the board (without external ram)
redboot has been built with (CYGOPT_REDBOOT_FIS == 0) and it is stable.
I even can do:
RedBoot> fconfig -i
Initialize non-volatile configuration - continue (y/n)? y
Run script at boot: false
Console baud rate: 115200
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0x08040000-0x08040fff: .
... Program from 0x20012000-0x20013000 to 0x08040000: .
RedBoot>
There is something strange in what I have noticed:
Output with (CYGBLD_REDBOOT_LOAD_INTO_FLASH == 0):
RAM: 0x20000000-0x2001f000 [0x20003a58-0x20010000 available]
0x10000000-0x10010000 [0x10000000-0x10010000 available]
FLASH: 0x08000000-0x0807ffff, 4 x 0x4000 blocks, 1 x 0x10000 blocks, 3 x
0x20000 blocks
RedBoot>
(RedBoot is using 0x3a58 bytes of internal RAM.)
Output with (CYGBLD_REDBOOT_LOAD_INTO_FLASH == 1) (nothing else was
modified):
RAM: 0x20000000-0x2001f000 [0x20003a88-0x1fff0000 available]
0x10000000-0x10010000 [0x10000000-0x10010000 available]
FLASH: 0x08000000-0x0807ffff, 4 x 0x4000 blocks, 1 x 0x10000 blocks, 3 x
0x20000 blocks
RedBoot>
Notice [0x20003a88-0x1fff0000 available]: range is invalid. Any ideas why?
How can I load a small .elf file (built for RAM startup) now and store
it in internal flash and execute? :-)
this is what happens when i do:
RedBoot> load -m x
C*** Abort! Attempt to load ELF data to address: 0x20000288 which is not
valid
xyzModem - CRC mode, 2(SOH)/0(STX)/0(CAN) packets, 3 retries
RedBoot>
address 0x20000288 is not valid probably because we have
[0x20003a58-0x20010000 available]
and 0x20000288 is occupied by redboot. What do I do?
Oleg
> 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
next reply other threads:[~2014-10-10 17:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-10 17:22 Oleg Uzenkov [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-10-02 8:47 [ECOS] " Oleg Uzenkov
2014-10-03 11:40 ` [ECOS] " John Dallaway
2014-10-04 14:27 ` "Ilija Kocho [Илија Кочо]"
2014-10-05 8:32 ` Oleg Uzenkov
2014-10-05 9:56 ` "Ilija Kocho [Илија Кочо]"
2014-10-09 15:48 ` [ECOS] " Oleg Uzenkov
2014-10-09 18:44 ` [ECOS] " John Dallaway
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=543815D7.7040505@unicore.co.ua \
--to=o.uzenkov@unicore.co.ua \
--cc=ecos-discuss@sourceware.org \
--cc=john@dallaway.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).