I want to participate in GSoC from RTEMS
Daron Chabot
daron.chabot at usask.ca
Thu Mar 20 06:23:02 UTC 2008
Madhusudan C.S wrote:
> So I checked out the CVS HEAD and then
> installed all the prebuilt tools from ftp for F8-RTEMS-4.9. Since I have
> Ubuntu installed on my PC, I converted those rpms to debs using alien
> and installed all the prebuilt tools. When I did bootstrap and configure
> there were no errors as such, I did all these for sparc CPU.
What options did you pass to configure RTEMS ?
When I did
> "make all" it said compiler cannot create executables,
Have you added the install location of the rtems tool-chain to your PATH
?
as its given in
> the wiki I installed libc6-dev package, since thats the Ubuntu version
> of libc-dev. But still the make fails. Can someone help me please. If
> there is no other go, I will install F8 through XEN. But somehow I want
> to get this working on Ubuntu, so in later stages we can also provide
> debian packages along with rpms. I can help you with this, maybe after SoC.
>
> That project in particular requires more knowledge of C and more
> attention
> to detail than deep algorithmic knowledge.
>
>
> I have a fair knowledge of C. I hope I have the requirements you have
> mentioned above.
>
> Remember the issue is that
> RTEMS used to have all time based upon clock ticks, then we added
> nanosecond
> time granularity and kept the time in structure timespec. It isn't
> easy or
> particularly efficient to do math on struct timespec so this project is
> adding the capability to configure on a per-target basis 64-bit time.
> You do
> have to implement it but since the math will be on the native type
> "unsigned
> long long" instead of int or long, that part isn't rough.
>
>
> I did not understand what "per-target basis" means here. Can you please
> explain?
I think "per-target basis" here means "per BSP supported by RTEMS".
>
> The rougher side of the effort is in adding a supercore (cpukit/score)
> timestamp handler (e.g. roughly an opaque C "class") and going through
> the supercore and using that instead of struct timespec where
> appropriate.
>
>
> I am reading the Documentation of Super Core to understand how the APIs
> are structured.
>
> As the Wiki description states, some times need to be native, others
> have to
> be in API formats. Each case has to be evaluated so the conversions are
> minimized.
>
>
> Ok I got a rough idea. But I still need to work on it.
>
> Follow the code from one of the clock get time or set time routines
> down the
> layers to the lowest core methods and you will get a feel. You will see
> routines
> with "convert" in their name or a name like "from XXX" or "to XXX" as
> the names.
> Start at cpukit/rtems/src/clockset.c for one case. There are similar
> routines
> in cpukit/posix/src/clock*.c
>
> Does that make sense at all?
>
>
> I went through the code in those files. I also quickly skimmed through
> the code I have COed from HEAD and have got a rough idea of how the code
> is structured. Now I am feeling somewhat better. But still to get a real
> feel of how Timestamps are working now I want to get it compiled and see
> how they work. Please help me.
>
> Moreover thanks a lot to both Joel for all the above suggestions and
> Daron for that timecounters pdf.
You're welcome. That document was merely meant to serve as a reference
to some of the issues you may encounter with this project.
-- dc
More information about the users
mailing list