* Change type of usGenerateChecksum's ulAlignBits to intptr_t Not all platforms have 32-bit pointers. 8-bit machines such as avr8 have 16-bit pointers. This patch changes the type of ulAlignBits and renames it to uxAlignBits to reflect the type change. This fixes a compiler warning on machines with pointers that aren't 32-bits. Signed-off-by: Andy Bennett <andyjpb@ashurst.eu.org> * Fix usGenerateChecksum on odd-aligned buffers with non zero usSum usGenerateChecksum would generate an incorrect checksum when pucNextData was odd-aligned and usSum was non-zero. This was caused by the byte order of usSum not matching the byte order of the subsequent summing operation. Odd-aligned buffers are common on 8-bit platforms such as avr8 when using one of the FreeRTOS dynamic heap allocators. Signed-off-by: Andy Bennett <andyjpb@ashurst.eu.org> * Feedback from PR#122 https://github.com/FreeRTOS/FreeRTOS/pull/122 + Use a uintptr_t rather than an intptr_t. Changes supplied by Hein Tibosch. Signed-off-by: Andy Bennett <andyjpb@ashurst.eu.org> Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com> |
||
---|---|---|
.github | ||
FreeRTOS | ||
FreeRTOS-Plus | ||
tools | ||
.gitignore | ||
.gitmodules | ||
CONTRIBUTING.md | ||
FreeRTOS+TCP.url | ||
GitHub-FreeRTOS-Home.url | ||
LICENSE.md | ||
New - Stream and Message Buffers.url | ||
Quick_Start_Guide.url | ||
README.md | ||
SECURITY.md | ||
Upgrading to FreeRTOS V10.3.0.url | ||
Upgrading-to-FreeRTOS-9.url | ||
Upgrading-to-FreeRTOS-10.url | ||
Upgrading-to-FreeRTOS-V10.4.0.url |
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 for detailed instructions and other useful links.
Additionally, for FreeRTOS kernel feature information refer to the Developer Documentation, and API Reference.
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. Please also refer to FAQ for frequently asked questions.
Cloning this repository
This repo uses Git 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)
To clone using HTTPS:
git clone https://github.com/FreeRTOS/FreeRTOS.git --recurse-submodules
Using SSH:
git clone git@github.com:FreeRTOS/FreeRTOS.git --recurse-submodules
If you have downloaded the repo without using the --recurse-submodules
argument, you need to run:
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, and it is consumed as a submodule in this repository.
The version of the FreeRTOS Kernel Source in use could be accessed at ./FreeRTOS/Source
directory.
A number of Demo projects can be found under ./FreeRTOS/Demo
directory.
Supplementary library sources
The 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 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 are available for download under releases.