This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: STM32 ROM .bin does not start
- From: John Dallaway <john at dallaway dot org dot uk>
- To: Bernhard Gebert <bernhard_gebert at web dot de>
- Cc: ecos-discuss at ecos dot sourceware dot org
- Date: Sun, 03 Jan 2010 08:53:14 +0000
- Subject: [ECOS] Re: STM32 ROM .bin does not start
- References: <4B3F8D17.3070109@web.de> <4B3F8E6C.2050708@web.de>
Hi Bernhard
Bernhard Gebert wrote:
> Bernhard Gebert schrieb:
>> Hello,
>>
>> after running eCos successfully on my AT91SAM7X256, I want to switch
>> over to a more recent µC, but it "simply" does not start.
>>
>> I want to run my eCos application as standalone in ROM not using Redboot.
>>
>> My hardware is a homebrew board using the STM32F103VET6, running at 8
>> MHz just like the original eval board.
>> I can program the flash memeory with a simple serial programmer.
>>
>> What I did:
>> 1. opened Template "ST STM3210E EVAL board", Packes "default"
>> 2. Changed to ROM startup, both "behave as a ROM monitor" and "Work
>> with a ROM monitor" swithed off
>> 3. Debug and diagnostic serial ports to "1"
>> 4. Built eCos Lib successfully
>> 5. Modified the examples-makefile a bit: In the linker-call I wrote
>> $(XLD) $(LDFLAGS) $(ECOS_GLOBAL_LDFLAGS) -o $@.elf $@.o
>> arm-none-eabi-objcopy -O binary $@.elf $@.bin
>> to get *.bin outputs
>> 6. run "make INSTALL_DIR ..." from cygwin
The above procedure looks OK as far as it goes, but...
>> So far, so good. You can guess, the binaries do not run...
>>
>> What I tested:
>> 1. USART1 is working, it uses the same pins as in the eval board (PA9,
>> PA10)
>> 2. tried diag_printf()
>> 3. Check USART with an oscilloscope, really nothing, so it is not a
>> baudrate problem
>>
>> Can you help me?
>>
> Sorry, I forgot something important.
> I want to run the µC without external memory, so the application has to
> residue and run in the internal ROM.
There may be several issues here. Use of the STM3210E-EVAL HAL package
without external memory is certainly one of them.
The eCos ROM startup memory layout for the STM3210E-EVAL board makes use
of external RAM (region "ram"). Take a look at the *.ldi and *.h files
in the hal/cortexm/stm32/stm3210e_eval/current/include/pkgconf/
directory. You will find memory layouts for ROM startup and for SRAM
startup (intended for JTAG download to internal RAM). You will need to
modify the ROM startup files (or create a new startup type and files) to
use the "flash" and "sram" memory regions only - combining aspects of
the existing ROM and SRAM memory layouts.
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