Skip to end of banner
Go to start of banner

FreeRTOS Examples for the Netx 90

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

To generate a FreeRTOS solution which is fully integrated into our components, we need to determine the current state of application development, make some preliminary considerations and then develop implementation examples.

Current State of Application Development on NetX 90

All netX 90 application examples are based on different components. A typical project contains the following components:

Preliminary Considerations on Porting

The following list describes the considerations made:

ComponentObjectives
FreeRTOS

Use the latest FreeRTOS V10.4.3

Modifications shall be documented so that we can easily upgrade to the next version

CMSISThe FreeRTOS port shall use the vendor-specific definitions
NetX peripheral driver

The netX 90 peripheral drivers shall be configured using the FreeRTOS Mutex implementation

FreeRTOS is required to trigger the timer driver's systick handler to archive compatibility between the two components

Newlib CA threadsafe implementation possibility shall be provided
CifX APIThe cifX API shall be configured using the FreeRTOS Mutex implementation

Porting Implementation

FreeRTOS

The current version of FreeRTOS can be downloaded from www.freertos.org. For porting, we need the folder <FreeRTOS/Source> and from the portable folder we need to use one of the following port/ portmacro files:

portableFPUMPU
ARM_CM3(error)

(error)

ARM_CM3_MPU(error)(tick)
ARM_CM4FP(tick)(error)
ARM_CM4_MPU(tick)(tick)

CMSIS

The vendor-specific definitions, which are required for FreeRTOS, are the following:

#define configCPU_CLOCK_HZ   ( SystemCoreClock )
#define configPRIO_BITS      __NVIC_PRIO_BITS


/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS standard names. */
#define xPortPendSVHandler   PendSV_Handler
#define vPortSVCHandler      SVC_Handler
#define xPortSysTickHandler  SysTick_Handler
  • No labels