AM263Px MCU+ SDK  10.02.00
Driver Porting Layer (DPL) demo

Introduction

This example shows a simple application, which setups the CPU and the underlying RTOS or no-RTOS environment on the supported SOC.

The example does the below

  • Setup a timer with system tick of 1ms, setup MPU and cache (if available)
  • Create a RTOS task (in RTOS example)
  • Trigger a ISR and signal a semaphore from ISR to main task
  • Show usage of clock delay
  • Show usage of cache APIs
  • Show usage of heap APIs
  • Create couple of RTOS user tasks with task specific MPU regions (in FreeRTOS MPU example)

Supported Combinations

Parameter Value
CPU + OS r5fss0-0 nortos
r5fss0-0 freertos
r5fss0-0 freertos_mpu
Toolchain ti-arm-clang
Boards am263px-cc, am263px-lp
Example folder examples/kernel/dpl/dpl_demo/

Steps to Run the Example

See Also

Driver Porting Layer (DPL)

Sample Output

Shown below is a sample output when the application is run,

[DPL] Hwi post ...
[DPL] Hwi post ... DONE !!!
[DPL] Sleep for 100 msecs ...
[DPL] Sleep ... DONE (Measured time = 100000 usecs, CPU cycles = 80000055 ) !!!
[DPL] Running cache operations ...
[DPL] Running cache operations ... DONE !!!
[DPL] Heap free size = 1984 bytes
[DPL] Allocated 1023 bytes @ 0x80010440, heap free size = 896 bytes
[DPL] Free'ed 1023 bytes @ 0x80010440, heap free size = 1984 bytes
All tests have passed!

Shown below is a sample output for FreeRTOS MPU application user tasks,

[FreeRTOS MPU] Creating User mode tasks... !!!
[FreeRTOS MPU] user 1 ... start !!!
user 1 variable = 1
shared variable = 1
[FreeRTOS MPU] user 1 ... done !!!
[FreeRTOS MPU] user 2 ... start !!!
user 2 variable = 1
shared variable = 2
[FreeRTOS MPU] user 2 ... done !!!