This firmware has three purposes:
- bridge m33 hardware with linux
- minimize power consumption during suspend
- allow user code to run
Power management is done in main.c
as well as lpm.c
Hardware bridge to linux is split by component:
app_srtm.c
: main linux communication driversrtm/services/*
: individual protocols for each driverapp_*.c
: hardware implementation for each driver
The custom
directory contains hooks that can be customized for specific applications.
custom/custom.c
: hooks at various points of lifecycle (boot, before/after suspend) and gpio irqcustom/cli_custom.c
: add commands for CLI (ttyrpmsg0 from linux or console)custom/app_tty_custom.c
: free form console that can be bound as ttyrpmsgX through linux DTS
This was originally based on NXP's power_mode_switch
demo as found in
https://github.com/nxp-mcuxpresso/mcux-sdk-examples
evkmimx8ulp/demo_apps/power_mode_switch
directory.