mirror of
https://github.com/FreeRTOS/FreeRTOS.git
synced 2025-06-19 22:57:57 +08:00
Multiple tidy up and corrections preparing for release (#390)
* Update to the WolfSSL FIPS ready demo: Add a debug break point into the configASSERT() implementation along with a comment telling users how to update the integrity check hash if they hit the breakpoint. * Updates in the root directory: Remove "New - Stream and Message Buffers.url" as the feature is no longer new, and edit the readme.md file as the repo now contains 'core' libraries in addition to 'FreeRTOS+' libraries. * FreeRTOS-Plus/Source/Utilities: Add readme files and links to documentation. * Application-Protocols: Add readme and URL links. * Remove Index.html from the end of a URL in the readme.txt file. * Demo-IP-Protocols: Add readme.txt files and code comments saying the protocols are not intended for production use. * coreMQTT: Remove links to deprecated documentation, add readme and correct links to documentation. * General: Correct URLs in source files and .url files. * Update readme.txt
This commit is contained in:
@ -26,7 +26,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* See https://www.FreeRTOS.org/mqtt_lts/index.html for configuration and usage instructions.
|
* See https://www.FreeRTOS.org/coremqtt for configuration and usage instructions.
|
||||||
***/
|
***/
|
||||||
|
|
||||||
/* Standard includes. */
|
/* Standard includes. */
|
||||||
@ -107,7 +107,7 @@ static UBaseType_t ulNextRand;
|
|||||||
int main( void )
|
int main( void )
|
||||||
{
|
{
|
||||||
/***
|
/***
|
||||||
* See https://www.FreeRTOS.org/mqtt_lts/index.html for configuration and usage instructions.
|
* See https://www.FreeRTOS.org/coremqtt for configuration and usage instructions.
|
||||||
***/
|
***/
|
||||||
|
|
||||||
/* Miscellaneous initialization including preparing the logging and seeding
|
/* Miscellaneous initialization including preparing the logging and seeding
|
||||||
|
@ -2,4 +2,4 @@
|
|||||||
Prop3=19,11
|
Prop3=19,11
|
||||||
[InternetShortcut]
|
[InternetShortcut]
|
||||||
IDList=
|
IDList=
|
||||||
URL=https://www.freertos.org/mqtt_lts/
|
URL=https://www.freertos.org/shadow/index.html
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
/*
|
/*
|
||||||
|
*!
|
||||||
|
*! The protocols implemented in this file are intended to be demo quality only,
|
||||||
|
*! and not for production devices.
|
||||||
|
*!
|
||||||
|
*
|
||||||
* FreeRTOS+TCP V2.0.3
|
* FreeRTOS+TCP V2.0.3
|
||||||
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
|
@ -0,0 +1,2 @@
|
|||||||
|
The protocols implemented in this directory are intended to be demo quality
|
||||||
|
examples only. They are not intended for inclusion in production devices.
|
@ -1,4 +1,9 @@
|
|||||||
/*
|
/*
|
||||||
|
*!
|
||||||
|
*! The protocols implemented in this file are intended to be demo quality only,
|
||||||
|
*! and not for production devices.
|
||||||
|
*!
|
||||||
|
*
|
||||||
* FreeRTOS+TCP V2.0.3
|
* FreeRTOS+TCP V2.0.3
|
||||||
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
/*
|
/*
|
||||||
|
*!
|
||||||
|
*! The protocols implemented in this file are intended to be demo quality only,
|
||||||
|
*! and not for production devices.
|
||||||
|
*!
|
||||||
|
*
|
||||||
* FreeRTOS+TCP V2.0.3
|
* FreeRTOS+TCP V2.0.3
|
||||||
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
|
@ -0,0 +1,2 @@
|
|||||||
|
The protocols implemented in this directory are intended to be demo quality
|
||||||
|
examples only. They are not intended for inclusion in production devices.
|
@ -1,4 +1,9 @@
|
|||||||
/*
|
/*
|
||||||
|
*!
|
||||||
|
*! The protocols implemented in this file are intended to be demo quality only,
|
||||||
|
*! and not for production devices.
|
||||||
|
*!
|
||||||
|
*
|
||||||
* FreeRTOS+TCP V2.0.3
|
* FreeRTOS+TCP V2.0.3
|
||||||
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
|
@ -0,0 +1,2 @@
|
|||||||
|
The protocols implemented in this directory are intended to be demo quality
|
||||||
|
examples only. They are not intended for inclusion in production devices.
|
3
FreeRTOS-Plus/Demo/Common/Demo_IP_Protocols/readme.txt
Normal file
3
FreeRTOS-Plus/Demo/Common/Demo_IP_Protocols/readme.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
The protocols implemented in the files and folders in this directory and its
|
||||||
|
subdirectories are intended to be demo quality examples only. They are not
|
||||||
|
intended for inclusion in production devices.
|
@ -54,6 +54,11 @@ extern void vSecureTCPServerTask( void *pvParameters );
|
|||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
*! It is necessary to update the build hash before running this project for the
|
||||||
|
*! time. Ensure to read README_wolfSSL_FIPS_ready.md in the directory that contains
|
||||||
|
*! this Visual Studio project for instructions.
|
||||||
|
*/
|
||||||
int main( void )
|
int main( void )
|
||||||
{
|
{
|
||||||
const uint32_t ulLongTime_ms = 250UL;
|
const uint32_t ulLongTime_ms = 250UL;
|
||||||
@ -96,6 +101,14 @@ const unsigned long ulLongSleep = 1000UL;
|
|||||||
taskDISABLE_INTERRUPTS();
|
taskDISABLE_INTERRUPTS();
|
||||||
for( ;; )
|
for( ;; )
|
||||||
{
|
{
|
||||||
|
/* Cause debugger break point if being debugged.
|
||||||
|
|
||||||
|
If you see reach here and the console shows "In core integrity check error"
|
||||||
|
then you have not updated the expected build hash since building this
|
||||||
|
project. See README_wolfSSL_FIPS_ready.md in the directory that contains
|
||||||
|
this Visual Studio project for instructions. */
|
||||||
|
__debugbreak();
|
||||||
|
|
||||||
Sleep( ulLongSleep );
|
Sleep( ulLongSleep );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* See https://www.FreeRTOS.org/mqtt_lts/index.html for configuration and usage instructions.
|
* See https://www.FreeRTOS.org/coremqtt for configuration and usage instructions.
|
||||||
***/
|
***/
|
||||||
|
|
||||||
/* Standard includes. */
|
/* Standard includes. */
|
||||||
@ -107,7 +107,7 @@ static UBaseType_t ulNextRand;
|
|||||||
int main( void )
|
int main( void )
|
||||||
{
|
{
|
||||||
/***
|
/***
|
||||||
* See https://www.FreeRTOS.org/mqtt_lts/index.html for configuration and usage instructions.
|
* See https://www.FreeRTOS.org/coremqtt for configuration and usage instructions.
|
||||||
***/
|
***/
|
||||||
|
|
||||||
/* Miscellaneous initialization including preparing the logging and seeding
|
/* Miscellaneous initialization including preparing the logging and seeding
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
The multi threaded example creates an MQTT agent (or daemon task). It is thread
|
||||||
|
safe because only the agent task is allowed to access the coreMQTT API - hence
|
||||||
|
the API is only accessed from one FreeRTOS task. Other tasks and interrupts
|
||||||
|
needing to interact with the MQTT agent do so through a thread safe queue.
|
||||||
|
We are generalising this technique for future coreMQTT releases, which will have
|
||||||
|
a re-usable agent component.
|
||||||
|
|
||||||
|
! Plain text examples are for ease of evaluation only - product devices should
|
||||||
|
! always use authenticated and encrypted communication. Never send private or
|
||||||
|
! sensitive data on an unencrypted connection.
|
||||||
|
|
@ -1,5 +0,0 @@
|
|||||||
[{000214A0-0000-0000-C000-000000000046}]
|
|
||||||
Prop3=19,11
|
|
||||||
[InternetShortcut]
|
|
||||||
IDList=
|
|
||||||
URL=https://www.freertos.org/mqtt_lts/
|
|
@ -1,5 +0,0 @@
|
|||||||
[{000214A0-0000-0000-C000-000000000046}]
|
|
||||||
Prop3=19,11
|
|
||||||
[InternetShortcut]
|
|
||||||
IDList=
|
|
||||||
URL=https://www.freertos.org/mqtt_lts/
|
|
15
FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/readme.txt
Normal file
15
FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/readme.txt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
The subdirectories of this directory contain multiple examples that demonstrate
|
||||||
|
coreMQTT using in both single and multi-threaded scenarios, as well as with
|
||||||
|
both plain text and authenticated and encrypted network interfaces.
|
||||||
|
|
||||||
|
The multi threaded example creates an MQTT agent (or daemon task). It is thread
|
||||||
|
safe because only the agent task is allowed to access the coreMQTT API - hence
|
||||||
|
the API is only accessed from one FreeRTOS task. Other tasks and interrupts
|
||||||
|
needing to interact with the MQTT agent do so through a thread safe queue.
|
||||||
|
We are generalising this technique for future coreMQTT releases, which will have
|
||||||
|
a re-usable agent component.
|
||||||
|
|
||||||
|
! Plain text examples are for ease of evaluation only - product devices should
|
||||||
|
! always use authenticated and encrypted communication. Never send private or
|
||||||
|
! sensitive data on an unencrypted connection.
|
||||||
|
|
@ -2,4 +2,4 @@
|
|||||||
Prop3=19,11
|
Prop3=19,11
|
||||||
[InternetShortcut]
|
[InternetShortcut]
|
||||||
IDList=
|
IDList=
|
||||||
URL=https://www.freertos.org/mqtt_lts/
|
URL=https://www.freertos.org/coremqtt/index.html
|
@ -97,7 +97,7 @@ static UBaseType_t ulNextRand;
|
|||||||
int main( void )
|
int main( void )
|
||||||
{
|
{
|
||||||
/***
|
/***
|
||||||
* See https://www.FreeRTOS.org/mqtt_lts/index.html for configuration and usage instructions.
|
* See https://www.FreeRTOS.org/coremqtt for configuration and usage instructions.
|
||||||
***/
|
***/
|
||||||
|
|
||||||
/* Miscellaneous initialization including preparing the logging and seeding
|
/* Miscellaneous initialization including preparing the logging and seeding
|
||||||
|
@ -2,4 +2,4 @@
|
|||||||
Prop3=19,11
|
Prop3=19,11
|
||||||
[InternetShortcut]
|
[InternetShortcut]
|
||||||
IDList=
|
IDList=
|
||||||
URL=https://www.freertos.org/mqtt_lts/
|
URL=https://www.freertos.org/coremqtt
|
@ -2,4 +2,4 @@
|
|||||||
Prop3=19,11
|
Prop3=19,11
|
||||||
[InternetShortcut]
|
[InternetShortcut]
|
||||||
IDList=
|
IDList=
|
||||||
URL=https://www.freertos.org/mqtt_lts/
|
URL=https://www.freertos.org/transportinterface.html
|
15
FreeRTOS-Plus/Source/Application-Protocols/readme.txt
Normal file
15
FreeRTOS-Plus/Source/Application-Protocols/readme.txt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
The 'core' branded application protocols are 'standalone' in that they do not
|
||||||
|
have any dependencies outside of the C library. They use a simple transport
|
||||||
|
interface definition to ensure they are not dependent on the underlying TCP/IP
|
||||||
|
stack. This directory collects together the application protocols that all use
|
||||||
|
the same transport interface definition (only coreMQTT at the time of writing,
|
||||||
|
soon to also include coreHTTP).
|
||||||
|
|
||||||
|
Directories:
|
||||||
|
|
||||||
|
+ coreMQTT contains the implementation of the coreMQTT library. See:
|
||||||
|
https://www.FreeRTOS.org/coremqtt
|
||||||
|
|
||||||
|
+ network_transport contains the transport interface definition. See the
|
||||||
|
comment above and https://www.freertos.org/transportinterface.html
|
||||||
|
|
@ -2,4 +2,4 @@
|
|||||||
Prop3=19,11
|
Prop3=19,11
|
||||||
[InternetShortcut]
|
[InternetShortcut]
|
||||||
IDList=
|
IDList=
|
||||||
URL=https://www.freertos.org/mqtt_lts/
|
URL=https://www.freertos.org/logging.html
|
14
FreeRTOS-Plus/Source/Utilities/readme.txt
Normal file
14
FreeRTOS-Plus/Source/Utilities/readme.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
Directories:
|
||||||
|
|
||||||
|
+ Utilities/exponential_backoff contains a utility that calculates an
|
||||||
|
exponential back off time, with some jitter. It is used to ensure fleets of
|
||||||
|
IoT devices that become disconnected don't all try and reconnect at the same
|
||||||
|
time.
|
||||||
|
|
||||||
|
+ Utilities/logging contains header files for use with the core libraries logging
|
||||||
|
macros. See https://www.FreeRTOS.org/logging.html.
|
||||||
|
|
||||||
|
+ Utililties/mbedtls_freertos contains a few FreeRTOS specifics required by
|
||||||
|
mbedTLS.
|
||||||
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
|||||||
[{000214A0-0000-0000-C000-000000000046}]
|
|
||||||
Prop3=19,2
|
|
||||||
[InternetShortcut]
|
|
||||||
URL=http://www.freertos.org/RTOS-stream-message-buffers.html
|
|
||||||
IDList=
|
|
||||||
HotKey=0
|
|
28
README.md
28
README.md
@ -1,15 +1,13 @@
|
|||||||
## Getting started
|
## Getting started
|
||||||
The easiest way to use FreeRTOS is to start with one of the pre-configured demo application projects (found in the FreeRTOS/Demo directory). That way you will have the correct FreeRTOS source files included, and the correct include paths configured. Once a demo application is building and executing you can remove the demo application files, and start to add in your own application source files. See the [FreeRTOS Kernel Quick Start Guide](https://www.freertos.org/FreeRTOS-quick-start-guide.html) for detailed instructions and other useful links.
|
The [FreeRTOS.org](https://www.freertos.org) website contains contains a [FreeRTOS Kernel Quick Start Guide](https://www.freertos.org/FreeRTOS-quick-start-guide.html), a [list of supported devices and compilers](https://www.freertos.org/RTOS_ports.html), the [API reference](https://www.freertos.org/a00106.html), and many other resources.
|
||||||
|
|
||||||
Additionally, for FreeRTOS kernel feature information refer to the [Developer Documentation](https://www.freertos.org/features.html), and [API Reference](https://www.freertos.org/a00106.html).
|
|
||||||
|
|
||||||
### Getting help
|
### Getting help
|
||||||
If you have any questions or need assistance troubleshooting your FreeRTOS project, we have an active community that can help on the [FreeRTOS Community Support Forum](https://forums.freertos.org). Please also refer to [FAQ](http://www.freertos.org/FAQHelp.html) for frequently asked questions.
|
You can use your Github login to get support from both the FreeRTOS community and directly from the primary FreeRTOS developers on our [active support forum](https://forums.freertos.org). The [FAQ](https://www.freertos.org/FAQ.html) provides another support resource.
|
||||||
|
|
||||||
## Cloning this repository
|
## Cloning this repository
|
||||||
This repo uses [Git Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) to bring in dependent components.
|
This repo uses [Git Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) to bring in dependent components.
|
||||||
|
|
||||||
Note: If you download the ZIP file provided by GitHub UI, you will not get the contents of the submodules. (The ZIP file is also not a valid git repository)
|
**Note:** If you download the ZIP file provided by the GitHub UI, you will not get the contents of the submodules. (The ZIP file is also not a valid git repository)
|
||||||
|
|
||||||
To clone using HTTPS:
|
To clone using HTTPS:
|
||||||
```
|
```
|
||||||
@ -26,20 +24,18 @@ git submodule update --init --recursive
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Repository structure
|
## Repository structure
|
||||||
This repository contains the FreeRTOS Kernel, a number of supplementary libraries, and a comprehensive set of example applications.
|
This repository contains the FreeRTOS Kernel, a number of supplementary libraries, and a comprehensive set of example applications. Many libraries (including the FreeRTOS kernel) are included as Git submodules from their own Git repositories.
|
||||||
|
|
||||||
### Kernel sources
|
### Kernel source code and example projects
|
||||||
The FreeRTOS Kernel Source is in [FreeRTOS/FreeRTOS-Kernel repository](https://github.com/FreeRTOS/FreeRTOS-Kernel), and it is consumed as a submodule in this repository.
|
```FreeRTOS/Source``` contains the FreeRTOS kernel source code (submoduled from https://github.com/FreeRTOS/FreeRTOS-Kernel).
|
||||||
|
|
||||||
The version of the FreeRTOS Kernel Source in use could be accessed at ```./FreeRTOS/Source``` directory.
|
```FreeRTOS/Demo``` contains pre-configured example projects that demonstrate the FreeRTOS kernel executing on different hardware platforms and using different compilers.
|
||||||
|
|
||||||
A number of Demo projects can be found under ```./FreeRTOS/Demo``` directory.
|
### Supplementary library source code and example projects
|
||||||
|
```FreeRTOS-Plus/Source``` contains source code for additional FreeRTOS component libraries, as well as select partner provided libraries. These subdirectories contain further readme files and links to documentation.
|
||||||
|
|
||||||
### Supplementary library sources
|
```FreeRTOS-Plus/Demo``` contains pre-configured example projects that demonstrate the FreeRTOS kernel used with the additional FreeRTOS component libraries.
|
||||||
The [FreeRTOS-Plus/Source](https://github.com/FreeRTOS/FreeRTOS/tree/master/FreeRTOS-Plus/Source) directory contains source code for some of the FreeRTOS+ components, as well as select partner provided libraries. These subdirectories contain further readme files and links to documentation.
|
|
||||||
|
|
||||||
[FreeRTOS-Labs](https://github.com/FreeRTOS/FreeRTOS/tree/master/FreeRTOS-Labs) contains libraries and demos that are fully functional, but undergoing optimizations or refactorization to improve memory usage, modularity,
|
|
||||||
documentation, demo usability, or test coverage. At this time the projects ARE A WORK IN PROGRESS and will be released in the main FreeRTOS directories of the download following full review and completion of the documentation.
|
|
||||||
|
|
||||||
## Previous releases
|
## Previous releases
|
||||||
Previous releases are available for download under [releases](https://github.com/FreeRTOS/FreeRTOS/releases).
|
[Releases](https://github.com/FreeRTOS/FreeRTOS/releases) contains older FreeRTOS releases.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user