What do you want to study in GSOC 2020?

Niteesh gsnb.gn at gmail.com
Fri Jan 3 19:17:41 UTC 2020


Finally, I am able to load IMAGES into Rpi3 using u-boot. But didn't
check whether FDT works. I added the AUX driver from my bare-metal
project for testing. I'll replace it with NS16550 soon.
I loaded the fileio example and it prints the board information. Below
is the link to the screenshot
https://ibb.co/cJbFHqz
But it's stuck there, maybe an exception was raised because I didn't
modify the address for another device but not sure! Can you think of
something
which could have caused it?


On Fri, Jan 3, 2020 at 11:07 PM Niteesh <gsnb.gn at gmail.com> wrote:

> On Fri, Jan 3, 2020 at 7:30 PM Christian Mauderer <list at c-mauderer.de>
> wrote:
>
>> On 03/01/2020 13:49, Niteesh wrote:
>> > I have gone through previous year works and selected a few topics which
>> > I found
>> > interesting.
>> > 1. Basic Support for Trace Compass #3696
>> > <https://devel.rtems.org/ticket/3696>.
>>
>> A basic support has been added last year and Sebastian extended that
>> quite a bit because we had a customer who needed it. I'm not sure what
>> the current state is and whether there are tasks left that could be done
>> in a GSoC project.
>>
>> > 2. RTEMS testing tool project #2927 <
>> https://devel.rtems.org/ticket/2927>.
>>
>> No idea what the status is. Chris?
>>
>> > 3. Beagle BSP: Add a flattened device tree based initialization #3784
>> > <https://devel.rtems.org/ticket/3784>.
>>
>> That one is open. It would include adding some infrastructure for fdt
>> based drivers. In theory you could do the same project for raspberry or
>> any other board.
>>
>> Please note Gedares comment from the previous mail:
>>
>> >     Infrastructure projects are nice (FDT, dynamic linking, debugger,
>> >     tracer) but need to be clearly defined ahead of time and discussed
>> >     thoroughly with the community, or you risk ending up in the "long
>> >     tedious discussions" when you should be coding.
>>
>>
>> > 4. BSPs for Simulators #2903 <https://devel.rtems.org/ticket/2903>.
>>
>> That's always open.
>>
>> Some simulators are easy because the board is already supported and you
>> only have to find out how to start it. For these a tester integration is
>> a good target. But most likely that's only small stuff and should be
>> only one part of a project.
>>
>> Other simulators are not supported yet. In that case you have to write
>> some drivers which can be a good project size.
>>
>> > 5. Improve the Raspberry Pi BSP #2899 <
>> https://devel.rtems.org/ticket/2899>.
>>
>> You already noted: The raspberry BSP isn't in the best shape. So it's
>> quite open for improvement.
>>
>> I think that there is still some work getting it to run again. We don't
>> have something with "*bcm*" in libbsd yet so most likely USB and
>> Ethernet are not working yet. Could be still still be a nice task.
>>
>
> Why don't we use the driver's from other sources as a reference and create
> our
> own, for USB https://github.com/Chadderz121/csud this could be used as a
> reference, U-boot, and Linux are good sources too. But is it worth the
> effort for a
> BSP like raspberry pi? There is also a c++ bare metal environment called
> circle
> https://github.com/rsta2/circle which supports USB(
> https://github.com/rsta2/uspi)
> and ethernet.
>
> Christian, can you check out this https://github.com/0xabu/qemu/wiki it
> partially supports
> USB, can you give it a try?
>
>>
>> With the difficulties getting it to run on RPi3 or RPi4 that might could
>> be also a project. It seems that they are aarch64. Also I was quite
>> surprised about it I didn't find a aarch64 BSP. So that would be a new
>> port.
>>
>
> Rpi3 looks for kernel7.img if it finds one, it boots into 32bit mode, so
> if the, offset is the only difference
> between rpi2 and rpi3 it should boot without any issues I'll try adding
> the AUX uart driver
> and see if it boots on Rpi3.
>
> I would also like to discuss about the FDT infrastructure for RTEMS, I
> would like to know what are
> the requirements, what could be expected in a short span of 3months, what
> could be used as a reference
> and so on.
>
> Note that an aarch64 port would most likely be observed with argus eyes
>> because it has the potential to be a very important port. But don't let
>> that keep you bag suggesting it.
>>
>> >
>> > I would like to know what are the future plans for these topics.
>> > What is the current status of USB and ethernet in raspberrypi?
>> > Does the beagle BSP require hardware or is it possible to emulate it?
>>
>> I never used an emulator for Beagle. It seems that qemu supported it
>> some when:
>>
>> https://www.cnx-software.com/2011/09/26/beagleboard-emulator-in-ubuntu-with-qemu/
>>
>> But I didn't find it in current qemu. So most likely it would need
>> hardware.
>>
>> > Last year Vijay Kumar Banerjee worked on analysis and generation of gcov
>> > reports.
>> >
>> > On Thu, Jan 2, 2020 at 10:07 PM Gedare Bloom <gedare at rtems.org
>> > <mailto:gedare at rtems.org>> wrote:
>> >
>> >     On Mon, Dec 30, 2019 at 2:47 PM Christian Mauderer
>> >     <list at c-mauderer.de <mailto:list at c-mauderer.de>> wrote:
>> >     >
>> >     > On 30/12/2019 15:45, Niteesh wrote:
>> >     > > On Mon, Dec 30, 2019 at 7:14 PM Christian Mauderer
>> >     <list at c-mauderer.de <mailto:list at c-mauderer.de>
>> >     > > <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>> wrote:
>> >     > >
>> >     > >     On 30/12/2019 07:25, Niteesh wrote:
>> >     > >     >
>> >     > >     >
>> >     > >     > On Mon, Dec 30, 2019 at 4:44 AM Peter Dufault
>> >     <dufault at hda.com <mailto:dufault at hda.com>
>> >     > >     <mailto:dufault at hda.com <mailto:dufault at hda.com>>
>> >     > >     > <mailto:dufault at hda.com <mailto:dufault at hda.com>
>> >     <mailto:dufault at hda.com <mailto:dufault at hda.com>>>> wrote:
>> >     > >     >
>> >     > >     >
>> >     > >     >     Niteesh, what do you want to study?  Go over what most
>> >     > >     interests you
>> >     > >     >     most about working in a real-time environment like
>> >     RTEMS, and not
>> >     > >     >     about working on the RPI, and look at the earlier GSOC
>> >     projects.
>> >     > >     >     Propose an ideal project for yourself and get some
>> >     feedback.
>> >     > >
>> >     > >     Peter: Thanks for starting that discussion. I started to
>> >     focus too much
>> >     > >     on the running topics about small stuff that can be done as
>> a
>> >     > >     preparation.
>> >     > >
>> >     > >     >
>> >     > >     >  I love learning about how the software and hardware
>> >     interact, I have
>> >     > >     > been programming from 9th grade and have a wide variety of
>> >     > >     > interests(networking, app development). But recently I
>> >     took a course
>> >     > >     > called nandtotetris were we build an 8bit computer from
>> >     scratch, we
>> >     > >     > start with NAND gates and finally finish with a Tetris
>> game.
>> >     > >
>> >     > >     That sounds like a really nice course. Most likely is ended
>> >     in a bigger
>> >     > >     pile of circuit boards to have a running processor ;-)
>> >     > >
>> >     > > It is a free course on
>> >     > > coursera
>> >     https://www.coursera.org/learn/build-a-computer/home/welcome
>> >     > > do check it out. It's completely simulated in software. But
>> >     planning to
>> >     > > build it on PCB.
>> >     > >
>> >     > >
>> >     > >     > Low-level
>> >     > >     > software, systems programming, and operating systems are
>> >     always quite
>> >     > >     > fascinating for me. While learning about operating
>> >     systems, I came
>> >     > >     > across the concepts of real-time systems. Back then
>> >     arduino was
>> >     > >     the only
>> >     > >     > hardware I was having while searching for an RTOS to play
>> >     with, I came
>> >     > >     > across RTEMS. RTOS was harder for me to grasp but were
>> always
>> >     > >     > interesting, being a critical part of a system, I always
>> >     wanted to
>> >     > >     learn
>> >     > >     > how they worked from inside. That's what bought me to
>> >     contributing
>> >     > >     to RTOS.
>> >     > >     > I wanted to contribute to core of RTEMS, but it was a bit
>> >     complex
>> >     > >     for me
>> >     > >     > to understand, so I started with driver development for
>> RTEMS.
>> >     > >
>> >     > >     That's where I started too. But don't hesitate to pick a
>> >     more complex
>> >     > >     topic if you are interested in it. From what I've seen you
>> >     can read and
>> >     > >     understand existing code quite fast compared to some other
>> >     GSoC students
>> >     > >     we had. So I would say that you have a good chance to manage
>> >     complex
>> >     > >     topics too.
>> >     > >
>> >     > > Thank you, it's quite good to hear.
>> >     > >
>> >     > >     > After going through some of the previous GSOC projects,
>> BSP
>> >     > >     development
>> >     > >     > and real-time tracing are what I find interesting. While
>> also
>> >     > >     converting
>> >     > >     > the console driver of rpi to FDT based one, *Christian
>> >     Mauderer
>> >     > >     > *explained how
>> >     > >     > FDT worked in FreeBSD and Linux, and RTEMS lacked that
>> >     > >     infrastructure, I
>> >     > >     > have no idea of how hard it would it, and if I am even
>> >     capable of
>> >     > >     > developing it. But one proposal would be to build the FDT
>> >     > >     infrastructure
>> >     > >     > similar to FreeBSD or Linux and have the driver's probe
>> >     and attach to
>> >     > >     > the hardware.
>> >     > >
>> >     > >     We start to have more and more FDT based BSPs. So it would
>> >     be great if
>> >     > >     our infrastructure would improve. But like I said: Don't
>> >     hesitate to
>> >     > >     pick any other topic. Device drivers (and similar) are low
>> >     hanging fruit
>> >     > >     where it is easy to get success and it isn't very likely to
>> >     start long
>> >     > >     tedious discussions because you only touch one BSP.
>> >     Therefore I tend to
>> >     > >     suggest them for GSoC. But GSoC isn't limited to that.
>> >     > >
>> >     > >     So if you would like to work at any other topic like (for
>> >     example)
>> >     > >     porting a new architecture, hacking on some scheduler, do
>> >     something with
>> >     > >     the dynamic linking support, add stuff to the libdebugger,
>> >     or basically
>> >     > >     anything else: Just ask whether someone knows a topic in
>> >     that area or is
>> >     > >     interested in mentoring one you suggest. Most likely the
>> >     mailing list
>> >     > >     will become quite a bit more active again in about a week.
>> >     > >
>> >     I'll be lurking.
>> >
>> >     Infrastructure projects are nice (FDT, dynamic linking, debugger,
>> >     tracer) but need to be clearly defined ahead of time and discussed
>> >     thoroughly with the community, or you risk ending up in the "long
>> >     tedious discussions" when you should be coding.
>> >
>> >     BSP Projects are only good if they are useful. RPI3 might be useful,
>> >     although there haven't been a lot of folks clamoring for it.
>> >
>> >     > > Once I finish with the raspberry pi, I will try to port RTEMS
>> >     for esp32.
>> >     > > I have that board,
>> >     > > It has quite a lot of features and really good documentation.
>> It is
>> >     > > based on xtensa CPU.
>> >     > > https://devel.rtems.org/wiki/TBR/UserManual/SupportedCPUs and
>> is
>> >     under
>> >     > > RTEMS potential port.
>> >     > >
>> >     >
>> >     > Interesting idea. You should post that as a project idea for your
>> GSoC
>> >     > project. There are quite some points for new cores that can make a
>> >     port
>> >     > very simple or hard as hell. I don't have the experience to give a
>> >     good
>> >     > estimate for that core. But don't worry. I'm quite sure that this
>> >     can be
>> >     > an interesting project.
>> >     >
>> >     > Just some random thoughts:
>> >     >
>> >     > - It seems that the Xtensa is supported in the official GCC since
>> >     quite
>> >     > some time up to the most recent releases. That's a really good
>> >     starting
>> >     > point.
>> >     >
>> >     > - The core is a commercial IP core. It might can get hard to get a
>> >     > detailed core documentation. Let's hope that there is enough
>> community
>> >     > documentation for it.
>> >     >
>> >     > - I didn't really find the core in any other (buyable) chip but
>> the
>> >     > ESP32. Do you know whether it is used somewhere else?
>> >     >
>> >     > - The ESP32 doesn't have too much RAM. If I've seen it right it's
>> >     520kB
>> >     > on-chip. We have smaller targets than that but it's not really
>> >     much. The
>> >     > libbsd network stack will most likely never run on it. But lwIP
>> should
>> >     > work. But I think network stack is something that won't be a topic
>> >     for a
>> >     > first port anyway ;-)
>> >     >
>> >     > - The Technical Reference Manual looks reasonable detailed:
>> >     >
>> >
>> https://docs.espressif.com/projects/esp-idf/en/latest/hw-reference/index.html
>> >     >
>> >     > - For the low level port you definitively need a hardware debugger
>> >     or a
>> >     > good simulator. It seems that JTAG access is possible using
>> OpenOCD.
>> >     > There is even an official guide from the manufacturer:
>> >     >
>> >
>> https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/jtag-debugging/
>> >     >
>> >
>> >     A new architecture port is a worthwhile GSoC Project. There would
>> be a
>> >     lot of learning and code generated. However as above there is a
>> >     question about utility: Will there be more than 1 xtensa user?
>> >     Historically, DPSs seem to have low demand for an RTOS like RTEMS.
>> It
>> >     is still a good GSoC project though. One of the barriers to a new
>> >     architecture however will be testability: is there a simulator that
>> >     can be used for development/testing?
>> >
>> >     For difficulty, the thing to investigate is how complex is the
>> >     register context, interrupt handling mechanisms, memory management,
>> >     and on-chip devices (timers, etc.). Also whether or not there is a
>> >     2/3-BSD compliant port elsewhere for reusable code. The base xtensa
>> >     looks straightforward. The ESP32 is an interesting board.
>> >
>> >     > >
>> >     > >     >
>> >     > >     >     > On Dec 28, 2019, at 05:12 , Christian Mauderer
>> >     > >     <list at c-mauderer.de <mailto:list at c-mauderer.de>
>> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>
>> >     > >     >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de
>> >
>> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>>> wrote:
>> >     > >     >     >
>> >     > >     >     > On 28/12/2019 07:12, Niteesh wrote:
>> >     > >     >     >>
>> >     > >     >     >>
>> >     > >     >     >> On Sat, 28 Dec, 2019, 3:51 AM Christian Mauderer,
>> >     > >     >     <list at c-mauderer.de <mailto:list at c-mauderer.de>
>> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>
>> >     > >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>
>> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>>
>> >     > >     >     >> <mailto:list at c-mauderer.de
>> >     <mailto:list at c-mauderer.de> <mailto:list at c-mauderer.de
>> >     <mailto:list at c-mauderer.de>>
>> >     > >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>
>> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>>>> wrote:
>> >     > >     >     >>
>> >     > >     >     >>    On 27/12/2019 19:06, Niteesh wrote:
>> >     > >     >     >>> Is there something else that I could work on? I am
>> >     > >     interested in
>> >     > >     >     >>    taking
>> >     > >     >     >>> part
>> >     > >     >     >>> GSOC of 2020. And I want to learn as much as
>> possible.
>> >     > >     >     >>
>> >     > >     >     >>    Do you search tasks specific to raspberry or
>> general
>> >     > >     ones? Do
>> >     > >     >     you search
>> >     > >     >     >>    something for GSoC or just to warm up?
>> >     > >     >     >>
>> >     > >     >     >> Anything is fine as long as I am learning
>> >     something. Since rpi3
>> >     > >     >     is the
>> >     > >     >     >> only hardware I have, I am interested in tasks
>> >     specific to
>> >     > >     raspi and
>> >     > >     >     >> general ones which do not require any hardware.
>> >     > >     >     >
>> >     > >     >     > For raspberry I think you could continue to get it
>> >     running
>> >     > >     on RPi3. My
>> >     > >     >     > suggestion would be to replace the table based
>> >     initialization
>> >     > >     >     (which is
>> >     > >     >     > handled by console-termios-init.c) with one based on
>> >     the fdt
>> >     > >     that is
>> >     > >     >     > similar to the one in the imx BSP. That will allow
>> >     to use
>> >     > >     the same
>> >     > >     >     > binary on RPi2 and RPi3. But please do that in an
>> >     extra patch
>> >     > >     >     after the
>> >     > >     >     > one that you currently have sent to the mailing
>> list.
>> >     > >     >     >
>> >     > >     >     >
>> >     > >     >     > Some other raspberry specific topics could be the
>> >     following.
>> >     > >     Note that
>> >     > >     >     > this are only suggestions. I don't want to force you
>> >     to do
>> >     > >     any of them
>> >     > >     >     > if you don't like them:
>> >     > >     >     >
>> >     > >     >     > - Documentation how you run an application in QEMU /
>> >     on real
>> >     > >     hardware
>> >     > >     >     > for the user manual:
>> >     > >     >     >
>> >     > >     >
>> >     > >
>> >
>> https://docs.rtems.org/branches/master/user/bsps/bsps-arm.html#raspberrypi
>> >     > >     >     > (I hope I didn't miss a patch that you already sent
>> >     ;-) )
>> >     > >     >     >
>> >     > >     >     > - A configuration for RTEMS tester that uses the
>> QEMU or
>> >     > >     real hardware
>> >     > >     >     > (I think the pi3 allows network boot?). This allows
>> >     regular
>> >     > >     test runs
>> >     > >     >     > for this BSP:
>> >     > >     >     >
>> >     > >
>> >      https://docs.rtems.org/branches/master/user/testing/index.html and
>> >     > >     >     >
>> >     https://docs.rtems.org/branches/master/user/tools/tester.html
>> >     > >     >     >
>> >     > >     >     > - Chris created a boot image generator last year. It
>> >     would
>> >     > >     be great if
>> >     > >     >     > you could add a configuration to create raspberry SD
>> >     images
>> >     > >     to it:
>> >     > >     >     >
>> >     > >
>> >      https://docs.rtems.org/branches/master/user/tools/boot-image.html
>> >     > >     >     >
>> >     > >     >     > - You can pick basically any component that isn't
>> >     already
>> >     > >     there and
>> >     > >     >     > integrate it. If you want to work with libbsd:
>> >     Testing or
>> >     > >     porting
>> >     > >     >     > Ethernet support could be something.
>> >     > >     >     >
>> >     > >     >     > - You most likely want to do something with RPi in
>> >     your GSoC
>> >     > >     too. So
>> >     > >     >     > maybe some comments ("x is already done", "y seems
>> to be
>> >     > >     still open")
>> >     > >     >     > for the ticket for it would be nice too:
>> >     > >     >     https://devel.rtems.org/ticket/2899
>> >     > >     >     >
>> >     > >     >     >
>> >     > >     >     > For non raspberry topics: We have a lot of open bugs
>> >     where
>> >     > >     everyone is
>> >     > >     >     > happy if they are closed:
>> https://devel.rtems.org/query
>> >     > >     >     >
>> >     > >     >     > A lot of them might are even out of date and just
>> need
>> >     > >     someone who
>> >     > >     >     reads
>> >     > >     >     > them and asks whether they can be closed.
>> >     > >     >     >
>> >     > >     >     >>
>> >     > >     >     >>
>> >     > >     >     >>>
>> >     > >     >     >>> On Fri, Dec 27, 2019 at 5:07 PM Christian Mauderer
>> >     > >     >     >>    <list at c-mauderer.de <mailto:list at c-mauderer.de>
>> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>
>> >     > >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>
>> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>>
>> >     > >     >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de
>> >
>> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>
>> >     > >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>
>> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>>>
>> >     > >     >     >>> <mailto:list at c-mauderer.de
>> >     <mailto:list at c-mauderer.de> <mailto:list at c-mauderer.de
>> >     <mailto:list at c-mauderer.de>>
>> >     > >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>
>> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>>
>> >     > >     >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de
>> >
>> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>
>> >     > >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>
>> >     <mailto:list at c-mauderer.de <mailto:list at c-mauderer.de>>>>>> wrote:
>> >     > >     >     >>>
>> >     > >     >     >>>      On 27/12/2019 12:20, Niteesh wrote:
>> >     > >     >     >>>      > I have sent the patch. I also sent a
>> >     documentation
>> >     > >     update
>> >     > >     >     >>    for the
>> >     > >     >     >>>      > quick-start section
>> >     > >     >     >>>      > a few months ago. But no one took a look at
>> >     it. Can you
>> >     > >     >     have a
>> >     > >     >     >>>      look at it?
>> >     > >     >     >>>
>> >     > >     >     >>>      I'll try to have a look at it soon.
>> >     > >     >     >>>
>> >     > >     >     >>>      >
>> >     > >     >     >>>      >
>> >     > >     https://www.mail-archive.com/devel@rtems.org/msg20965.html
>> >     > >     >     >>>
>> >     > >     >     >>>      If you don't get any responses to a patch
>> >     please just
>> >     > >     send a
>> >     > >     >     >>    reminder
>> >     > >     >     >>>      one or two weeks later. It's quite likely
>> >     that the
>> >     > >     patch just
>> >     > >     >     >>    slipped
>> >     > >     >     >>>      the attention.
>> >     > >     >     >>>
>> >     > >     >     >>>      Normally I leave documentation patches to our
>> >     native
>> >     > >     speakers.
>> >     > >     >     >>    They spot
>> >     > >     >     >>>      a lot of errors that I won't be able to find.
>> >     > >     >     >>>
>> >     > >     >     >>>      Can you please send a ping for the patch. You
>> >     can add
>> >     > >     me to CC
>> >     > >     >     >>    and for
>> >     > >     >     >>>      this one I would suggest to CC Chris Johns
>> too.
>> >     > >     >     >>>
>> >     > >     >     >>
>> >     > >     >     > _______________________________________________
>> >     > >     >     > devel mailing list
>> >     > >     >     > devel at rtems.org <mailto:devel at rtems.org>
>> >     <mailto:devel at rtems.org <mailto:devel at rtems.org>>
>> >     > >     <mailto:devel at rtems.org <mailto:devel at rtems.org>
>> >     <mailto:devel at rtems.org <mailto:devel at rtems.org>>>
>> >     > >     >     > http://lists.rtems.org/mailman/listinfo/devel
>> >     > >     >
>> >     > >     >     Peter
>> >     > >     >     -----------------
>> >     > >     >     Peter Dufault
>> >     > >     >     HD Associates, Inc.      Software and System
>> Engineering
>> >     > >     >
>> >     > >     >     This email is delivered through the public internet
>> using
>> >     > >     protocols
>> >     > >     >     subject to interception and tampering.
>> >     > >     >
>> >     > >
>> >     > _______________________________________________
>> >     > devel mailing list
>> >     > devel at rtems.org <mailto:devel at rtems.org>
>> >     > http://lists.rtems.org/mailman/listinfo/devel
>> >
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200104/b85d5212/attachment-0001.html>


More information about the devel mailing list