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. */
|
||||
@ -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
|
||||
|
@ -2,4 +2,4 @@
|
||||
Prop3=19,11
|
||||
[InternetShortcut]
|
||||
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
|
||||
* 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
|
||||
* 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
|
||||
* 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
|
||||
* 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 )
|
||||
{
|
||||
const uint32_t ulLongTime_ms = 250UL;
|
||||
@ -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 );
|
||||
}
|
||||
}
|
||||
|
@ -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. */
|
||||
@ -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
|
||||
|
@ -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
|
||||
[InternetShortcut]
|
||||
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 )
|
||||
{
|
||||
/***
|
||||
* 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
|
||||
|
@ -2,4 +2,4 @@
|
||||
Prop3=19,11
|
||||
[InternetShortcut]
|
||||
IDList=
|
||||
URL=https://www.freertos.org/mqtt_lts/
|
||||
URL=https://www.freertos.org/coremqtt
|
@ -2,4 +2,4 @@
|
||||
Prop3=19,11
|
||||
[InternetShortcut]
|
||||
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
|
||||
[InternetShortcut]
|
||||
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
|
||||
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:
|
||||
```
|
||||
@ -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.
|
||||
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
|
||||
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.
|
||||
### Kernel source code and example projects
|
||||
```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
|
||||
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.
|
||||
```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.
|
||||
|
||||
|
Reference in New Issue
Block a user