MCUXpresso_MIMXRT1052xxxxB/boards/evkbimxrt1050/freertos_examples/freertos_tickless
Yilin Sun 6baf4427ce
Updated to v2.15.000
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-03-18 23:15:10 +08:00
..
armgcc Updated to v2.15.000 2024-03-18 23:15:10 +08:00
FreeRTOSConfig.h Updated to v2.14.0 2023-11-30 20:55:00 +08:00
board.c Updated to v2.15.000 2024-03-18 23:15:10 +08:00
board.h Updated to v2.15.000 2024-03-18 23:15:10 +08:00
clock_config.c Updated to v2.14.0 2023-11-30 20:55:00 +08:00
clock_config.h Updated to v2.14.0 2023-11-30 20:55:00 +08:00
dcd.c Updated to v2.14.0 2023-11-30 20:55:00 +08:00
dcd.h Updated to v2.14.0 2023-11-30 20:55:00 +08:00
evkbimxrt1050_sdram_init.jlinkscript Updated to v2.14.0 2023-11-30 20:55:00 +08:00
freertos_tickless.c Updated to v2.14.0 2023-11-30 20:55:00 +08:00
freertos_tickless_v3_14.xml Updated to v2.15.000 2024-03-18 23:15:10 +08:00
fsl_tickless_gpt.c Updated to v2.14.0 2023-11-30 20:55:00 +08:00
fsl_tickless_gpt.h Updated to v2.14.0 2023-11-30 20:55:00 +08:00
pin_mux.c Updated to v2.14.0 2023-11-30 20:55:00 +08:00
pin_mux.h Updated to v2.14.0 2023-11-30 20:55:00 +08:00
readme.md Updated to v2.15.000 2024-03-18 23:15:10 +08:00

readme.md

Overview

This document explains the freertos_tickless example. It shows how the CPU enters the sleep mode and then it is woken up either by expired time delay using low power timer module or by external interrupt caused by a user defined button.

SDK version

  • Version: 2.15.000

Toolchain supported

  • IAR embedded Workbench 9.40.1
  • GCC ARM Embedded 12.2
  • Keil MDK 5.38.1
  • MCUXpresso 11.8.0

Hardware requirements

  • Mini/micro USB cable
  • EVKB-IMXRT1050 board
  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo

  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
  2. Open a serial terminal with the following settings:
    • 115200 baud rate
    • 8 data bits
    • No parity
    • One stop bit
    • No flow control
  3. Download the program to the target board.
  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

After flashing the example to the board the console will start printing the number of tick count periodically when the CPU is running. To wake up the CPU by external interrupt, press the button, that is specified at the beginning of the example (SWx where x is the number of the user defined button). When the button is pressed, the console prints out the "CPU woken up by external interrupt" message.

Example output:

Press any key to start the example Tickless Demo example Press or turn on SWx to wake up the CPU

Tick count : 0 5000 10000 CPU woken up by external interrupt 15000 20000 25000

Explanation of the example The example application prints the actual tick count number every time after the specified delay. When the vTaskDelay() is called, the CPU enters the sleep mode for that defined period of time.

While the CPU is in sleep mode and the user defined button is pressed, the CPU is woken up by the external interrupt and continues to sleep after the interrupt is handled. The period of time delay is not changed after the external interrupt occurs.