Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 5 additions & 13 deletions .github/workflows/build_MLEK_kws.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,28 +32,20 @@ jobs:
# Set permissions for the working directory to avoid permission errors
run: chmod 777 -R /__w

- name: Install custom CMSIS packs
# Install custom CMSIS packs required for the ML project
run: |
wget -P /home/arm_mlops_docker https://github.com/ARM-software/CMSIS_6/releases/download/dev%2Fv6.0.0-dev35/ARM.CMSIS.6.0.0-dev35+geb1d42a.pack -nv
su -l arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cpackget add ARM.CMSIS.6.0.0-dev35+geb1d42a.pack --agree-embedded-license"
wget -P /home/arm_mlops_docker https://github.com/ARM-software/Cortex_DFP/releases/download/dev%2Fv1.0.0-dev15/ARM.Cortex_DFP.1.0.0-dev15+gf6802e4.pack -nv
su -l arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cpackget add ARM.Cortex_DFP.1.0.0-dev15+gf6802e4.pack --agree-embedded-license"

- name: Build Model and Test for Cortex-M4 with AC6 (size) / Corstone-300 for Community Edition
- name: Build Model and Test for Cortex-M4 with AC6 (balanced) / Corstone-300 for Community Edition
run: |
if [ -z "${{ secrets.ARM_UBL_LICENSE_IDENTIFIER }}" ]; then
su - arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cbuild /__w/AVH-MLOps/AVH-MLOps/mlek-kws/MLOps.csolution.yml --packs --context +CM55_Ethos --toolchain AC6"
su - arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cbuild /__w/AVH-MLOps/AVH-MLOps/mlek-kws/MLOps.csolution.yml --packs --active CM55_Ethos --toolchain AC6"
else
su - arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cbuild /__w/AVH-MLOps/AVH-MLOps/mlek-kws/MLOps.csolution.yml --packs --context +CM4 --toolchain AC6"
su - arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cbuild /__w/AVH-MLOps/AVH-MLOps/mlek-kws/MLOps.csolution.yml --packs --active CM4 --toolchain AC6"
fi

- name: Execute Test Project on Arm Virtual Hardware FVP
run: |
if [ -z "${{ secrets.ARM_UBL_LICENSE_IDENTIFIER }}" ]; then
su - arm_mlops_docker -c "/home/arm_mlops_docker/avh-fvp-11.22.39/avh-linux-x86/bin/FVP_Corstone_SSE-300_Ethos-U55 -f /__w/AVH-MLOps/AVH-MLOps/mlek-kws/Target/CM55_Ethos/fvp_config.txt /__w/AVH-MLOps/AVH-MLOps/mlek-kws/out/ML_Test/CM55_Ethos/size/ML_Test.axf -C ethosu.num_macs=256 -Q 1 --simlimit 12"
su - arm_mlops_docker -c "/home/arm_mlops_docker/avh-fvp-11.29.27/bin/FVP_Corstone_SSE-300_Ethos-U55 -f /__w/AVH-MLOps/AVH-MLOps/mlek-kws/Target/CM55_Ethos/fvp_config.txt /__w/AVH-MLOps/AVH-MLOps/mlek-kws/out/ML_Test/CM55_Ethos/balanced/ML_Test.axf -C ethosu.num_macs=256 -Q 1 --simlimit 12"
else
su - arm_mlops_docker -c "/home/arm_mlops_docker/avh-fvp-11.22.39/avh-linux-x86/bin/FVP_MPS2_Cortex-M4 -f /__w/AVH-MLOps/AVH-MLOps/TFLmicrospeech/Target/CM4/fvp_config.txt /__w/AVH-MLOps/AVH-MLOps/mlek-kws/out/ML_Test/CM4/size/ML_Test.axf -Q 1 --simlimit 12"
su - arm_mlops_docker -c "/home/arm_mlops_docker/avh-fvp-11.29.27/bin/FVP_MPS2_Cortex-M4 -f /__w/AVH-MLOps/AVH-MLOps/TFLmicrospeech/Target/CM4/fvp_config.txt /__w/AVH-MLOps/AVH-MLOps/mlek-kws/out/ML_Test/CM4/balanced/ML_Test.axf -Q 1 --simlimit 12"
fi

- name: Get timings from Event Recorder Log
Expand Down
25 changes: 6 additions & 19 deletions .github/workflows/build_TFLmicrospeech.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,25 +32,12 @@ jobs:
# Set permissions for the working directory to avoid permission errors
run: chmod 777 -R /__w

- name: Install custom CMSIS packs
# Install custom CMSIS packs required for the ML project
run: |
wget -P /home/arm_mlops_docker https://github.com/ARM-software/CMSIS_6/releases/download/dev%2Fv6.0.0-dev35/ARM.CMSIS.6.0.0-dev35+geb1d42a.pack -nv
su -l arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cpackget add ARM.CMSIS.6.0.0-dev35+geb1d42a.pack --agree-embedded-license"
wget -P /home/arm_mlops_docker https://github.com/ARM-software/Cortex_DFP/releases/download/dev%2Fv1.0.0-dev15/ARM.Cortex_DFP.1.0.0-dev15+gf6802e4.pack -nv
su -l arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cpackget add ARM.Cortex_DFP.1.0.0-dev15+gf6802e4.pack --agree-embedded-license"

