Project Discussion for GSoC 2023

Viraj Jagadale virajjagadale123 at gmail.com
Sun Feb 26 09:22:27 UTC 2023


Thanks, Gabriel, I will surely go through it this week.

I have been reading about writing driver code and noted the following steps
that I would need to follow:

   1.

   Select the hardware device for which the driver has to be written.
   2.

   Read the device specification and protocol used. Find the device address
   to communicate with the device
   3.

   Write the skeleton driver to handle basic operations such as
   input/output, and initialization.
   4.

   Implement necessary functions for Greth lwip, such as a low-level
   interface between the driver and lwip networking stack.
   5.

   Testing and optimizing the driver.


As Daniel suggested, I read about the GBIT Ethernet MAC and made notes on
Google Docs. As I learn more about the various sections, I will add more
content to this doc file
<https://docs.google.com/document/d/1a12F6O883W9g06EP9k1KFMJX8wQq0TGRg9nUP0qLyfI/edit?usp=sharing>
.

I had a question about hardware. Can I complete this project with the Qemu
emulator?

Regards,
Viraj

On Fri, Feb 24, 2023 at 4:28 PM <Gabriel.Moyano at dlr.de> wrote:

> Hi Viraj,
>
>
>
> Please find the code in this branch:
> https://github.com/GabrielDai/rtems-libbsd/tree/port-greth-to-5-freebsd-12
>
>
>
> Since this driver depends on drvmgr, you’ll have to compile your bsp with
> support for it (make sure your bsp register the driver for your gaisler
> card using the drvmgr functions).
>
> Moreover, it is needed to add the following line for your bsp in
> “nexus-devices.h” (rtems-libbsd):
>
>                 SYSINIT_DRIVER_REFERENCE(grcard, pci);
>
> This line will add a device (called grcard).
>
> During booting (if the gaisler card get recognized) it will create child
> devices (greth#) for the ethernet interfaces.
>
>
>
> I hope this helps you.
>
>
>
> Have fun coding,
>
> Gabriel
>
>
>
> *Von:* Viraj Jagadale <virajjagadale123 at gmail.com>
> *Gesendet:* Dienstag, 21. Februar 2023 17:36
> *An:* Moyano Heredia, Victor Gabriel <Gabriel.Moyano at dlr.de>;
> daniel at gaisler.com; devel at rtems.org
> *Betreff:* Re: Project Discussion for GSoC 2023
>
>
>
> Hi Daniel and Gabriel,
>
>
>
> Thank you for responding. I don't own an ARTY A7-100T board. As suggested,
> I will study the GRETH_GBIT manual at the same time. Can I refer to the
> DP83848 or LAN8742A documentation for stm32, both of which support legacy
> stack and lwip? If not, could you please recommend a device?
>
>
> Please share the driver for rtems-libbsd with me as it will be very useful
> as a starting point.
>
>
>
> Regards,
>
> Viraj.
>
>
>
> On Tue, Feb 21, 2023 at 2:00 PM <Gabriel.Moyano at dlr.de> wrote:
>
> Hi Viraj,
>
>
>
> We ported the driver for greth to rtems-libbsd in the past but never got
> to submit it (it might need some further refinement). The driver depends on
> the driver manager (drvmgr). Not sure if this is the best approach but it
> is a good starting point and we’d be happy to share it.
>
>
>
> Best regards,
>
> Gabriel
>
>
>
>
>
> *Von:* devel <devel-bounces at rtems.org> *Im Auftrag von *Daniel Hellstrom
> *Gesendet:* Montag, 20. Februar 2023 15:59
> *An:* Viraj Jagadale <virajjagadale123 at gmail.com>; devel at rtems.org
> *Cc:* kinsey.moore at rtems.org; andrei at chichak.ca
> *Betreff:* Re: Project Discussion for GSoC 2023
>
>
>
> Hi Viraj,
>
> There is an old GRETH network driver as part of the old network stack that
> would be a good reference.
>
> Note that the old driver supports two IPs (GRETH 10/100, and GRETH_GBIT
> 10/100/1000). The GRETH_GBIT IP is mostly backwards compatible with the
> GRETH, but as some additional functionality to off load the CPU with
> UDP/TCP check-summing, unaligned DMA, and scatter-gather DMA for example.
> One approach could be to begin to focus on the more capable GRETH_GBIT IP
> first, section 14:
>
>     https://www.gaisler.com/doc/gr740/GR740-UM-DS-2-5.pdf
>
>     or from the IP manual, section XX:
>
>     https://www.gaisler.com/products/grlib/grip.pdf
>
> Please keep in mind that the GRETH driver will be used by both SPARC/LEON3
> BSP and RISC-V/NOEL-V BSP in the future.
>
> It sounds as a good approach to look at the interface of the LWIP stack
> towards the Network Device Driver, for example the DEC driver to learn
> however the best would be if there is a MAC device supported both by legacy
> stack and the LWIP? Simultaneously you could study the GRETH_GBIT manual
> with register and DMA interface and the old device driver source code?
>
> If you have a ARTY A7-100T board you could use the RISC-V design to get
> access to the GRETH IP easily get started with. The GRMON eval version
> would also work together with it for a hardware-debugger (no additional
> cost required) which you can connect GDB for source debugging if you wish:
>
>     https://www.gaisler.com/index.php/products/processors/noel-v-examples
>
>     https://www.gaisler.com/index.php/products/debug-tools/grmon3
>
> Kind Regards,
> Daniel
>
>
>
>
>
>
>
> On 2023-02-13 04:25, Viraj Jagadale wrote:
>
> Dear Community,
>
> I am interested in contributing to RTEMS and will be participating in GSoC
> 2023. I am interested in projects #4595
> <https://devel.rtems.org/ticket/4595> and #4596
> <https://devel.rtems.org/ticket/4596> because I am passionate about
> networking. I'm currently concentrating solely on #4595. I'm aware that
> I'll need to study and comprehend the lwip stack documentation, as well as
> how the Ethernet protocol is implemented and networking services are
> provided for applications. Then I'll have to devise a strategy for
> designing the driver architecture. I'm thinking about reading the RTEMS
> Legacy Networking User Manual and understanding the DEC 21140 example to
> get started. I'm not sure if this is the right approach, and I'll need your
> advice. I am also willing to help with existing bugs and documentation
> updates.
>
>
>
> Regards,
>
> Viraj Jagadale.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20230226/626d1b87/attachment-0001.htm>


More information about the devel mailing list