Commit Graph

210 Commits (d69c9c01e81e54fa6a8c3c60ec4e4fb9dab25a47)

Author SHA1 Message Date
alfred gedeon 6b502b5dd3
Build: replace scons with makefile (#235)
* Build: transform scons into Makefile
* Build: add Makefile dependencies
* Build: remove some tabs from Makefile
* Build: Make builds out of source, move wait for event to kernel port
* Test: update the full test to print status messages
* Build: replace lpthread with pthread

Co-authored-by: Alfred Gedeon <gedeonag@amazon.com>
5 years ago
Aniruddha Kanhere c1b06040fe
TCP: Update History.txt file (#243)
* Update the History.txt
5 years ago
Aniruddha Kanhere 889d3e8667
Create a new branch and address 10.8 warnings (#241) 5 years ago
Aniruddha Kanhere 05b4d4fc64
Address various MISRA warnings v3 (#240)
* Add a branch and make MISRA changes

* initialize the value

* Update after Gary's comments
5 years ago
Aniruddha Kanhere cacf4ad7f9
Address various MISRA warnings v2 (#238)
* Address some MISRA warnings

* Change the return type

* Update FreeRTOS_Sockets.c
5 years ago
Aniruddha Kanhere 0341050048
Address MISRA errors of various kinds (#234)
* MISRA 21.15 changes

* MISRA 11.8 changes
5 years ago
Aniruddha Kanhere 18d238ad5c
Address a few MISRA 2.2 violations in FreeRTOS_IP.c (#230)
* Make changes for MISRA rule 2.2

* Add comments to explain changes

* Fix a typo

* Actually fix a typo

I missed a spot in the previous commit.
5 years ago
Gary Wicker e2ab092351
Address MISRA 21.15 violations in FreeRTOS_Sockets.c (#229)
* Use unsigned types/constants where needed.

* Address MISRA 21.15 violations in FreeRTOS_Sockets.c

Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
5 years ago
Aniruddha Kanhere 7cb57324fd
TCP: Address MISRA rule 11.3 violations (Part 2) (#227) 5 years ago
Gary Wicker bcd5dec6c4
Use unsigned types/constants where needed. (#226)
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
5 years ago
Aniruddha Kanhere 3fc432f7be
TCP: Address MISRA rule11.3 violations (#225) 5 years ago
Aniruddha Kanhere 0b48e6a3b5
Utility macros to improve readability/static analysis. (#219)
* Update FreeRTOS_IP_Private.h

* Update FreeRTOS_Sockets.h

* Update FreeRTOS_DNS.c

* Correct version number

* Update version number

* Update version number
5 years ago
alfred gedeon 638262fab1
Fix Posix demo build and remove src directory (#213)
* Fix: build errors, remove src directory and bring all files up
* Fix: Remove not needed header
* Doc: fix main comments
* Doc: fix comment

Co-authored-by: Alfred Gedeon <gedeonag@amazon.com>
5 years ago
Ming Yue d248555de5
Update #169 -- Percepio Tracealyzer Recorder v4.3.11 (#201)
* * Pull Request for Percepio Tracealyzer Recorder v4.3.11

* Update Tracealyzer demo config file.

Co-authored-by: Erik Tamlin <erik.tamlin@percepio.com>
5 years ago
Ming Yue 70dcbe4527
Remove unused wolfSSL files. (#197)
* Remove unused wolfSSL files.

* Add back some removed ciphers.

* Update VS project file.
5 years ago
TakayukiMatsuo 94aa31c3cb
Update wolfSSL to the latest version(v.4.4.0) (#186)
* deleted old version wolfSSL before updating

* updated wolfSSL to the latest version(v4.4.0)

* updated wolfSSL to the latest version(v4.4.0)

* added macros for timing resistance

Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com>
Co-authored-by: Ming Yue <mingyue86010@gmail.com>
5 years ago
Aniruddha Kanhere 08af68ef90
Remove dependency of CBMC on Patches (#181)
* Changes to DHCP

* CBMC DNS changes

* Changes for TCP_IP

* Changes to TCP_WIN

* Define away static to nothing

* Remove patches

* Changes after Mark's comments v1

* Update MakefileCommon.json

* Correction!
5 years ago
Aniruddha Kanhere a7fec906a4
Misc changes (#183) 5 years ago
Aniruddha Kanhere 07cf5e07e4
MISRA compliance changes for FreeRTOS+TCP headers (#165)
* misra changes

* Update FreeRTOS_IP_Private.h

* Update FreeRTOS_IP_Private.h
5 years ago
Aniruddha Kanhere e903ac0fed
UPD MISRA changes (#164)
Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
5 years ago
Aniruddha Kanhere 97551bf44e
MISRA changes in FreeRTOS_TCP_WIN.c (#162) 5 years ago
Aniruddha Kanhere f2611cc5e5
MISRA compliance changes in FreeRTOS_Sockets{.c/.h} (#161)
* MISRA changes Sockets

* add other changes

* Update FreeRTOSIPConfig.h

* Update FreeRTOSIPConfig.h

* Update FreeRTOSIPConfig.h

* Update FreeRTOSIPConfig.h

* correction

* Add 'U'

* Update FreeRTOS_Sockets.h

* Update FreeRTOS_Sockets.h

* Update FreeRTOS_Sockets.c

* Update FreeRTOS_Sockets.h

* Update after Gary's comments

* Correction reverted
5 years ago
Aniruddha Kanhere ae4d4d38d9
MISRA compliance changes for FreeRTOS_TCP_IP.c (#160)
* MISRA tcp-ip changes

* Changes after Hein's comments on original PR

* Update FreeRTOS_TCP_IP.c

Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
5 years ago
Aniruddha Kanhere e0d62163b0
Sync with +TCP amazon-FreeRTOS (#158)
* DNS.c commit

* IP.c commit

* Add various source & header files
5 years ago
Hein Tibosch c720c18ada
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 <hein@htibosch.net>
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
5 years ago
Aniruddha Kanhere 4237049b12
Add changes from 2225-2227 amazon-FreeRTOS (#134) 5 years ago
Aniruddha Kanhere d5fedeaa96
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
5 years ago
Aniruddha Kanhere a9b2aac4e9
Folder structure change + Fix broken Projects (#103)
* Update folder structure

* Correct project files

* Move test folder

* Some changes after Yuki's comments
5 years ago
Hein Tibosch 98bfc38bf3
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 <hein@htibosch.net>
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
5 years ago
RichardBarry 2df5eeef57
Feature/multiple direct to task notifications (#73)
* Add TaskNotifyArray.c with the single task tests updated to use the task notification array up to the point where the timer is created.

* Continue working on TaskNotifyArray.c to test the new task notification indexes.  Next TaskNotifyArray.c will be refactored to break the tests up a bit.

* Refactor and update the comments in TaskNotifyArray.c - no functional changes.

* Change from the task notify "array" to task notification "indexed" nomenclature in the new task notification API functions that work on one particular task notification with the array of task notifications.

* Update the implementation of the taskNOTIFY_TAKE() and taskNOTIFY_WAIT() trace macros to take the array index of the task notification they are acting on.
Rename configNUMBER_OF_TASK_NOTIFICATIONS to configTASK_NOTIFICATION_ARRAY_ENTRIES.
Add FreeRTOS/Demo/Common/Minimal/TaskNotifyArray.c to the Visual Studio project - the file implements tests specific to the behaviour of the indexed task notification functions and should be used in addition to the tests already provided in FreeRTOS/Demo/Common/Minimal/TaskNotify.c.
5 years ago
Aniruddha Kanhere f11bcc8acc
Fix a Bug and corresponding CBMC patch (#84)
* Update remove-static-in-freertos-tcp-ip.patch

* Update FreeRTOS_TCP_IP.c

* Update remove-static-in-freertos-tcp-ip.patch

* Update remove-static-in-freertos-tcp-ip.patch

Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
5 years ago
Aniruddha Kanhere 6efc39f44b
Add Project for running integration tests v2 (#80)
* Project for integration tests

* relative paths in project files

* relative paths in project files-1

* relative paths in project files-2

* addressed comments

* addressed comments v2

Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
5 years ago
Aniruddha Kanhere cb7edd2323
Sync with a:FR (#75)
* AFR sync

* AFR sync: CBMC

* AFR sync: CBMC: remove .bak files

* AFR sync: CBMC: more cleanup

* Corrected CBMC proofs

* Corrected CBMC patches

* Corrected CBMC patches-1

* Corrected CBMC patches-2

* remove .bak files (3)

Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
5 years ago
alfred gedeon 6557291e54
Test: Add Linux Networking support with demo application (#71)
* Test: Add Linux Networking support with demo application

* Test: revert files affected by uncrustify

* Test: revert files affected by uncrustify

Co-authored-by: Alfred Gedeon <gedeonag@amazon.com>
Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
5 years ago
Hein Tibosch 5003d17fed
FreeRTOS+TCP : renewing DHCP lease while network is down (#53)
Co-authored-by: Hein Tibosch <hein@htibosch.net>
Co-authored-by: Gary Wicker <14828980+gkwicker@users.noreply.github.com>
5 years ago
AniruddhaKanhere 40a31b6d35 'uL' -> 'UL' 5 years ago
AniruddhaKanhere 5b3a289b69 Changes after Gary's comments 5 years ago
AniruddhaKanhere edf68637dd Update FreeRTOS_ARP.c 5 years ago
AniruddhaKanhere 35f3ac32a8 correct debug output 5 years ago
AniruddhaKanhere 5e12a70db4 Debugging flag check added 5 years ago
AniruddhaKanhere 4e8ac8de25 Comment style consistency and Yuhui's suggestions 5 years ago
AniruddhaKanhere e43f7cd086 Cleanup 5 years ago
AniruddhaKanhere ab3b51c7a0 Update after Gary's comments 5 years ago
AniruddhaKanhere 97f7009699 Update after richard's comments 5 years ago
AniruddhaKanhere a9fcafc074 Corrected the formatting
- visual studio had messed up the formatting
5 years ago
AniruddhaKanhere c381861014 commit 2 after gary's comments 5 years ago
AniruddhaKanhere 75677a8d85 Commit after Gary's comments 5 years ago
AniruddhaKanhere 666c0da366 Update after Yuhui's comments
- removed (void) from before memcpy, memset etc.
- corrected memcpy style as suggested by Yuhui
- Added logging for xNetworkInterfaceOutput. No need to configASSERT
5 years ago
AniruddhaKanhere 4a1148d15b Coverity + MISRA compliance
Modified code to conform to the MISRA directives more closely.
5 years ago
AniruddhaKanhere ecf0f12aa1
Sync up with Amazon-freertos repo (10th March 2020) (#34)
* Sync up with amazon-freertos

* Sync up with amazon-freertos

* Sync up with amazon-freertos
5 years ago
AniruddhaKanhere c40a6da2e4
pass payload length when calling UDP callback (#30)
* pass payload length when calling UDP callback
5 years ago
AniruddhaKanhere 7e1a4bf563
Fix DHCP option Client-identifier (#28) 5 years ago
Richard Barry 9c0c37ab9b Added back some TCP/IP stack port layer files. 5 years ago
Richard Barry 7cf721ccf7 5 years ago
Yuhui.Zheng 589dd9f149 Update version number in readiness for V10.3.0 release. Sync SVN with reviewed release candidate. 5 years ago
Richard Barry 8e5addee1e Update TCP to last release versions in preparation for kernel V10.3.0 release. 5 years ago
Yuhui.Zheng ec6f3d77c3 Sync FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP with the version in GitHub at (23665258cabe49d5d68ba23968b6845a7c80eb34).
Notes: 
- header has version 2.2.0. 
- This sync did not bring in ./test directory, though we should. 
- New NetworkInterfaces are introduced by this merge.
- Keil compiler support. 
- FreeRTOS_IP.h new API xApplicationGetRandomNumber().
- FreeRTOS_IP_Private.h new eIPEvent_t eNetworkTxEvent. 
- FreeRTOS_Stream_Buffer.h removing static xStreamBufferIsEmpty() and xStreamBufferIsFull().
- FreeRTOSConfigDefaults.h provides default ipconfigDNS_RECEIVE_BLOCK_TIME_TICKS. 
- other type changes.
5 years ago
Richard Barry 4d4493e61a Remove the FreeRTOS-IoT-Libraries from FreeRTOS-Plus as it was an old copy with a newer copy in FreeRTOS-Labs. 5 years ago
Richard Barry 96bad0f6c3 Minor bug fix in NTPDemo.c -> use of FREERTOS_INVALID_SOCKET in place of NULL.
Update trace recorder code to account for uxPendedTicks renaming to xPendedTicks.
6 years ago
Richard Barry b4c06085e1 Files as per 190725_FreeRTOS_IoT_Libs_Task_Pool_and_MQTT_Preview interim release. 6 years ago
Richard Barry fe4511b35e Continued to work on the MQTT demo project.
A few review comments added into the MQTT implementation.
6 years ago
Richard Barry 53842d4cac Remove the simple UDP client/server tasks from the MQTT demo as the demo's network connection can be tested more easily just by pinging it.
Tidy up the iot_config.h header files a little.
6 years ago
Gaurav Aggarwal 95f60318d5 Cosmetic changes in the MQTT demo
- Fix warnings in the MQTT code.
- Update comments in the iot_config.h.
6 years ago
Gaurav Aggarwal 05e7d9cc08 Remove dependency on secure sockets
Network interface implementation for FreeRTOS now directly calls into
FreeRTOS+TCP instead of going via secure sockets.
6 years ago
Gaurav Aggarwal 68fd276886 Remove IotMqtt_Assert( pTaskPool == IOT_SYSTEM_TASKPOOL ) from MQTT code
The cut down version of the task pool has only one task pool, namely,
system task pool. All the task pool API functions accept NULL as a
valid parameter for IotTaskPool_t and use the system task pool when
NULL is passed for the system task pool.

IOT_SYSTEM_TASKPOOL is defined to NULL to use system task pool and
therefore the above assert is no longer valid.
6 years ago
Gaurav Aggarwal 8ea501ef11 Update projects to use the new directory name
IotTaskPool_GetSystemTaskPool has been removed from the cut down version
of the task pool. define IOT_SYSTEM_TASKPOOL to NULL so that the MQTT library
builds successfully.

Use the new #defines in the iot_config.h.
6 years ago
Gaurav Aggarwal 9dd72d4b44 Rename \FreeRTOS-Plus\Source\FreeRTOS-Plus-IoT-SDK to \FreeRTOS-Plus\Source\FreeRTOS-IoT-Libraries. 6 years ago
Richard Barry 7af8756c97 Update task pool so tasks and timer are allocated statically. 6 years ago
Richard Barry 1840d38abf Another backup check-in during process of optimising task pool for FreeRTOS. This checkin is prior to making the task pool statically allocated. 6 years ago
Richard Barry 63c87504a0 Backup checking on - part way through optimising task pool. 6 years ago
Gaurav Aggarwal a7ef9c3b61 Add first draft of mqtt example
Note that it is still work in progress and not working as of now.
6 years ago
Richard Barry 238a23e4d5 Add the files from the MQTT project that were not check in. 6 years ago
Richard Barry 5dd6cf1295 Add missing files so base MQTT project builds. 6 years ago
Richard Barry bb0e1f356d Remove any TCP/IP functionality from the task pool demo - the TCP/IP stack is still built as it will be used in later revisions. 6 years ago
Richard Barry 2e18203bb7 Update TCP/IP tack to latest form Git. 6 years ago
Richard Barry a6a0403fd6 Synch IoT libraries with latest versions. 6 years ago
Richard Barry e4e86a464e New MSVC task pool demo now building both the task pool and TCP libraries. 6 years ago
Richard Barry e60f71855a Remove IotTaskPool_CreateRecyclableSystemJob() and IotTaskPool_ScheduleSystemJob() again, which were intended to be alternative APIs that only access the system task pool, and instead update IotTaskPool_CreateRecyclableJob() and IotTaskPool_ScheduleJob() to allow the parameter used to pass in the task pool handle to be NULL if the system task pool is the only one available.
Update the task pool demo app to include a lot more functionality.
6 years ago
Richard Barry e75b609c74 In small FreeRTOS applications it is unlikely there will be any task pools other than the system task pool. IotTaskPool_CreateRecyclableSystemJob() is therefore introduced to complement IotTaskPool_CreateRecyclableJob() that does not require the handle of the target task pool to be specified as a parameter. Likewise IotTaskPool_ScheduleSystemJob() is introduced to complement IotTaskPool_ScheduleJob() for the same reason.
IotTaskPool_CreateSystemTaskPool() calls synchronisation primitives, so cannot be called before the scheduler starts.  Add a configASSERT() to ensure the scheduler is running when it executes.
IotTaskPool_CreateSystemTaskPool() can conceivably be called from multiple different libraries that depend on the thread pool.  In this version _IotSystemTaskPool.running can be used to check the system task pool has not already been created.  If the task pool has been created simply return from IotTaskPool_CreateSystemTaskPool() instead of re-creating it (which would leak memory and leave orphaned tasks).
Call taskENTER_CRITICAL() and taskEXIT_CRITICAL() directly in place of mapping them to TASKPOOL_ENTER_CRITICAL() and TASKPOOL_EXIT_CRITICAL() in the same file.
Rename _timerThread() _timerCallback(), as it is a callback function and not a thread.
Remove the unused flags parameter from _scheduleInternal().
6 years ago
Richard Barry 76cc2a00c6 Add the first and most basic task pool example. 6 years ago
Richard Barry 0b0a02b76a Bring in a minimum subset of the IoT SDK - at this time just a subset of the library dependencies rather than the libraries themselves. 6 years ago
Richard Barry 606845492b Fix potential memory leak in the Win32 FreeRTOS+TCP network interface initialisation sequence.
Introduce portMEMORY_BARRIER() macro to assist with memory access ordering when suspending the scheduler if link time optimization is used.
6 years ago
Richard Barry 50e67a89f1 Update version number in +TCP code. 6 years ago
Richard Barry ab49c6ae04 Very minor formatting changes, and remove legacy link to V8 upgrade information. 7 years ago
Richard Barry be9c0730c3 Update trace recorder code to the latest.
Some minor changes to enable the configREMOVE_STATIC_QUALIFIER constant to be used by those debuggers that cannot cope with statics being used.
7 years ago
Richard Barry 97a686b2e1 Fix mixed tabs and spaces in the latest TCP patches. 7 years ago
Richard Barry a11b1a494d FreeRTOS+UDP was removed in FreeRTOS V10.1.0 as it was replaced by FreeRTOS+TCP,
which was brought into the main download in FreeRTOS V10.0.0.  FreeRTOS+TCP can
be configured as a UDP only stack, and FreeRTOS+UDP does not contain the patches
applied to FreeRTOS+TCP.
7 years ago
Richard Barry bdb088e66f Fix some build issues in older kernel demo projects.
Update to V2.0.7 of the TCP/IP stack:
   + Multiple security improvements and fixes in packet parsing routines, DNS
     caching, and TCP sequence number and ID generation.
   + Disable NBNS and LLMNR by default.
   + Add TCP hang protection by default.

We thank Ori Karliner of Zimperium zLabs Team for reporting these issues.
7 years ago
Richard Barry d525d5092d Update trace recorder code.
Add TCP Echo server to the FreeR_Plus_TCP_Minimal_Window_Simulator project.
7 years ago
Richard Barry 7d92e4dd8f Sync with TCP version from AWS, including:
+ Add FreeRTOS_UpdateMACAddress().
+ Fix bug in lTCPWindowRxCheck() that manifested itself when flooded with lots of very small packets.
7 years ago
Richard Barry 9ed3a9fe18 Fix buffer clean up in \FreeRTOS_Plus_TCP_Minimal_Windows_Simulator\demo_logging.c.
Update queue code to allow an overwrite operation on a queue that is in a queue set, and add prvTestQueueOverwriteWithQueueSet() to test function.
Update Eclipse Win32 project to bring it closer the the Visual Studio equivalent.
7 years ago
Richard Barry ff74e7aa63 Allow IP address to be passed into gethostbyname().
Ensure xNetworkBuffersInitialise() doesn't use a semaphore before it has been tested against NULL.
7 years ago
Richard Barry 208cc18a90 Ensure data cannot be sent to a TCP socket if the socket is in the process of closing.
Correct definition of StaticTask_t in the case that portUSE_MPU_WRAPPERS is set to 1.
prvTaskCheckFreeStackSpace() now returns configSTACK_DEPTH_TYPE to allow return values greater than max uint16_t value if required.
xStreamBufferSend() and xStreamBufferReceive() no longer clear task notification bits - clearing was unnecessary as only the task notification state is used.
7 years ago
Richard Barry 13651934be Roll up the minor changes checked into svn since V10.0.0 into new V10.0.1 ready for release. 7 years ago
Richard Barry f998c8119a Update license information text files for the CLI, TCP and UDP products to be correct for V10. 7 years ago
Richard Barry 0d903cf2d6 FreeRTOS+TCP: Added ipconfigSOCKET_HAS_USER_WAKE_CALLBACK configuration option so the user can specify a callback to execute when data arrives.
FreeRTOS+TCP: Improve print output when using WinPCap to assist in selecting the correct network interface.
FreeRTOS kernel: Fix extern "C" { in stream_buffer.h.
FreeRTOS kernel: Correct tskKERNEL_VERSION_NUMBER and tskKERNEL_VERSION_MAJOR constants for V10.
Ensure the currently executing task is printed correctly in vTaskList().
7 years ago
Richard Barry cfc268814a Update to MIT licensed FreeRTOS V10.0.0 - see https://www.freertos.org/History.txt 7 years ago
Richard Barry e42a701e99 Add missing +TCP code. 8 years ago
Richard Barry 77e95538dc Added +TCP code to main repo. 8 years ago
Richard Barry b6f2402f3f Update trace recorder source to fix some compile time warnings. 8 years ago