aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-11Documenting startup and multi NPU21.05-rc2Kristofer Jonsson
Adding documentation and sequence diagrams for startup and multi NPU. Change-Id: I4a4a43e8bea089b6325f7d8285434017cbda25ec
2021-05-07Handle parallel buildsPer Åstrand
Change-Id: I142057dfe9429b6360fafcae4f9e1b4b8140f3d5
2021-05-05MLBEDSW-4228 Building on Windows21.05-rc1Jonas Ohlsson
Changes to facilitate building on Windows systems. Signed-off-by: Jonas Ohlsson <jonas.ohlsson@arm.com> Change-Id: Ib95bd89fe476790333bafccc3f6fa402b6569166
2021-05-04[Core Platform] Update to support removal of "_v"-functionsAnton Moberg
NPU driver interface currently have functions which have been stepped each time a compatibilty breaking changed has been introduced. Old entrypoints have been redefined with macro to use the latest version for backwards compatibility. This series of patches will remove any such functions and macro to unify the interface. Update: All driver entrypoints to support updated interface Change-Id: Ibe5fa7b2ac909eceb16a6879d4eaf9d0d7e36211
2021-05-04Output .map files for executable targetsPer Åstrand
Generate the map file for each executable target added with the helper function ethosu_add_executable. Change-Id: Ib8b26508f7c439c8cd12b90061cc42eb771d9fd5
2021-05-04Generate binaries for all executablesPer Åstrand
Add helper to generate binaries for all targets added with ethosu_add_executable in order to ease development on fpga. Change-Id: I23df4f8aa1fd2d8a1e633d337b9f09ad7fe75774
2021-05-04Add python helper for creating binaries from elfPer Åstrand
In order to ease the work with both FVP and FPGA, create a script that handles sorting out the binary creation. Change-Id: I19bc4b4d659c54b4569e6a714c7281bec4a81310
2021-05-04Update ld script for corstone-300Per Åstrand
Name memories as they are in reference manual and consolidate the ddr objects to single section to ease the creation of the binary. The program headers are also updated to use the same layout as using armclang. Change-Id: Ib98cad45d0679c0d44226c46c2398d02f771ea9f
2021-04-29Add script to simplify testing networks on modelJonathan Strandberg
The script will build the platform, optimize the network through vela, run it on the model and present relevant statistics from the run. Change-Id: I6bf7d77caa68e64c52f7b523e6b79af9271b6500
2021-04-27Add missing NS address' to S MPU config tableJonny Svärd
Note that the MPU is split between S and NS. Code running in NS (non-secure) state will not have access to S regions, however it will have access to NS regions unless the MPU_NS is configured (or other security mechanisms like SAU/IDAU limits access). The MPU for NS is not enabled or configured in this example code. Change-Id: I6b07bda25e4dbb23e8c2afdfa01d82ca5611f21a
2021-04-22Enable MPU and CPU cache for Corstone-300Jonny Svärd
- Enable CPU instruction- and data cache by default. - Add a CMake option to turn CPU cache on/off. - Add basic MPU configuration for memory areas. Make the code segment RO (NS address' are reachable from secure state, hence MPU config entries for both S and NS address of ITCM). - Target latest NPU API version Change-Id: Ie9bf2f02e5ad534375d146804fdc66b9f2f6770f Change-Id: I9def430d1e61d18e521798db4f48ed0a8c58380e
2021-04-21Fix formattingAnton Moberg
Fixed code formatting Change-Id: I12df8da14a7100706f20ffb084ca8477928d0005
2021-04-20Add support for Corstone-300 11.14.24 FVPJonny Svärd
Change-Id: Ie97250f03f9c1f7d3603ecfba370049bf12f7c90
2021-04-09Move FreeRTOS model data to separate folderAnton Moberg
Move model data used by the FreeRTOS application to separate folder to allow for changing model easier by chaning the compile definition set in CMakeLists.txt just after ethosu_add_executable_test(...) Change-Id: I81d801c52e721f8ca7ad83892f9b68e82aee8188
2021-04-09Multi NPU freertos exampleAnton Moberg
Modified freertos.cpp to the support multi NPUs API. Spawn NUM_INFERENCE_TASKS inference processing tasks (Reserves, locks, and runs inference on an available NPU driver. Usually 1 per NPU, but not required) Spawn NUM_JOB_TASKS job creating/recieving tasks (Creates NUM_JOBS_PER_TASK jobs, sends them to inference job queue, and recieves response once finished) Added: Mutex & Semaphore interfaces. Overrides weakly linked symbols in driver. Change-Id: Id187c6c9b43b988b1fdd560fdf3d57bd4b30b79c
2021-03-31Update license headersAnton Moberg
Update all license headers to the correct years. Change-Id: I18881cbceabe26066d69d8535bb3cb969cbaeba1
2021-03-26Driver unit testsKristofer Jonsson
Add driver unit tests that runs simple command streams directly on top of the NPU driver. Change-Id: I3fcce2a2bfbd458d14186b8fd13ba47174f49562
2021-03-24Use new timing adapter driver from core_softwareJonny Svärd
Add basic skeleton to initialize timing adapters. See core_software/drivers/timing_adapter/include/timing_adapter.h for description of settings and API. Change-Id: I0884f8efc5735b1a837d45e0bb7c6612d329ad58
2021-03-18Smaller networks - keyword_spotting_ds_dnn_large_clustered_int8Anton Moberg
Added: Baremetal application 'keyword_spotting_ds_dnn_large_clustered_int8' as and executable test. Run with ctest -R keyword_spotting_ds_dnn_large_clustered_int8 Model taken from ML-zoo, run through vela, and hexdumped to C header format. Change-Id: If1cee9f45bf9886eace299a378523b81beee4798
2021-03-18Smaller networks - keyword_spotting_dnn_medium_int8Anton Moberg
Added: Baremetal application 'keyword_spotting_dnn_medium_int8' as and executable test. Run with ctest -R keyword_spotting_dnn_medium_int8 Model taken from ML-zoo, run through vela, and hexdumped to C header format. Change-Id: Iba97a2c89277131605e233f0c9241581ea178755
2021-03-18Smaller networks - keyword_spotting_cnn_small_int8Anton Moberg
Added: Baremetal folder for baremetal applications Added: Baremetal application 'keyword_spotting_cnn_small_int8' as an executable test. Run with ctest -R keyword_spotting_cnn_small_int8 Model taken from ML-zoo, run through vela, and hexdumped to C header format. Change-Id: I053d88a4319cb58020027d6007e83fd519a2af6e
2021-03-10Hello world applicationKristofer Jonsson
Adding hello world application that is useful when porting the stack to a new target platform. Change-Id: I28ba96d9fac1489d73b84cb7940d05cf9860e4ed
2021-03-02Rename .bss.NoInit section to .bss.tensor_arenaJonny Svärd
Change-Id: I660cd5d2bc73eaf589598c4f0570f5e9293de28d
2021-02-25Adding CTest script21.02Kristofer Jonsson
Adding script to run CTest on the Corstone-300 FVP. The script will detect which version of the FVP that is used and pass the correct command line arguments. Updating README with instructions how to run tests, either using CTest or calling the FVP directly. Update FreeRTOS example to exit with the status of the inference. Minor adjustments are needed to the output vectors. Change-Id: I8a1a740b0dec2ce35d95e5c5d91f4b57a2c8e1fa
2021-02-24Use mobilenet_v2 for freertos test applicationPer Åstrand
Replace the CPU-only network with mobilenet_v2_1.0_224. The header files in this commit are the same as the model data in the trustzone application, see the README.md in applications/trustzone_inference for details on how to generate them from source on Arm ML-Zoo repository on github. Change-Id: I8d3cfd6313fd5d98880cf1b24511208ca12faa05
2021-02-24Use ctest for running the freertos applicationPer Åstrand
Change-Id: Iff207d9bd8f8406c645b087560212fb0aabe82f4
2021-02-24Support released versions of FVPsPer Åstrand
Change-Id: Ia2ca0593e65bdb570c53a16cf7706d876e649e18
2021-02-23Trademark informationKristofer Jonsson
Updating readme files with trademark information. Change-Id: I9e20a0163c65119fd29826bf088c5f62d1e1c3b3
2021-02-22Move queue to global memoryPer Åstrand
The FreeRTOS port resets the stack when the scheduler starts. Move the queue to global memory for it to not be overwritten. Change-Id: I98f2360a14a0f74a65353694c6e2f60d37461ecf
2021-02-22Add trustzone application examplePer Åstrand
Add example project that builds both secure and nonsecure world sides and the inference is done on the secure side. This commit includes the mpc driver as found in the upstream trustedfirmware git repository https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git (8c0a234e453b51e6606d11599d0cb15097c3da48) The model,input and output used are described in the README.md in this directory. Change-Id: Ie54904a38d54df4de2d6936f066c388ea58e396b
2021-02-15core_platform - TensorArena move21.02-rc2Anton Moberg
Moved the initialisation of the TensorArena from inference_process.cpp in core_software to application level. Change-Id: Id2f8361b19241b4251e2ce90b4f330d32734e801
2021-02-12Add hardfault handler to corstone-300 target21.02-rc1Per Åstrand
Change-Id: I59561365b61d256d3211101739dfb5c3e15488fa
2021-02-03Adapt build to using cmsis_systemPer Åstrand
The core_software handling has split cmsis_startup into cmsis_system and cmsis_startup in order to be able to controll the build of the libraries per excecutable. This change adapts to that change. Change-Id: I13286c75ba1c2298e760f9c0594ce4fec9db33dc
2021-02-02Build system refactoringKristofer Jonsson
The source tree is configured for a specific target as defined in the targets directory. The common target components are defined in targets/common. Targets for real platform should include this directory to get the default target libraries setup. Change-Id: I7fced4bfacec97432cbbd4125bd5b4cdd21122e3
2020-12-08Update to support PMU counters in inference jobBhavik Patel
Change-Id: I6e6643a483fd37e51fcc33f5c77cda62b320508d
2020-12-07Adding licence fileKristofer Jonsson
Change-Id: I7e07dd5620f8f72dc9078b40699f7897002ca134
2020-11-26Add Corstone-300 target20.11Kristofer Jonsson
Change-Id: I34e9845abdccb3363953bd70fad7c6420865291e
2020-11-19Add README.md and SECURITY.md20.11-rc2Kristofer Jonsson
Change-Id: If3ffa8ee200c4e304f655d7bdf9706bc7a27235f
2020-11-17Initial empty repositoryMagnus