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

Unified STM32 Network Interface #804

Open
wants to merge 96 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
6981b02
New STM32 driver
Mar 21, 2023
3b92953
New STM32 driver
Mar 21, 2023
d1d3098
Improve error handling & ipconfig macro checking
Mar 23, 2023
bffd9af
Fix isr usage, add F4, and add missing xGetPhyLinkStatus
Mar 24, 2023
2beff06
Style fixes and config implementations
Mar 25, 2023
520831c
Merge remote-tracking branch 'origin/main' into dev-stm32
Jul 24, 2023
dffe267
update to 4.0.0 compatibility
Jul 24, 2023
eaa7f49
Add STM32 target to Network Interface selection
bjsowa Aug 14, 2023
1073648
Fill Interface and EndPoint fields for all Rx Network buffers
bjsowa Aug 30, 2023
67db92d
Merge pull request #2 from bjsowa/dev-stm32-cmake
HTRamsey Aug 31, 2023
d8d3f96
Merge pull request #3 from bjsowa/dev-stm32-rx-fix
HTRamsey Aug 31, 2023
8f14d4d
Ignore packets whose buffers were dropped
bjsowa Sep 25, 2023
bb367fd
Fix formatting
bjsowa Sep 25, 2023
a747194
Support network down event
bjsowa Sep 21, 2023
08604cf
Don't return pdPASS on interface initialize when link is down
bjsowa Sep 22, 2023
57d78d9
Fix formatting
bjsowa Sep 25, 2023
9cc1cfe
Include toplevel HAL headers
bjsowa Sep 25, 2023
41d699c
Clean redundant comment
bjsowa Sep 25, 2023
a3acf79
Merge pull request #6 from bjsowa/dev-stm32-toplevel-hal-headers
HTRamsey Oct 20, 2023
0265752
Merge pull request #4 from bjsowa/dev-stm32-ignore-dropped-packets
HTRamsey Oct 20, 2023
9d9dbeb
Merge pull request #5 from bjsowa/dev-stm32-network-down
HTRamsey Oct 20, 2023
8004068
Work on error handling
Nov 8, 2023
3155173
Merge remote-tracking branch 'origin/main' into dev-stm32
Dec 3, 2023
18c5883
Merge branch 'main' into dev-stm32
HTRamsey Dec 3, 2023
07c5321
re-add doc
Dec 3, 2023
03cf5c2
clean network interface
Dec 3, 2023
1f3e33b
add more mac features
Dec 3, 2023
6a50bbb
attribute fixes
Dec 4, 2023
74b7548
remove commented out code and implement fixed configuration
Dec 11, 2023
d0d082b
update mac filter and hash table
Dec 12, 2023
3a831e9
Merge branch 'main' into dev-stm32
HTRamsey Dec 12, 2023
a20e044
fix compilation issue
Dec 12, 2023
36508bf
prvMACAddressConfig: fix implicit discarding of const qualifier
Mixaill Dec 13, 2023
7ef89d4
ETH_IRQHandler: add tracing, process all interrupt flags before conte…
Mixaill Dec 13, 2023
0d5e412
Merge pull request #8 from Mixaill/dev-stm32
HTRamsey Dec 14, 2023
014392c
Merge pull request #9 from Mixaill/dev-stm32-isr
HTRamsey Dec 14, 2023
9c602a2
prvEMACHandlerTask: fix NetworkDown event
HTRamsey Dec 14, 2023
272bae4
Merge pull request #10 from Mixaill/de-stm32-networkdown
HTRamsey Dec 14, 2023
f59a771
fix ipconfigUSE_LINKED_RX_MESSAGES == 0
Dec 18, 2023
80d4380
remove test files
Dec 22, 2023
e40ea1b
allow access to pcLOCAL_ALL_NODES_MULTICAST_MAC in network interfaces
Jan 5, 2024
e09a9e7
some restructuring
Jan 5, 2024
4319b6f
reconnection fixes
Jan 6, 2024
2bd8eb4
fix pcLOCAL_ALL_NODES_MULTICAST_MAC issue
Jan 6, 2024
e8fe63a
config checks cleanup
Jan 6, 2024
9365b8e
remove a global
Jan 6, 2024
fbb5257
prep for mac filtering
Jan 6, 2024
7987744
add HAL_ETH_MspInit example
Jan 6, 2024
d4c8386
prep packet and frame filtering
Jan 7, 2024
8a37763
add sample mpu config
Jan 10, 2024
17ee341
mac filter improvements
Jan 17, 2024
9edef7a
improve some checks
Jan 17, 2024
71b5eeb
config improvements
Jan 18, 2024
423b5cf
cache fixes
Jan 18, 2024
cd9024d
fix cache size macro
Jan 18, 2024
0da9777
remove caching option
Jan 18, 2024
288cef2
testing updates
Jan 22, 2024
c7cfcd6
fix mac filtering
Jan 22, 2024
3b85eae
outgoing packet adjustments
Jan 22, 2024
86fcd67
fix interrupt priority set
Mixaill Jan 22, 2024
4a8f60a
Merge pull request #11 from Mixaill/dev-stm32-fixprio
HTRamsey Jan 22, 2024
270b1f8
remove C99 requirement
Jan 25, 2024
8549ed5
readd caching and reduce reliance on HAL
HTRamsey Jan 29, 2024
400e46a
remove testing code
HTRamsey Jan 30, 2024
e63a6ee
Merge branch 'main' into dev-stm32
HTRamsey Jan 30, 2024
9f1ccbc
Fix function calls
HTRamsey Jan 30, 2024
4541b3e
fix cache enabled check
HTRamsey Jan 30, 2024
05af791
config checks
HTRamsey Jan 30, 2024
2c4cb01
check static buffer size and fix caching defines
HTRamsey Feb 1, 2024
41eb37a
Merge branch 'main' into dev-stm32
HTRamsey Feb 5, 2024
1228bec
Uncrustify: triggered by comment.
actions-user Feb 5, 2024
3a61d7f
add spellings
HTRamsey Feb 7, 2024
4d812ad
Merge branch 'main' into dev-stm32
HTRamsey Feb 7, 2024
5bed226
Uncrustify: triggered by comment.
actions-user Feb 7, 2024
6bda6e0
remove xCheckLoopback() usage
Mixaill Feb 12, 2024
99c8c03
Fix Phy function return value
HTRamsey Feb 12, 2024
7cf8996
Merge pull request #12 from Mixaill/fix/loopback
HTRamsey Feb 16, 2024
755f640
Merge branch 'main' into dev-stm32
HTRamsey Apr 8, 2024
004ca89
Revert ND changes
HTRamsey Apr 8, 2024
17a0021
Enable MAC filtering Netif functions
HTRamsey Apr 8, 2024
1728ba0
Add Current HAL Drivers
HTRamsey Jun 6, 2024
f9ce39f
Merge branch 'main' into dev-stm32
HTRamsey Jul 4, 2024
31f8caa
Merge branch 'main' into dev-stm32
HTRamsey Jul 4, 2024
b278985
Handle Driver Differences
HTRamsey Jul 5, 2024
390f69a
Merge branch 'main' into dev-stm32
HTRamsey Jul 10, 2024
4e0ab39
Exclude portable STM32 for spelling and formating check
chinglee-iot Jul 12, 2024
c614c67
Merge branch 'main' into dev-stm32
chinglee-iot Jul 12, 2024
c18bfe7
Apply suggestions from code review
HTRamsey Jul 12, 2024
0abb36b
Increment MAC entry index
bjsowa Jul 17, 2024
9576301
Merge pull request #13 from bjsowa/dev-stm32-fix-mac-index
HTRamsey Jul 27, 2024
445dc68
Fix packet length assert
HTRamsey Aug 1, 2024
b8c0fd8
Merge branch 'main' into dev-stm32
kar-rahul-aws Aug 5, 2024
125b153
Review Fixes
HTRamsey Sep 19, 2024
f737291
Merge branch 'main' into dev-stm32
HTRamsey Sep 19, 2024
adfb1d1
Merge branch 'main' into dev-stm32
tony-josi-aws Oct 10, 2024
b1d730b
Merge branch 'main' into dev-stm32
tony-josi-aws Oct 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/.cSpellWords.txt
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ DEFR
Deglitchers
DEMCR
DEREN
Descs
DEVAD
DFREERTOS
DFSR
Expand Down Expand Up @@ -393,6 +394,8 @@ ETHERC
ethernetif
ETHMACRX
ETHMACTX
ETHTX
ETHRX
ETIE
EVCNT
EVCNTR
Expand Down Expand Up @@ -440,6 +443,7 @@ FFSR
FIFOSZ
FLMSK
FMAC
FNUM
FOLDEVTENA
FORCEWT
FORWARDALLEXCEPTPA
Expand Down Expand Up @@ -476,6 +480,14 @@ Gpbs
GPCNTRL
gpio
GPIO
GPIOA
GPIOB
GPIOC
GPIOD
GPIOE
GPIOF
GPIOG
GPIOH
GPSL
GPSLCE
gptimer
Expand Down Expand Up @@ -592,6 +604,7 @@ IVLTV
IVTIR
JABBR
JFRAME
Jndex
jscott
jscotts
karkhaz
Expand Down Expand Up @@ -676,6 +689,7 @@ MACECR
MACFCR
MACHT
MACHTLR
MACHWF
MACIMR
MACISR
MACMDIOAR
Expand Down Expand Up @@ -1321,6 +1335,7 @@ TBFT
TBQB
TBQBAPQ
TBUE
TBUS
TCKER
TCMSSV
TCOMP
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ jobs:
uses: FreeRTOS/CI-CD-Github-Actions/spellings@main
with:
path: ./
exclude-dirs: source/portable/NetworkInterface/STM32
HTRamsey marked this conversation as resolved.
Show resolved Hide resolved

