Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


Loading

Verifying FreeRTOS port

Posted by iamnitish on January 21, 2019

With the reference of renesas v850 port, we have ported RTOS for RH850.We have tested the tick freq. by toggling the led in the task using vTaskDelay function on oscilloscope. Now we want to verify and validate our porting. Is there any test code sequence for testing? or How to verify that the other functionallity of FreeRTOS?


Verifying FreeRTOS port

Posted by rtel on January 21, 2019

I recommend the following three things.

1) Register test tasks

These fill the registers with known values, then continuously check each register still contains its expected value while a soak test is running. Each register uses a different value, and at least one of the register test tasks should yield. Run the tasks at the lowest priority. Examples:

https://sourceforge.net/p/freertos/code/HEAD/tree/trunk/FreeRTOS/Demo/CORTEXM7SAMV71XplainedAtmelStudio/FullDemo/RegTestGCC.c

https://sourceforge.net/p/freertos/code/HEAD/tree/trunk/FreeRTOS/Demo/RISC-VRV32M1VegaGCCEclipse/projects/RTOSDemori5cy/fulldemo/RegTest.S

2) Run the interrupt nesting demo: https://sourceforge.net/p/freertos/code/HEAD/tree/trunk/FreeRTOS/Demo/Common/Minimal/IntQueue.c

Which requires you to provide a port specific implementation of a few functions that set up at least two, ideally three, hardware timers with their appropriate interrupt handlers. You can copy examples from the existing code (examples here chosen at random, there are lots of examples): https://sourceforge.net/p/freertos/code/HEAD/tree/trunk/FreeRTOS/Demo/CORTEXM7SAMV71XplainedAtmelStudio/Full_Demo/IntQueueTimer.c

https://sourceforge.net/p/freertos/code/HEAD/tree/trunk/FreeRTOS/Demo/RX700RX71MRSKRenesase2studio/src/FullDemo/IntQueueTimer.c 3) Run as many examples as you can, especially the newer examples for things like task notifications, these are really test functions. Here you can copy many of the 'full demo' configurations. They start loads of examples then have a 'check' task ensure they are still functioning correctly - all the while there are the interrupt nesting tests running. Ensure that the interrupt nesting depth reaches at least 3. There are some macros you can define in the code to insert null loop delays to ensure code coverage - but generally doing all this together gives you 90+ % coverage without the delays. Example: https://sourceforge.net/p/freertos/code/HEAD/tree/trunk/FreeRTOS/Demo/RISC-VRenodeEmulatorSoftConsole/fulldemo/mainfull.c


[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]


Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS v10.2.0 is available for immediate download. MIT licensed, and including RISC-V and ARMv8-M (Cortex-M33) demos.

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


Careers

FreeRTOS and other embedded software careers at AWS.



FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Cadence Tensilica Cortes

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Mediatek

Renesas

RISC-V

SiFIve RISC-V

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner