This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: boot ecos from Assabet


On Thu, 2001-10-18 at 10:36, Robert Lee wrote:
> Let me see whether we are "synchronized".  In
> ecos.ecc, 
> the default value of CYG_HAL_STARTUP is "ROM":
> 
> cdl_component CYG_HAL_STARTUP {
>     # Flavor: data
>     # No user value, uncomment the following line to
> provide one.
>     # user_value ROM
>     # The inferred value should not be edited
> directly.
>     inferred_value ROM
>     # value_source inferred
>     # Default value: ROM           <-------
>     # Legal values: "RAM" "ROM"
> 
> I guess this is good.
> 
> > ecosconfig tree
> > make
> 
> Then, I change directory to example and type
> > make hello
> 
> An executable "hello" is created but it is ELF (by
> "file hell").  I suspect it is still a program to
> execute in RAM; I haven't created a program that can
> run from ROM.  Is this right?  What am I missing?
> 

You need to convert that image into something which can be
programmed into the ROM/FLASH.
  % arm-elf-objcopy -O binary hello hello.bin

Then program the file hello.bin into the FLASH.

You can tell something about the program by it's memory map.
  % arm-elf-objdump -h hello
This will tell you the "virtual" address of each section.  In
particular, on the Assabet, ROM programs will have their TEXT
segment in the range 0x50000000.  Notice that this is _not_
the physical address of the ROM/FLASH.  The eCos startup code
(which will be present in the image) will use the MMU to map
the ROM to the appropriate address.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]