- name: Build Model for Cortex-M55 with AC6 (size)
# Build the ML model for Cortex-M55 using AC6 toolchain and size optimization
run: |
su - arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cbuild /__w/AVH-MLOps/AVH-MLOps/TFLmicrospeech/MLOps.csolution.yml --packs --context ML_Model.size+CM55 --toolchain AC6"

- name: Build Test Project for Cortex-M55 with AC6 (size)
# Build the test project for Cortex-M55 using AC6 toolchain and size optimization
- name: Build Model and Test Project for Cortex-M55 with Ethos-U55 with AC6 (balanced)
# Build the ML model for Cortex-M55 with Ethos-U55 using AC6 toolchain
run: |
su - arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cbuild /__w/AVH-MLOps/AVH-MLOps/TFLmicrospeech/MLOps.csolution.yml --packs --context ML_Test.size+CM55 --toolchain AC6"
su - arm_mlops_docker -c "/home/arm_mlops_docker/cmsis-toolbox-linux-amd64/bin/cbuild /__w/AVH-MLOps/AVH-MLOps/TFLmicrospeech/MLOps.csolution.yml --packs --active CM55_Ethos --toolchain AC6"

- name: Execute Test Project on Cortex-M55 Arm Virtual Hardware FVP
# Execute the test project on Cortex-M55 Arm Virtual Hardware FVP
- name: Execute Test Project on Cortex-M55 with Ethos-U55 Arm Virtual Hardware FVP
# Execute the test project on Cortex-M55 with Ethos-U55 Arm Virtual Hardware FVP
run: |
su - arm_mlops_docker -c "/home/arm_mlops_docker/avh-fvp-11.22.39/avh-linux-x86/bin/FVP_Corstone_SSE-300_Ethos-U55 -f /__w/AVH-MLOps/AVH-MLOps/TFLmicrospeech/Target/CM55_Ethos/fvp_config.txt /__w/AVH-MLOps/AVH-MLOps/TFLmicrospeech/out/ML_Test/CM55/size/ML_Test.axf --simlimit 12"
su - arm_mlops_docker -c "/home/arm_mlops_docker/avh-fvp-11.29.27/bin/FVP_Corstone_SSE-300_Ethos-U55 -f /__w/AVH-MLOps/AVH-MLOps/TFLmicrospeech/Target/CM55_Ethos/fvp_config.txt /__w/AVH-MLOps/AVH-MLOps/TFLmicrospeech/out/ML_Test/CM55_Ethos/balanced/ML_Test.axf --simlimit 12"
2 changes: 1 addition & 1 deletion .github/workflows/licensed_image_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:

- name: Run test command in Docker container for arm-llvm
# Test if the clang command is working in the Docker container
run: su -l arm_mlops_docker -c "/home/arm_mlops_docker/LLVMEmbeddedToolchainForArm-16.0.0-Linux-x86_64/bin/clang --target=armv7m-none-eabi --version"
run: su -l arm_mlops_docker -c "/home/arm_mlops_docker/LLVM-ET-Arm-19.1.5-Linux-x86_64/bin/clang --target=armv7m-none-eabi --version"

- name: Run test command in Docker container for GNU Compiler
# Test if the arm-none-eabi-gcc command is working in the Docker container
Expand Down
83 changes: 82 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,84 @@
# Prerequisites
*.d

.DS_Store
# Object files
*.o
*.ko
*.obj
*.elf

# Linker output
*.ilk
*.map
*.exp

# Precompiled Headers
*.gch
*.pch

# Libraries
*.lib
*.a
*.la
*.lo

# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib

# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex

# Debug files
*.dSYM/
*.su
*.idb
*.pdb

# Kernel Module Compile Results
*.mod*
*.cmd
.tmp_versions/
modules.order
Module.symvers
Mkfile.old
dkms.conf

# Clangd
.clangd

# uv2csolution generated log file
uv2csolution.log

# CMSIS Solution files and folders not to be tracked
# default directory of build artifacts
**/out
# directory containing intermediate files to be regenerated
**/tmp

# Update config files must be merged before commit
*.update@*

# cbuild output files
*.cbuild.yml
*.cbuild-idx.yml
*.cbuild-run.yml
*.cbuild-set.yml
*.cbuild-pack.yml

# .vscode JSON and debug adapter files generated by CMSIS Solution
.vscode/cmsis.json
.vscode/launch.json
.vscode/tasks.json
.vscode/settings.json
.cmd.jlink

# legacy intermediate project file
*.cprj
222 changes: 136 additions & 86 deletions AVH-MLOps-main/MLOps.csolution.yml
Original file line number Diff line number Diff line change
@@ -1,86 +1,136 @@
solution:
created-for: cmsis-toobox@2.0.0

