Skip to content

Commit

Permalink
Multiple tidy up and corrections preparing for release (FreeRTOS#390)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
RichardBarry authored Nov 9, 2020
1 parent df08294 commit 5d3b3cb
Show file tree
Hide file tree
Showing 25 changed files with 119 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand Down Expand Up @@ -107,7 +107,7 @@ static UBaseType_t ulNextRand;
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
Prop3=19,11
[InternetShortcut]
IDList=
URL=https://www.freertos.org/mqtt_lts/
URL=https://www.freertos.org/shadow/index.html
Original file line number Diff line number Diff line change
@@ -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
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
Expand Down
2 changes: 2 additions & 0 deletions FreeRTOS-Plus/Demo/Common/Demo_IP_Protocols/FTP/readme.txt
Original file line number Diff line number Diff line change
@@ -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.
Original file line number Diff line number Diff line change
@@ -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
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
Expand Down
Original file line number Diff line number Diff line change
@@ -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
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
Expand Down
2 changes: 2 additions & 0 deletions FreeRTOS-Plus/Demo/Common/Demo_IP_Protocols/HTTP/readme.txt
Original file line number Diff line number Diff line change
@@ -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.
5 changes: 5 additions & 0 deletions FreeRTOS-Plus/Demo/Common/Demo_IP_Protocols/NTP/NTPDemo.c
Original file line number Diff line number Diff line change
@@ -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
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
Expand Down
2 changes: 2 additions & 0 deletions FreeRTOS-Plus/Demo/Common/Demo_IP_Protocols/NTP/readme.txt
Original file line number Diff line number Diff line change
@@ -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 changes: 3 additions & 0 deletions FreeRTOS-Plus/Demo/Common/Demo_IP_Protocols/readme.txt
Original file line number Diff line number Diff line change
@@ -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.
Original file line number Diff line number Diff line change
Expand Up @@ -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 )
{
const uint32_t ulLongTime_ms = 250UL;
Expand Down Expand Up @@ -96,6 +101,14 @@ const unsigned long ulLongSleep = 1000UL;
taskDISABLE_INTERRUPTS();
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 );
}
}
Expand Down
4 changes: 2 additions & 2 deletions FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/Common/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand Down Expand Up @@ -107,7 +107,7 @@ static UBaseType_t ulNextRand;
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
Expand Down
Original file line number Diff line number Diff line change
@@ -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.

This file was deleted.

This file was deleted.

15 changes: 15 additions & 0 deletions FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/readme.txt
Original file line number Diff line number Diff line change
@@ -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.

Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
Prop3=19,11
[InternetShortcut]
IDList=
URL=https://www.freertos.org/mqtt_lts/
URL=https://www.freertos.org/coremqtt/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ static UBaseType_t ulNextRand;
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
Prop3=19,11
[InternetShortcut]
IDList=
URL=https://www.freertos.org/mqtt_lts/
URL=https://www.freertos.org/coremqtt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
Prop3=19,11
[InternetShortcut]
IDList=
URL=https://www.freertos.org/mqtt_lts/
URL=https://www.freertos.org/transportinterface.html
15 changes: 15 additions & 0 deletions FreeRTOS-Plus/Source/Application-Protocols/readme.txt
Original file line number Diff line number Diff line change
@@ -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

Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
Prop3=19,11
[InternetShortcut]
IDList=
URL=https://www.freertos.org/mqtt_lts/
URL=https://www.freertos.org/logging.html
14 changes: 14 additions & 0 deletions FreeRTOS-Plus/Source/Utilities/readme.txt
Original file line number Diff line number Diff line change
@@ -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.


6 changes: 0 additions & 6 deletions New - Stream and Message Buffers.url

This file was deleted.

28 changes: 12 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
## 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.

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).
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.

### 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
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:
```
Expand All @@ -26,20 +24,18 @@ git submodule update --init --recursive
```

## Repository structure
This repository contains the FreeRTOS Kernel, a number of supplementary libraries, and a comprehensive set of example applications.

### Kernel sources
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.
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.

The version of the FreeRTOS Kernel Source in use could be accessed at ```./FreeRTOS/Source``` directory.
### Kernel source code and example projects
```FreeRTOS/Source``` contains the FreeRTOS kernel source code (submoduled from https://github.com/FreeRTOS/FreeRTOS-Kernel).

A number of Demo projects can be found under ```./FreeRTOS/Demo``` directory.
```FreeRTOS/Demo``` contains pre-configured example projects that demonstrate the FreeRTOS kernel executing on different hardware platforms and using different compilers.

### Supplementary library sources
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.
### 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.

[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.
```FreeRTOS-Plus/Demo``` contains pre-configured example projects that demonstrate the FreeRTOS kernel used with the additional FreeRTOS component libraries.

## 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.

0 comments on commit 5d3b3cb

Please sign in to comment.