CMSIS, the ARM Cortex Microcontroller Software Interface Standard, can be used to distribute software components in standard package format.
CMSIS compliant software components allow:
• Easy reuse of example applications or template code
• Combination of SW components from multiple vendors
CMSIS packages available here: https://www.keil.arm.com/packs/
NXP WiFi package available here: https://www.keil.arm.com/packs/wifi-nxp/versions/
Please find the minimal setup required to download the NXP WiFi/BT software CMSIS packs:
First, get cpackget binary from the Open CMSIS Pack toolbox binaries
Then, install the NXP WiFi and Bluetooth packages and their dependencies using below commands
cpackget add NXP::WIFI@2.0.0
cpackget add NXP::WIRELESS_WPA_SUPPLICANT@2.0.0
cpackget add NXP::EDGEFAST_BT_BLE@2.0.0
Please note that the CMSIS software packs are installed in below directory:
~/.cache/arm/packs/NXP/
Using combined WiFi+Bluetooth application on i.MXRT1060-revC board, as an example.
Prerequisite
Follow below steps to install all the required tools to get CMSIS packages and build them
. <(curl https://aka.ms/vcpkg-init.sh -L)
. ~/.vcpkg/vcpkg-init
vcpkg new --application
vcpkg add artifact arm:cmsis-toolbox
vcpkg add artifact microsoft:cmake
vcpkg add artifact microsoft:ninja
vcpkg add artifact arm:arm-none-eabi-gcc
vcpkg activate
Refer to CMSIS toolbox installation documentation
Activate required tools
. ~/.vcpkg/vcpkg-init
vcpkg activate
Install the NXP i.MXRT1060-REVC Bluetooth examples and their dependencies
cpackget add NXP::MIMXRT1060-EVKC_EDGEFAST_BLUETOOTH_Examples@1.0.0
Workaround: current NXP SW is aligned with ARM::CMSIS@5.8.0, and does not support latest ARM::CMSIS@6.0.0, so we need to use older version with below commands
cpackget rm ARM::CMSIS@6.0.0
cpackget add ARM::CMSIS@5.8.0
List the installed packages
cpackget list
Building combined WiFi+BT example application
Copy example application to local directory and provide write permissions
mkdir -p ~/test
cp -r ~/.cache/arm/packs/NXP/MIMXRT1060-EVKC_EDGEFAST_BLUETOOTH_Examples/1.0.0/boards/evkcmimxrt1060/edgefast_bluetooth_examples/wifi_cli_over_ble_wu/ ~/test/
cd ~/test/wifi_cli_over_ble_wu/ && chmod -R u+w .
Build the application
csolution convert wifi_cli_over_ble_wu.csolution.yml
cbuild wifi_cli_over_ble_wu.flexspi_nor_debug+armgcc.cprj
Convert elf to bin for flashing
cd armgcc/flexspi_nor_debug
arm-none-eabi-objcopy wifi_cli_over_ble_wu.elf -O binary wifi_cli_over_ble_wu.bin