mirror of
https://github.com/FreeRTOS/FreeRTOS.git
synced 2025-12-16 01:44:30 +08:00
Update FreeRTOS+TCP to latest version V4.3.1 (#1305)
Update FreeRTOS+TCP to latest version V4.3.1
This commit is contained in:
45
.github/workflows/freertos_plus_demos.yml
vendored
45
.github/workflows/freertos_plus_demos.yml
vendored
@@ -446,10 +446,20 @@ jobs:
|
||||
id: generate-credentials
|
||||
uses: FreeRTOS/CI-CD-GitHub-Actions/ssl-credential-creator@main
|
||||
|
||||
- name: Query CI host IP address
|
||||
id: get-ip
|
||||
run: |
|
||||
# Query the device's IP address
|
||||
$SERVER_IP = (Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.IPAddress -notmatch '127.0.0.1' } | Select-Object -First 1 -ExpandProperty IPAddress)
|
||||
Write-Host "Device IP address: $SERVER_IP"
|
||||
echo "server_ip=$SERVER_IP" >> $env:GITHUB_ENV
|
||||
shell: pwsh
|
||||
|
||||
- name: Start localhost MQTT broker
|
||||
id: mqtt-broker
|
||||
uses: FreeRTOS/CI-CD-GitHub-Actions/localhost-mqtt-broker@main
|
||||
with:
|
||||
host_address: ${{ env.server_ip }}
|
||||
root-ca-cert-path:
|
||||
${{ steps.generate-credentials.outputs.root-ca-cert-path }}
|
||||
server-priv-key-path:
|
||||
@@ -475,7 +485,7 @@ jobs:
|
||||
# ${{ env.stepName }}
|
||||
echo -e "::group::${{ env.stepName }}"
|
||||
echo '#define democonfigCLIENT_IDENTIFIER "mqtt_demo_test"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_ENDPOINT "127.0.0.1"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_ENDPOINT "${{ env.server_ip }}"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_PORT ( 1883 )' >> demo_config.h
|
||||
echo "::endgroup::"
|
||||
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }} "
|
||||
@@ -521,7 +531,7 @@ jobs:
|
||||
sed 's/.*/"&\\n"\\/' ${{ steps.generate-credentials.outputs.root-ca-cert-path }} >> root_ca_cert.txt
|
||||
sed '$ s/.$//' root_ca_cert.txt >> demo_config.h
|
||||
echo '#define democonfigCLIENT_IDENTIFIER "mqtt_demo_test"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_ENDPOINT "127.0.0.1"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_ENDPOINT "${{ env.server_ip }}"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_PORT ( 8883 )' >> demo_config.h
|
||||
sed -i -z "s/define[[:space:]]*democonfigDISABLE_SNI[[:space:]]*([[:space:]]*[a-zA-Z0-9]\+[[:space:]]*)/define democonfigDISABLE_SNI ( pdTRUE )/g" demo_config.h
|
||||
exitStatus=$?
|
||||
@@ -575,7 +585,7 @@ jobs:
|
||||
sed 's/.*/"&\\n"\\/' ${{ steps.generate-credentials.outputs.device-priv-key-path }} >> device_priv_key.txt
|
||||
sed '$ s/.$//' device_priv_key.txt >> demo_config.h
|
||||
echo '#define democonfigCLIENT_IDENTIFIER "mqtt_demo_test"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_ENDPOINT "127.0.0.1"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_ENDPOINT "${{ env.server_ip }}"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_PORT ( 8883 )' >> demo_config.h
|
||||
sed -i -z "s/define[[:space:]]*democonfigDISABLE_SNI[[:space:]]*([[:space:]]*[a-zA-Z0-9]\+[[:space:]]*)/define democonfigDISABLE_SNI ( pdTRUE )/g" demo_config.h
|
||||
echo "::endgroup::"
|
||||
@@ -621,7 +631,7 @@ jobs:
|
||||
echo '#ifndef DEMO_CONFIG_H_TEST_BUILD' >> demo_config.h
|
||||
echo ' #define DEMO_CONFIG_H_TEST_BUILD' >> demo_config.h
|
||||
echo ' #define democonfigCLIENT_IDENTIFIER "mqtt_demo_test"' >> demo_config.h
|
||||
echo ' #define democonfigMQTT_BROKER_ENDPOINT "127.0.0.1"' >> demo_config.h
|
||||
echo ' #define democonfigMQTT_BROKER_ENDPOINT "${{ env.server_ip }}"' >> demo_config.h
|
||||
echo ' #define democonfigMQTT_BROKER_PORT ( 1883 )' >> demo_config.h
|
||||
echo '#endif /* DEMO_CONFIG_H_TEST_BUILD */' >> demo_config.h
|
||||
echo "::endgroup::"
|
||||
@@ -665,7 +675,7 @@ jobs:
|
||||
# ${{ env.stepName }}
|
||||
echo -e "::group::${{ env.stepName }}"
|
||||
echo '#define democonfigCLIENT_IDENTIFIER "mqtt_demo_test"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_ENDPOINT "127.0.0.1"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_ENDPOINT "${{ env.server_ip }}"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_PORT ( 1883 )' >> demo_config.h
|
||||
echo "::endgroup::"
|
||||
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }} "
|
||||
@@ -710,7 +720,7 @@ jobs:
|
||||
sed 's/.*/"&\\n"\\/' ${{ steps.generate-credentials.outputs.device-priv-key-path }} >> device_priv_key.txt
|
||||
sed '$ s/.$//' device_priv_key.txt >> demo_config.h
|
||||
echo '#define democonfigCLIENT_IDENTIFIER "mqtt_demo_test"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_ENDPOINT "127.0.0.1"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_ENDPOINT "${{ env.server_ip }}"' >> demo_config.h
|
||||
echo '#define democonfigMQTT_BROKER_PORT ( 8883 )' >> demo_config.h
|
||||
echo "::endgroup::"
|
||||
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }} "
|
||||
@@ -1051,10 +1061,19 @@ jobs:
|
||||
echo "::endgroup::"
|
||||
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }} "
|
||||
|
||||
- name: Query CI host IP address
|
||||
id: get-ip
|
||||
run: |
|
||||
# Query the device's IP address
|
||||
SERVER_IP="$(ip addr show | grep "inet " | grep -v "127.0.0.1" | awk '{print $2}' | cut -d/ -f1 | head -n 1)"
|
||||
echo "Device IP address: $SERVER_IP"
|
||||
echo "server_ip=\"$SERVER_IP\"" >> $GITHUB_ENV
|
||||
|
||||
- name: Start localhost Echo server
|
||||
id: echo-server
|
||||
uses: FreeRTOS/CI-CD-GitHub-Actions/localhost-echo-server@main
|
||||
with:
|
||||
host_address: ${{ env.server_ip }}
|
||||
port_number: 5000
|
||||
|
||||
- env:
|
||||
@@ -1067,6 +1086,8 @@ jobs:
|
||||
echo -e "::group::${{ env.stepName }}"
|
||||
sed -i -z "s/define[[:space:]]*echoECHO_PORT[[:space:]]*([[:space:]]*[0-9]\+[[:space:]]*)/define echoECHO_PORT ( 5000 )/g" TCPEchoClient_SingleTasks.c
|
||||
sed -i -z "s/int[[:space:]]*main[[:space:]]*([[:space:]]*void[[:space:]]*)\n{/int main( void ){setvbuf( stdout, NULL, _IONBF, 0 );/g" main.c
|
||||
sed -i "s/^#define configECHO_SERVER_ADDR .*/#define configECHO_SERVER_ADDR \"${{ env.server_ip }}\"/" FreeRTOSConfig.h
|
||||
git diff
|
||||
make -j TRACE_ON_ENTER=0
|
||||
echo "::endgroup::"
|
||||
echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }} "
|
||||
@@ -1177,10 +1198,20 @@ jobs:
|
||||
exit 1
|
||||
}
|
||||
|
||||
- name: Query CI host IP address
|
||||
id: get-ip
|
||||
run: |
|
||||
# Query the device's IP address
|
||||
$SERVER_IP = (Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.IPAddress -notmatch '127.0.0.1' } | Select-Object -First 1 -ExpandProperty IPAddress)
|
||||
Write-Host "Device IP address: $SERVER_IP"
|
||||
echo "server_ip=$SERVER_IP" >> $env:GITHUB_ENV
|
||||
shell: pwsh
|
||||
|
||||
- name: Start localhost Echo server
|
||||
id: echo-server
|
||||
uses: FreeRTOS/CI-CD-GitHub-Actions/localhost-echo-server@main
|
||||
with:
|
||||
host_address: ${{ env.server_ip }}
|
||||
port_number: 5000
|
||||
|
||||
- env:
|
||||
@@ -1195,7 +1226,7 @@ jobs:
|
||||
$newContent = $content -replace '#define\s+echoECHO_PORT.*', '#define echoECHO_PORT ( 5000 )'
|
||||
$newContent | Set-Content -Path 'DemoTasks\TCPEchoClient_SingleTasks.c'
|
||||
$content = Get-Content -Path 'tcp_echo_config.h' -Raw
|
||||
$newContent = $content -replace '#define\s+configECHO_SERVER_ADDR.*', '#define configECHO_SERVER_ADDR "127.0.0.1"'
|
||||
$newContent = $content -replace '#define\s+configECHO_SERVER_ADDR.*', '#define configECHO_SERVER_ADDR "${{ env.server_ip }}"'
|
||||
$newContent | Set-Content -Path 'tcp_echo_config.h'
|
||||
$content = Get-Content -Path 'main.c' -Raw
|
||||
$newContent = $content -replace 'int\s+main(.*?)void(.*?)\r?\n\s*{', 'int main( void ){setvbuf( stdout, NULL, _IONBF, 0 );'
|
||||
|
||||
@@ -168,10 +168,7 @@ extern void vAssertCalled( const char * const pcFileName,
|
||||
* http://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/TCP_Echo_Clients.html
|
||||
* http://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/UDP_Echo_Clients.html */
|
||||
|
||||
#define configECHO_SERVER_ADDR0 127
|
||||
#define configECHO_SERVER_ADDR1 0
|
||||
#define configECHO_SERVER_ADDR2 0
|
||||
#define configECHO_SERVER_ADDR3 1
|
||||
#define configECHO_SERVER_ADDR "172.31.69.236"
|
||||
|
||||
/* Default MAC address configuration. The demo creates a virtual network
|
||||
* connection that uses this MAC address by accessing the raw Ethernet/WiFi data
|
||||
|
||||
@@ -35,6 +35,11 @@
|
||||
#ifndef FREERTOS_IP_CONFIG_H
|
||||
#define FREERTOS_IP_CONFIG_H
|
||||
|
||||
#ifdef HEAP3
|
||||
#define xPortGetMinimumEverFreeHeapSize( x ) 0
|
||||
#define xPortGetFreeHeapSize() 0
|
||||
#endif
|
||||
|
||||
/* Prototype for the function used to print out. In this case it prints to the
|
||||
* console before the network is connected then a UDP port after the network has
|
||||
* connected. */
|
||||
@@ -67,7 +72,7 @@ extern void vLoggingPrintf( const char * pcFormatString,
|
||||
* FreeRTOS_netstat() command, and ping replies. If ipconfigHAS_PRINTF is set to 1
|
||||
* then FreeRTOS_printf should be set to the function used to print out the
|
||||
* messages. */
|
||||
#define ipconfigHAS_PRINTF 0
|
||||
#define ipconfigHAS_PRINTF 1
|
||||
#if ( ipconfigHAS_PRINTF == 1 )
|
||||
#define FreeRTOS_printf( X ) vLoggingPrintf X
|
||||
#endif
|
||||
|
||||
@@ -66,6 +66,9 @@ LDFLAGS += $(shell pkg-config --libs slirp)
|
||||
|
||||
CPPFLAGS = $(INCLUDE_DIRS) -DBUILD_DIR=\"$(BUILD_DIR_ABS)\"
|
||||
|
||||
DEFINES := -DHEAP3
|
||||
CPPFLAGS += $(DEFINES)
|
||||
|
||||
ifndef TRACE_ON_ENTER
|
||||
TRACE_ON_ENTER = 1
|
||||
endif
|
||||
|
||||
@@ -158,17 +158,11 @@
|
||||
|
||||
#if defined( ipconfigIPv4_BACKWARD_COMPATIBLE ) && ( ipconfigIPv4_BACKWARD_COMPATIBLE == 0 )
|
||||
{
|
||||
xEchoServerAddress.sin_address.ulIP_IPv4 = FreeRTOS_inet_addr_quick( configECHO_SERVER_ADDR0,
|
||||
configECHO_SERVER_ADDR1,
|
||||
configECHO_SERVER_ADDR2,
|
||||
configECHO_SERVER_ADDR3 );
|
||||
xEchoServerAddress.sin_address.ulIP_IPv4 = FreeRTOS_inet_addr( configECHO_SERVER_ADDR );
|
||||
}
|
||||
#else
|
||||
{
|
||||
xEchoServerAddress.sin_addr = FreeRTOS_inet_addr_quick( configECHO_SERVER_ADDR0,
|
||||
configECHO_SERVER_ADDR1,
|
||||
configECHO_SERVER_ADDR2,
|
||||
configECHO_SERVER_ADDR3 );
|
||||
xEchoServerAddress.sin_addr = FreeRTOS_inet_addr( configECHO_SERVER_ADDR );
|
||||
}
|
||||
#endif /* defined( ipconfigIPv4_BACKWARD_COMPATIBLE ) && ( ipconfigIPv4_BACKWARD_COMPATIBLE == 0 ) */
|
||||
|
||||
@@ -189,8 +183,8 @@
|
||||
FreeRTOS_setsockopt( xSocket, 0, FREERTOS_SO_WIN_PROPERTIES, ( void * ) &xWinProps, sizeof( xWinProps ) );
|
||||
|
||||
/* Connect to the echo server. */
|
||||
printf( "\nConnecting to echo server %d.%d.%d.%d:%d....\n",
|
||||
configECHO_SERVER_ADDR0, configECHO_SERVER_ADDR1, configECHO_SERVER_ADDR2, configECHO_SERVER_ADDR3, echoECHO_PORT );
|
||||
printf( "\nConnecting to echo server %s:%d....\n",
|
||||
configECHO_SERVER_ADDR, echoECHO_PORT );
|
||||
|
||||
ret = FreeRTOS_connect( xSocket, &xEchoServerAddress, sizeof( xEchoServerAddress ) );
|
||||
|
||||
|
||||
@@ -252,7 +252,7 @@ void main_tcp_echo_client_tasks( void )
|
||||
}
|
||||
else
|
||||
{
|
||||
FreeRTOS_printf( "Application idle hook network down\n" );
|
||||
FreeRTOS_printf( ( "Application idle hook network down\n" ) );
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
Submodule FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP updated: f940d75a13...e7033c5ddd
@@ -12,7 +12,7 @@ dependencies:
|
||||
path: "FreeRTOS/Source"
|
||||
|
||||
- name: "FreeRTOS-Plus-TCP"
|
||||
version: "V4.1.0"
|
||||
version: "V4.3.1"
|
||||
repository:
|
||||
type: "git"
|
||||
url: "https://github.com/FreeRTOS/FreeRTOS-Plus-TCP.git"
|
||||
|
||||
Reference in New Issue
Block a user