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: EB40 standalone application


On Tue, 2002-07-02 at 09:30, brenner joel wrote:
> Gary Thomas wrote:
> 
> >On Tue, 2002-07-02 at 08:52, brenner joel wrote:
> >
> >>Hello all,
> >>    I'm trying to use eCos on a Atmel EB40 board without any monitor.
> >>I need to use eCos without any debug features so I've modified a little 
> >>the ld script for ROM version.
> >>(no space left for debug monitor, place rom_vectors directly at remapped 
> >>address 0x0of SRAM and place the program
> >>  in RAM at address 0x02000000).
> >>I've configured eCos to run in ROM, without debug features and  without 
> >>virtual vector calling.
> >>The compilation and the test works fine, but when I download the binary 
> >>to the target it hangs always somewhere in "hal_if_diag".
> >>
> >>What I've made wrong ?
> >>Are there maybe some things to add for running eCos as a stand alone 
> >>application, or some initializations are missed? (twothreads, hello and 
> >>serial examples hangs always).
> >>
> >
> >Look at how RedBoot is configured for that platform.  It is a stand 
> >alone program, built from the eCos sources.
> >
> >I'd guess that the problem lies with your turning off of the virtual
> >vector stuff.  This doesn't cost you anything and for a stand alone
> >program, your program will provide the actual I/O (again, look at
> >RedBoot since it uses virtual vector support).
> >
> >
> >
> 
> Tanks  for the help.
>  
> I've seen that in "hal_if_diag" there is a mov pc, r2, where r2 contains 
> the address 0x64. But
> at this address isn't any valid code.

What?  There is no "hal_if_diag".  Perhaps you meant something else,
like "hal_if_diag_init"?

> 
> Contents of section .rom_vectors:
>  0000 feff7fea 18f09fe5 18f09fe5 18f09fe5  ................
>  0010 18f09fe5 00000000 18f09fe5 18f09fe5  ................
>  0020 00000002 8c010002 f4010002 2c020002  ............,...
>  0030 8c020002 00000000 78030002 40030002  ........x...@...
> Contents of section .text:
>  2000000 80a59fe5 2f0ab0e1 0aa6a001 2aa6a001  ..../.......*...
> 
> Is the virtual vector calling interface placed at these address ?
> 

Yes, on the ARM the virtual vector table (a set of pointers to 
functions) starts at 0x50.

Have you tried building and running RedBoot on your platform?  If not,
please start with that, as this is a well tested stand alone 
application.  Once you know that you've got RedBoot working, you can
adapt your own application to stand alone mode.



-- 
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]