cdefault:

packs:
- pack: ARM::Cortex_DFP@>=1.0.0-dev0
- pack: ARM::CMSIS@>=6.0.0-dev0

target-types:
- type: CM0
device: ARMCM0
variables:
- Target-Layer: ../Target/CM0/Target.clayer.yml
- type: CM0plus
device: ARMCM0P
variables:
- Target-Layer: ../Target/CM0plus/Target.clayer.yml
- type: CM3
device: ARMCM3
variables:
- Target-Layer: ../Target/CM3/Target.clayer.yml
- type: CM4
device: ARMCM4
processor:
fpu: off
variables:
- Target-Layer: ../Target/CM4/Target.clayer.yml
- type: CM4_FP
device: ARMCM4
variables:
- Target-Layer: ../Target/CM4/Target.clayer.yml
- type: CM7
device: ARMCM7
variables:
- Target-Layer: ../Target/CM7/Target.clayer.yml
- type: CM23
device: ARMCM23
processor:
trustzone: off
variables:
- Target-Layer: ../Target/CM23/Target.clayer.yml
- type: CM33
device: ARMCM33
processor:
trustzone: off
variables:
- Target-Layer: ../Target/CM33/Target.clayer.yml
- type: CM55
device: ARMCM55
processor:
trustzone: off
variables:
- Target-Layer: ../Target/CM55/Target.clayer.yml
- type: CM55_Ethos
device: ARMCM55
processor:
trustzone: off
variables:
- Target-Layer: ../Target/CM55_Ethos/Target.clayer.yml
- type: CM85
device: ARMCM85
processor:
trustzone: off
variables:
- Target-Layer: ../Target/CM85/Target.clayer.yml
- type: CM85_Ethos
device: ARMCM85
processor:
trustzone: off
variables:
- Target-Layer: ../Target/CM85_Ethos/Target.clayer.yml

build-types:
- type: balanced
optimize: balanced
debug: on
- type: size
optimize: size
debug: on
- type: speed
optimize: speed
debug: on

projects:
- project: ./Test/ML_Test.cproject.yml
solution:
created-for: cmsis-toobox@2.0.0

cdefault:

compiler: AC6

packs:
- pack: ARM::Cortex_DFP@>=1.0.0-dev0
- pack: ARM::CMSIS@>=6.0.0-dev0

target-types:
- type: CM0
device: ARMCM0
variables:
- Target-Layer: ../Target/CM0/Target.clayer.yml
target-set:
- set:
images:
- project-context: ML_Test.balanced
- type: CM0plus
device: ARMCM0P
variables:
- Target-Layer: ../Target/CM0plus/Target.clayer.yml
target-set:
- set:
images:
- project-context: ML_Test.balanced
- type: CM3
device: ARMCM3
variables:
- Target-Layer: ../Target/CM3/Target.clayer.yml
target-set:
- set:
images:
- project-context: ML_Test.balanced
- type: CM4
device: ARMCM4
processor:
fpu: off
variables:
- Target-Layer: ../Target/CM4/Target.clayer.yml
target-set:
- set:
images:
- project-context: ML_Test.balanced
- type: CM4_FP
device: ARMCM4
variables:
- Target-Layer: ../Target/CM4/Target.clayer.yml
target-set:
- set:
images:
- project-context: ML_Test.balanced
- type: CM7
device: ARMCM7
variables:
- Target-Layer: ../Target/CM7/Target.clayer.yml
target-set:
- set:
images:
- project-context: ML_Test.balanced
- type: CM23
device: ARMCM23
processor:
trustzone: off
variables:
- Target-Layer: ../Target/CM23/Target.clayer.yml
target-set:
- set:
images:
- project-context: ML_Test.balanced
- type: CM33
device: ARMCM33
processor:
trustzone: off
variables:
- Target-Layer: ../Target/CM33/Target.clayer.yml
target-set:
- set:
images:
- project-context: ML_Test.balanced
- type: CM55
device: ARMCM55
processor:
trustzone: off
variables:
- Target-Layer: ../Target/CM55/Target.clayer.yml
target-set:
- set:
images:
- project-context: ML_Test.balanced
- type: CM55_Ethos
device: ARMCM55
processor:
trustzone: off
variables:
- Target-Layer: ../Target/CM55_Ethos/Target.clayer.yml
target-set:
- set:
images:
- project-context: ML_Test.balanced
- type: CM85
device: ARMCM85
processor:
trustzone: off
variables:
- Target-Layer: ../Target/CM85/Target.clayer.yml
target-set:
- set:
images:
- project-context: ML_Test.balanced
- type: CM85_Ethos
device: ARMCM85
processor:
trustzone: off
variables:
- Target-Layer: ../Target/CM85_Ethos/Target.clayer.yml
target-set:
- set:
images:
- project-context: ML_Test.balanced

build-types:
- type: balanced
optimize: balanced
debug: on
- type: size
optimize: size
debug: on
- type: speed
optimize: speed
debug: on

projects:
- project: ./Test/ML_Test.cproject.yml
Loading