Chase's Final Project Video - cu-ecen-aeld/final-project-choc4688 GitHub Wiki

Overview

This page provides an overview of Chase O'Connell's contribution to the AESD Final Project.

Video Outline

Link

The video demonstrates:

  • Working Buildroot image on Raspberry Pi 4B
  • Working UDP echo server userspace application using Ethernet interface
  • Loaded lwIP package / library into Buildroot image

Challenges

My most difficult challenges when implementing this project were:

  • Trying to implement a lwIP application in Linux environment utilizing the Ethernet network interface and built-in RasPi Ethernet driver when the package is primarily meant for bare-metal environments.
  • Finding a way to implement zero-copy Ethernet functionality on the RasPi board on the driver level that utilizes actual hardware.

Lessons Learned

The most important topics I learned from this project were:

  • Researching feasibility of project ideas more in depth before finalizing project selection can significantly reduce struggles later on. This includes amount of documentation for open-source projects, availability of tutorials, use cases of specific packages, and more.
  • Implementing custom Ethernet drivers for existing hardware is not a straightforward task and requires a significant understanding the specific functionality of the IC the driver communicates with.