using "bare" bsp option
Ahmet Akkas
akkas at lucent.com
Wed Aug 9 21:44:29 UTC 2000
Joel Sherrill wrote:
>
> Ahmet Akkas wrote:
> >
> > Hi everybody,
> >
> > Before I ask my question, I want to tell you what I had right now.
> > I built the RTEMS using Lucent's tools (compiler, assmbler, etc.) for
> > a Lucent's 16000 DSP processor. Right now I have not created any bsp
> > for it but I used bare bsp option to build the RTEMS's kernel.
> >
> > My question is the following: Is bare bsp option sufficent to able to
> > compile a simple application and put it into the Lucent's simulator?
>
> No. The bare bsp has no io facilities, linker script, etc. Look
> in a recent snapshot at i960sim, sim68000, or h8sim for very simple
> BSPs. i960sim and h8sim use "magic" devices inside the simulator to
> get console IO.
Sure. I will look.
> > I should point out two things at this level. First, I realized that
> > the shared library (under the ../c/src/lib/libbsp/shared )is not compiled
> > and added to the built RTEMS library. As you know this library has
> > initialization and console routines. I am planning to compile the files
> > in this directory and add them into built RTEMS libraries.
>
> libbsp/shared is POTENTIALLY shared files. They are picked up via
> VPATH in the BSPs that use them. You choose whether or not to use
> them on a per BSP basis. Look at one of the 68k BSPs
> startup/Makefile.am
> and what how it uses VPATH to get some things from .,
> libbsp/m68k/shared,
> and libbsp/shared. :)
Thanks. This really helps me.
> > Second, right now I am not sure how to handle crt0.o file. In the RTEMS
> > documentation, it is said that startsim.o will be used instaed of crt0.o.
>
> crt0.o is only really responsible for a handful of things:
> + zeroing uninitialized memory
> + setting up a stack
> + calling boot_card. Using arguments (0,0,&environ)
> seems to work best overall.
> + (optional) copying initialized data from a ROM location
> so you can rerun.
>
> Again one of the simulators above is a good example.
>
> > There is aslo crti.o file.
>
> I think this is an artifact of the way gcc does some things on
> some targets. If you are going to do C++, then you will have
> to make the magic for global constructors happen with your
> toolset -- but first, survive a context switch. :)
>
> > Please let me know your suggestions. I really appreciate it.
>
> Sounds like you are making progress. Has the C4x port in
> the recent snapshots had any hints for another DSP port?
>
> I would expect that by now you have a pile of comments for the
> porting guide also. :)
I haven't looked at the C4x port yet but I will.
This is my first real-time operating system experince and it is
going slow. As a summer intern, limited time is left for me.
Thanks all of your suggestions.
Ahmet Akkas
>
> > Thanks,
> >
> > Ahmet Akkas
>
> --
> Joel Sherrill, Ph.D. Director of Research & Development
> joel at OARcorp.com On-Line Applications Research
> Ask me about RTEMS: a free RTOS Huntsville AL 35805
> Support Available (256) 722-9985
More information about the users
mailing list