-
Notifications
You must be signed in to change notification settings - Fork 1.9k
FreeRTOS+TCP Adding the combined driver for SAM4E and SAME70 v2 #78
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
FreeRTOS+TCP Adding the combined driver for SAM4E and SAME70 v2 #78
Conversation
FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/DriverSAM/NetworkInterface.c
Outdated
Show resolved
Hide resolved
FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/DriverSAM/NetworkInterface.c
Outdated
Show resolved
Hide resolved
FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/DriverSAM/NetworkInterface.c
Outdated
Show resolved
Hide resolved
FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/DriverSAM/NetworkInterface.c
Outdated
Show resolved
Hide resolved
FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/DriverSAM/NetworkInterface.c
Show resolved
Hide resolved
FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/DriverSAM/NetworkInterface.c
Outdated
Show resolved
Hide resolved
FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/DriverSAM/NetworkInterface.c
Outdated
Show resolved
Hide resolved
FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/DriverSAM/NetworkInterface.c
Outdated
Show resolved
Hide resolved
FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/DriverSAM/NetworkInterface.c
Outdated
Show resolved
Hide resolved
FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/DriverSAM/NetworkInterface.c
Show resolved
Hide resolved
|
/bot run checks |
|
Well, it appears this was never actually tested on the SAM4E. |
|
@marekr : thanks for having a look at the driver.
Sure it was tested. Very recently once again, both on a SAM4E and a SAME70.
That depends on which version of the driver that you are using. These 2 are equivalent: I don't know which one is the newest.
In the earlier version, the non-zero-copy mode was still allowed. The current driver only compiles if zero-copy is chosen: #if( ipconfigZERO_COPY_RX_DRIVER == 0 )
#error This driver works optimal if ipconfigZERO_COPY_RX_DRIVER is defined as 1
#endif
#if( ipconfigZERO_COPY_TX_DRIVER == 0 )
#error This driver works optimal if ipconfigZERO_COPY_TX_DRIVER is defined as 1
#endifYou're right, it is confusing to see code that is never compiled. About this function in switch (mode) {
case GMAC_PHY_MII:
case GMAC_PHY_RMII:
p_gmac->GMAC_UR |= GMAC_UR_RMIIMII;
break;
default:
p_gmac->GMAC_UR &= ~GMAC_UR_RMIIMII;
break;
}
This function was provided by Atmel as it is. It looks strange but the reason is probably: SAM4E does not support RMII. See e.g. [here](https://microchipsupport.force.com/s/article/RMII-support-on-SAM4E-devices).
And mind you, for the SAM4E: The checksum offload feature is available only for the receiver, and not for the transmitter. |
* Fixed Imports for Infineon XMC1100 Board (#88) Co-authored-by: RichardBarry <[email protected]> * FreeRTOS+TCP : add memory statistics and dump packets, v3 (#83) * FreeRTOS+TCP : add memory statistics and dump packets, v3 * Two changes as requested by Aniruddha Co-authored-by: Hein Tibosch <[email protected]> Co-authored-by: Aniruddha Kanhere <[email protected]> * Folder structure change + Fix broken Projects (#103) * Update folder structure * Correct project files * Move test folder * Some changes after Yuki's comments * Add checks in FreeRTOS_Socket.c (#104) * Add fail-safes to FreeRTOS_Socket.c * Use all 'pd' errors * Correction after Hein's comments * Correction after Hein's comments v2 * Changes after Hein's comments * Update after Gary's comments * Add VeriFast kernel queue proofs (#117) * Remove unnecessary semicolon from the linker file (#121) This was creating problem with the onboard LPCLink debug probe. Signed-off-by: Gaurav Aggarwal <[email protected]> * Add Full TCP test suite - not using secure sockets (#131) * Add Full-TCP suite * delete unnecessary files * Change after Joshua's comments * Add changes from 2225-2227 amazon-FreeRTOS (#134) * FreeRTOS+TCP Adding the combined driver for SAM4E and SAME70 v2 (#78) * Adding a combined +TCP driver for SAM4E and SAME70 * Changes after review from Aniruddha Co-authored-by: Hein Tibosch <[email protected]> Co-authored-by: Aniruddha Kanhere <[email protected]> * Prove buffer lemmas (#124) * Prove buffer lemmas * Update queue proofs to latest kernel source All changes were syntactic due to uncrustify code-formatting * Strengthen prvCopyDataToQueue proof * Add extract script for diff comparison Co-authored-by: Yuhui Zheng <[email protected]> * Sync with +TCP amazon-FreeRTOS (#158) * DNS.c commit * IP.c commit * Add various source & header files * Add Uncrustify file used for Kernel. (#163) * Add Atmel Studio projects for ATMega4809 and AVR128DA48 (#159) * Added explicit cast to allow roll over and avoid integer promotion during cycles counters comparison in recmutex.c. * Fixed type mismatch between declaration and definition of function xAreSemaphoreTasksStillRunning( void ). * Added Atmel Studio demo projects for ATMega4809 and AVR128DA48. * Per https://www.freertos.org/upgrading-to-FreeRTOS-V8.html, I'm updating portBASE_TYPE to BaseType_t. Signed-off-by: Yuhui Zheng <[email protected]> * Update register test for ATmega4809 - to cover r28, r29, r31. - call public API taskYIELD() instead of portYIELD(). * Update ATmega4809 readme.md to include info for serial port setup, and minor wording fix. Co-authored-by: Alexandru Niculae - M17336 <[email protected]> Co-authored-by: S.Burch <[email protected]> Co-authored-by: RichardBarry <[email protected]> Co-authored-by: Hein Tibosch <[email protected]> Co-authored-by: Hein Tibosch <[email protected]> Co-authored-by: Nathan Chong <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> Co-authored-by: Yuhui Zheng <[email protected]> Co-authored-by: Carl Lundin <[email protected]> Co-authored-by: Alexandru Niculae - M17336 <[email protected]>
* Adding a combined +TCP driver for SAM4E and SAME70 * Changes after review from Aniruddha Co-authored-by: Hein Tibosch <[email protected]> Co-authored-by: Aniruddha Kanhere <[email protected]>
…RTOS#78) * Adding a combined +TCP driver for SAM4E and SAME70 * Changes after review from Aniruddha Co-authored-by: Hein Tibosch <[email protected]> Co-authored-by: Aniruddha Kanhere <[email protected]>
This is a copy of # #57, just renewed it to have it properly rebased.
Description
As the title says, this PR is adding a FreeRTOS+TCP driver for 2 platforms: SAM4E and SAME70.
The driver makes use of the module ../Common/phyHandler.c, which initialises and polls the Ethernet PHY.
Related Issue
A user on the FreeRTOS forum asked for this driver. He had found a reference on SourceForge, but the ZIP file had been deleted.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.