Proof of concept for NXP Sensor SDK using Open-CMSIS-Pack csolution - CMSIS Project Manager.
Demonstrates a scalable solution for sensor examples using multiple boards and shields.
Projects are using software layers with specified standard interfaces.
Examples have been taken from NXP ISSDK pack (slightly modified) and extended with CMSIS Project Manager YML files.
Directory | Description |
---|---|
examples | ISSDK examples for various sensors |
packs | NXP Packs: ISSDK and various DFPs and BSPs |
Details about the packs are described in packs/README.md.
IoT Sensing SDK (ISSDK) examples for various sensors are located in directory examples/issdk/sensors.
Projects are described with CMSIS Project Manager input files (YML format) and are using CMSIS software packs (Open-CMSIS-Pack format).
The projects consists of:
- application with middleware
- board software layer
- shield software layer
- Visual Studio Code with Arm Keil Studio Pack extension
- CMSIS-Toolbox (manged though vcpkg)
- Arm Compiler for Embedded (managed through vcpkg)
- CMSIS packs provided in this repository mapped as software packs (not published via the CMSIS-Pack index):
- ISSDK - IoT Sensing SDK
- EVK-MIMXRT1060_BSP when using NXP EVK-MIMXRT1060 board
- MIMXRT1062_DFP when using NXP EVK-MIMXRT1060 board
- FRDM-K22F_BSP when using NXP FRDM-K22F board
- MK22F51212_DFP when using NXP FRDM-K22F board
- LPCXpresso55S69_BSP when using NXP LPCXpresso55S69 board
- LPC55S69_DFP when using NXP LPCXpresso55S69 board
- LPCXpresso54114_BSP when using NXP LPCXpresso54114 board
- LPC54114_DFP when using NXP LPCXpresso54114 board
Packs are installed using
cpackget add <pack_path>/<pack_vendor>.<pack_name>.pdsc
Examples have already been configured for various targets with compatible board and shield layers.
Configuring a specific target:
- Open
<sensor_name>.csolution.yml
- Add target under
target-types:
- Specify target name
type: <target_name>
- Specify board name
board: <board_name>
or device namedevice: <device_name>
- Specify target name
- Add target under
- Detect compatible board and shield layers by running
cbuild setup <sensor_name>.csolution.yml --context-set --context <project>.<build_type>+<target_type>
- Open
<sensor_name>.cbuild-idx.yml
and examine detectedtarget-configurations
and theirBoard-Layer
andShield-Layer
variables. - Copy desired
Board-Layer
andShield-Layer
variables to<sensor_name>.csolution.yml
undertarget-types: variables:
.
-
Go to directory
examples/issdk/sensors/<sensor_name>
-
Activate environment
vcpkg-configuration.json
-
Activate solution and Build the selected context(s) using
Arm CMSIS Solution
extension within Visual Studio CodeAlternatively use the
cbuild
command line tool to create the executable for specified project, build and target typecbuild <sensor_name>.csolution.yml --packs --update-rte --context <project>.<build_type>+<target_type>