Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Driver for PIC32MX #789

Open
omarandlorraine opened this issue Mar 13, 2023 · 5 comments
Open

[Feature Request] Driver for PIC32MX #789

omarandlorraine opened this issue Mar 13, 2023 · 5 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@omarandlorraine
Copy link

Is your feature request related to a problem? Please describe.
I could use a driver for the PIC32MX. This chip has an ethernet thingy on-chip, but no driver in FreeRTOS Plus TCP.

Describe the solution you'd like
I would like the driver to be added! I'm happy to do the bulk of the work here. But I am probably going to need some guidance. What shall I do, open a pull-request?

Describe alternatives you've considered
I've considered other TCP/IP stacks. I've considered lwip, and I like the idea of having a zero-copy stack. I don't know whether that's something we can accomplish here.

Microchip (the vendor of PIC32 and related products) do a TCP/IP stack as well, but it's buggy, and its version 5.10 won't even compile without some work. This is why I am porting my application from that to FreeRTOS Plus TCP.

Additional context
There already is a pic32mz driver. It seems to call some of the Microchip libraries to do things like getting the MAC address, and probably initiating DMA transfers and whatnot. My plan is to take a similar approach.

There is also this project which for licensing reasons is not compatible with my application.

@paulbartell
Copy link
Contributor

@omarandlorraine Thanks for the feature request. We're happy to review any contributions in the form of a Pull Request. Is there a particular development board you plan to target?

@paulbartell paulbartell added the enhancement New feature or request label Mar 13, 2023
@omarandlorraine
Copy link
Author

@omarandlorraine Thanks for the feature request. We're happy to review any contributions in the form of a Pull Request

Great! Hopefully I'll make a start tomorrow.

Is there a particular development board you plan to target?

I have a product that's similar to this Dev board. I'd need to make sure it's the same PHY though (and I think I know roughly what that means).

@AniruddhaKanhere
Copy link
Member

@omarandlorraine, if you haven't started already, this page is quite helpful in defining what needs to be done to get a simple FreeRTOS+TCP driver working with the stack.

@omarandlorraine
Copy link
Author

Does anyone know why the buffer allocation source file for the pic32mzef port #includes tcpip/tcpip.h here?

As far as I can tell, this header file comes from lwIP. Does FreeRTOS Plus TCP depend on or build upon lwIP?

@AniruddhaKanhere
Copy link
Member

As far as I can tell, this header file comes from lwIP. Does FreeRTOS Plus TCP depend on or build upon lwIP?

I think that this seems to be an lwIP file too. But, I don't believe that +TCP depends on lwIP at all. This file predates my interactions with +TCP. I will ask my colleagues and get back to you on this.

@amazonKamath amazonKamath added the help wanted Extra attention is needed label May 22, 2023
vishwamartur added a commit to vishwamartur/FreeRTOS-Plus-TCP that referenced this issue Nov 2, 2024
Related to FreeRTOS#789

Add a new driver for the PIC32MX chip in FreeRTOS Plus TCP.

* **BufferAllocation_2.c**
  - Include necessary headers for buffer allocation.
  - Implement buffer allocation functions for PIC32MX.
* **NetworkInterface_eth.c**
  - Include necessary headers for Ethernet driver.
  - Implement Ethernet driver functions for PIC32MX.
* **CMakeLists.txt**
  - Add CMake configuration for PIC32MX Ethernet driver.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants