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