formatting:
runs-on: ubuntu-20.04
Expand All @@ -135,6 +136,7 @@ jobs:
uses: FreeRTOS/CI-CD-Github-Actions/formatting@main
with:
path: ./
exclude-dirs: source/portable/NetworkInterface/STM32
HTRamsey marked this conversation as resolved.
Show resolved Hide resolved

doxygen:
runs-on: ubuntu-latest
Expand Down
5 changes: 2 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ set(FREERTOS_PLUS_TCP_NETWORK_IF_LIST
POSIX WIN_PCAP # Native Linux & Windows respectively
RX
SH2A
STM32FXX STM32HXX # ST Micro
STM32 # ST Micro
MSP432
TM4C
XILINX_ULTRASCALE ZYNQ # AMD/Xilinx
Expand Down Expand Up @@ -117,8 +117,7 @@ if(NOT FREERTOS_PLUS_TCP_NETWORK_IF IN_LIST FREERTOS_PLUS_TCP_NETWORK_IF_LIST )
" PIC32MZEF_WIFI Target: pic32mzef Wifi Tested: TODO\n"
" RX Target: RX Tested: TODO\n"
" SH2A Target: SH2A Tested: TODO\n"
" STM32FXX Target: STM32Fxx Tested: TODO\n"
" STM32HXX Target: STM32Hxx Tested: TODO\n"
" STM32 Target: STM32 Tested: TODO\n"
" MSP432 Target: MSP432 Tested: TODO\n"
" TM4C Target: TM4C Tested: TODO\n"
" WIN_PCAP Target: Windows Tested: TODO\n"
Expand Down
3 changes: 1 addition & 2 deletions source/portable/NetworkInterface/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@ add_subdirectory(mw300_rd)
add_subdirectory(pic32mzef)
add_subdirectory(RX)
add_subdirectory(SH2A)
add_subdirectory(STM32Fxx)
add_subdirectory(STM32Hxx)
add_subdirectory(STM32)
add_subdirectory(ThirdParty/MSP432)
add_subdirectory(TM4C)
add_subdirectory(WinPCap)
Expand Down
46 changes: 46 additions & 0 deletions source/portable/NetworkInterface/STM32/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
if (NOT ( (FREERTOS_PLUS_TCP_NETWORK_IF STREQUAL "STM32") ) )
return()
endif()

#------------------------------------------------------------------------------
add_library( freertos_plus_tcp_network_if STATIC )

set( FREERTOS_PLUS_TCP_STM32_IF_DRIVER "None" CACHE STRING "The driver sources to use with STM32 Network interface" )

target_sources( freertos_plus_tcp_network_if
PRIVATE
NetworkInterface.c
$<$<STREQUAL:${FREERTOS_PLUS_TCP_STM32_IF_DRIVER},F4>:
Drivers/F4/stm32f4xx_hal_eth.c>
$<$<STREQUAL:${FREERTOS_PLUS_TCP_STM32_IF_DRIVER},F7>:
Drivers/F7/stm32f7xx_hal_eth.c>
$<$<STREQUAL:${FREERTOS_PLUS_TCP_STM32_IF_DRIVER},H5>:
Drivers/H5/stm32h5xx_hal_eth_ex.c>
$<$<STREQUAL:${FREERTOS_PLUS_TCP_STM32_IF_DRIVER},H5>:
Drivers/H5/stm32h5xx_hal_eth.c>
$<$<STREQUAL:${FREERTOS_PLUS_TCP_STM32_IF_DRIVER},H7>:
Drivers/H7/stm32h7xx_hal_eth_ex.c>
$<$<STREQUAL:${FREERTOS_PLUS_TCP_STM32_IF_DRIVER},H7>:
Drivers/H7/stm32h7xx_hal_eth.c>
)

target_include_directories( freertos_plus_tcp_network_if
PUBLIC
$<$<STREQUAL:${FREERTOS_PLUS_TCP_STM32_IF_DRIVER},F4>:
Drivers/F4>
$<$<STREQUAL:${FREERTOS_PLUS_TCP_STM32_IF_DRIVER},F7>:
Drivers/F7>
$<$<STREQUAL:${FREERTOS_PLUS_TCP_STM32_IF_DRIVER},H5>:
Drivers/H5>
$<$<STREQUAL:${FREERTOS_PLUS_TCP_STM32_IF_DRIVER},H7>:
Drivers/H7>
)

target_link_libraries( freertos_plus_tcp_network_if
PUBLIC
freertos_plus_tcp_port
freertos_plus_tcp_network_if_common
PRIVATE
freertos_kernel
freertos_plus_tcp
)
Loading
Loading