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]
Other format: [Raw text]

RE: Question about the startup sequence?


It is quite a long story.

First, there are two choices. 

In the first case, you use RedBoot. RedBoot should be compiled with ROM startup. And eCos application should be compiled with RAM startup.
 * First RedBoot boots,
 - assembly codes in the /hal/arm/your_processor/current/include/hal_platform_setup.h are executed : setting RAM or I/O timing, CPU clock speed , etc.
 - vectors.S is executed
 - RedBoot cyg_start is executed
 - RedBoot loads the eCos application from flash memory to RAM
 - jump to the entry point of the copied eCos application

 * Now eCos application runs
 - vectors.S is executed again but excluding some routines which have already been called by the RedBoot. (for example hal_platform_setup.h is not executed in RAM startup, as it is already included in RedBoot)
 - cyg_start(eCos application) is executed.

In second case, you do not use RedBoot. you should compile your application with ROM startup. In this case, usually, the application will run on the flash memory.
But you can change your startup code(copy itself from flash to RAM) and linker script so that it will run on the RAM.
 - assembly codes in the /hal/arm/your_processor/current/include/hal_platform_setup.h are executed : setting RAM or I/O timing, CPU clock speed , etc.
 - vectors.S is executed
 - cyg_start(eCos application) is executed.




-----Original Message-----
From: ecos-discuss-owner@sources.redhat.com [mailto:ecos-discuss-owner@sources.redhat.com]On Behalf Of HuangQiang
Sent: Friday, April 26, 2002 2:32 AM
To: eCos
Subject: [ECOS] Question about the startup sequence?


Hi all:
    Could anyone give me some suggestion about the startup sequence about
eCOS program on ARM e7t board? Thanks a lot.

1.Bootstrap loader --> 2. boot redboot module ( 2.1  first vectors.s --> 2.2
cyg_start() --> 2.3 main part of redboot) --> 3.user's application.

But between the  2 and 3( actually is between 2.3 and 3) what happens? Where
will be user's program located(RAM?) if use Insight to download the program?
Coz the redboot also linked with vectors.s so when will it be loaded at
startup?
If I want to build the user program startup from flash memory, how can I
achieve that?

thanks a lot!

james


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

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