From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9053 invoked by alias); 10 Oct 2014 17:22:10 -0000 Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Received: (qmail 9042 invoked by uid 89); 10 Oct 2014 17:22:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.2 X-HELO: xm21.hostsila.net Received: from xm21.hostsila.net (HELO xm21.hostsila.net) (80.91.189.41) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Fri, 10 Oct 2014 17:22:08 +0000 Received: from [77.222.158.32] (port=1178 helo=[192.168.1.103]) by xm21.hostsila.net with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from ) id 1XcduL-00422W-Ld; Fri, 10 Oct 2014 20:23:13 +0300 Message-ID: <543815D7.7040505@unicore.co.ua> Date: Fri, 10 Oct 2014 17:22:00 -0000 From: Oleg Uzenkov User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: John Dallaway CC: eCos Discussion Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Get-Message-Sender-Via: xm21.hostsila.net: authenticated_id: o.uzenkov@unicore.co.ua X-IsSubscribed: yes Subject: [ECOS] Re: redboot on STM32f4-discovery board X-SW-Source: 2014-10/txt/msg00018.txt.bz2 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