Update example cmake project path (#851)

* fix build on 64 bit platform

* moving sample cmake project to a separate root level dir

* moving sample cmake project to a separate root level dir

* updating paths for the sample cmake project

* rename example folder

* use configKERNEL_PROVIDED_STATIC_MEMORY

* update comments

* update comments

* rename folder to examples

* fix formatting
This commit is contained in:
Tony Josi 2023-10-23 14:50:41 +05:30 committed by GitHub
parent fc7aca7ff2
commit a8650b99a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 30 additions and 35 deletions

View file

@ -125,7 +125,7 @@ See the readme file in the ```./portable``` directory for more information.
- The ```./include``` directory contains the real time kernel header files. - The ```./include``` directory contains the real time kernel header files.
- The ```./sample_configuration``` directory contains a sample `FreeRTOSConfig.h` to help jumpstart a new project. - The ```./sample_configuration``` directory contains a sample `FreeRTOSConfig.h` to help jumpstart a new project.
See the [FreeRTOSConfig.h](sample_configuration/FreeRTOSConfig.h) file for instructions. See the [FreeRTOSConfig.h](examples/sample_configuration/FreeRTOSConfig.h) file for instructions.
### Code Formatting ### Code Formatting

View file

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.15)
project(example) project(example)
set(FREERTOS_KERNEL_PATH "../") set(FREERTOS_KERNEL_PATH "../../")
# Add the freertos_config for FreeRTOS-Kernel # Add the freertos_config for FreeRTOS-Kernel
add_library(freertos_config INTERFACE) add_library(freertos_config INTERFACE)
@ -13,7 +13,7 @@ target_include_directories(freertos_config
) )
# Select the heap port. values between 1-4 will pick a heap. # Select the heap port. values between 1-4 will pick a heap.
# set(FREERTOS_HEAP "4" CACHE STRING "" FORCE) set(FREERTOS_HEAP "4" CACHE STRING "" FORCE)
# Select the native compile PORT # Select the native compile PORT
set(FREERTOS_PORT "TEMPLATE" CACHE STRING "" FORCE) set(FREERTOS_PORT "TEMPLATE" CACHE STRING "" FORCE)

View file

@ -44,12 +44,6 @@
static StaticTask_t exampleTaskTCB; static StaticTask_t exampleTaskTCB;
static StackType_t exampleTaskStack[ configMINIMAL_STACK_SIZE ]; static StackType_t exampleTaskStack[ configMINIMAL_STACK_SIZE ];
static StaticTask_t xTimerTaskTCB;
static StackType_t uxTimerTaskStack[ configTIMER_TASK_STACK_DEPTH ];
static StaticTask_t xIdleTaskTCB;
static StackType_t uxIdleTaskStack[ configMINIMAL_STACK_SIZE ];
void exampleTask( void * parameters ) void exampleTask( void * parameters )
{ {
/* Unused parameters. */ /* Unused parameters. */
@ -91,21 +85,3 @@ void vApplicationStackOverflowHook( TaskHandle_t xTask,
( void ) xTask; ( void ) xTask;
( void ) pcTaskName; ( void ) pcTaskName;
} }
void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer,
StackType_t ** ppxTimerTaskStackBuffer,
uint32_t * pulTimerTaskStackSize )
{
*ppxTimerTaskTCBBuffer = &xTimerTaskTCB;
*ppxTimerTaskStackBuffer = uxTimerTaskStack;
*pulTimerTaskStackSize = configTIMER_TASK_STACK_DEPTH;
}
void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
StackType_t ** ppxIdleTaskStackBuffer,
uint32_t * pulIdleTaskStackSize )
{
*ppxIdleTaskTCBBuffer = &xIdleTaskTCB;
*ppxIdleTaskStackBuffer = uxIdleTaskStack;
*pulIdleTaskStackSize = configMINIMAL_STACK_SIZE;
}

View file

@ -118,13 +118,21 @@
* human readable name. Includes the NULL terminator. */ * human readable name. Includes the NULL terminator. */
#define configMAX_TASK_NAME_LEN 16 #define configMAX_TASK_NAME_LEN 16
/* The tick count is held in a variable of type TickType_t. Set /* Time is measured in 'ticks' - which is the number of times the tick interrupt
* configUSE_16_BIT_TICKS to 1 to make TickType_t a 16-bit type. Set * has executed since the RTOS kernel was started.
* configUSE_16_BIT_TICKS to 0 to make TickType_t either a 32 or 64-bit type * The tick count is held in a variable of type TickType_t.
* depending on the architecture. Using a 16-bit type can greatly improve *
* efficiency on 8-bit and 16-bit microcontrollers, but at the cost of limiting the * configTICK_TYPE_WIDTH_IN_BITS controls the type (and therefore bit-width) of TickType_t:
* maximum specifiable block time to 0xffff. */ *
#define configUSE_16_BIT_TICKS 0 * Defining configTICK_TYPE_WIDTH_IN_BITS as TICK_TYPE_WIDTH_16_BITS causes
* TickType_t to be defined (typedef'ed) as an unsigned 16-bit type.
*
* Defining configTICK_TYPE_WIDTH_IN_BITS as TICK_TYPE_WIDTH_32_BITS causes
* TickType_t to be defined (typedef'ed) as an unsigned 32-bit type.
*
* Defining configTICK_TYPE_WIDTH_IN_BITS as TICK_TYPE_WIDTH_64_BITS causes
* TickType_t to be defined (typedef'ed) as an unsigned 64-bit type. */
#define configTICK_TYPE_WIDTH_IN_BITS TICK_TYPE_WIDTH_64_BITS
/* Set configIDLE_SHOULD_YIELD to 1 to have the Idle task yield to an /* Set configIDLE_SHOULD_YIELD to 1 to have the Idle task yield to an
* application task if there is an Idle priority (priority 0) application task that * application task if there is an Idle priority (priority 0) application task that
@ -388,7 +396,15 @@
/* secureconfigMAX_SECURE_CONTEXTS define the maximum number of tasks that can /* secureconfigMAX_SECURE_CONTEXTS define the maximum number of tasks that can
* call into the secure side of an ARMv8-M chip. Not used by any other ports. */ * call into the secure side of an ARMv8-M chip. Not used by any other ports. */
#define secureconfigMAX_SECURE_CONTEXTS 5 #define secureconfigMAX_SECURE_CONTEXTS 5
/* Defines the kernel provided implementation of
* vApplicationGetIdleTaskMemory() and vApplicationGetTimerTaskMemory()
* to provide the memory that is used by the Idle task and Timer task respectively.
* The application can provide it's own implementation of
* vApplicationGetIdleTaskMemory() and vApplicationGetTimerTaskMemory() by
* setting configKERNEL_PROVIDED_STATIC_MEMORY to 0 or leaving it undefined. */
#define configKERNEL_PROVIDED_STATIC_MEMORY 1
/******************************************************************************/ /******************************************************************************/
/* Definitions that include or exclude functionality. *************************/ /* Definitions that include or exclude functionality. *************************/

View file

@ -38,6 +38,9 @@ typedef unsigned char UBaseType_t;
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS ) #elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS )
typedef uint32_t TickType_t; typedef uint32_t TickType_t;
#define portMAX_DELAY ( TickType_t ) 0xffffffffUL #define portMAX_DELAY ( TickType_t ) 0xffffffffUL
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_64_BITS )
typedef uint64_t TickType_t;
#define portMAX_DELAY ( TickType_t ) 0xffffffffffffffffULL
#else #else
#error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width. #error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width.
#endif #endif