aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-02-01Update tensorflow to 2.15 in requirements.txt24.02-rc124.02Jonny Svärd
Change-Id: I5981f063734acb0f141eb5379d844af15756e295 Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
2024-02-01Remove GCC workaround for Arm(R) Cortex(R)-M85 CPUMåns Nilsson
Change-Id: I03285b3ee554450016023b1d9cb331e10dfada2d Signed-off-by: Måns Nilsson <mans.nilsson@arm.com>
2024-01-24Change threadx_demo to only build for Corstone-300Mikael Olsson
The threadx_demo is only supported for the Corstone-300 target so a check for the target has been added to the CMake file Change-Id: I2778a85582625239df0b46b9b0bf3abd12c5826f Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
2024-01-22Change threadx_demo to use ThreadX lib init fileMikael Olsson
Instead of using its own low level initialization file for ThreadX, the ThreadX demo has been changed to use the one provided by the ThreadX library. The initialization file from the ThreadX library, assumes some specific symbol names are present in the linker script so the script for the Corstone-300 platform, which is the only one that currently supports the ThreadX demo, has been updated accordingly. To still be able to use the HardFault_Handler from the platform target, the handler provided by the ThreadX library is marked as a weak symbol before linking. Change-Id: I757b74bc30e295bc1f7126fc5d9330e381d7a886 Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
2024-01-16Remove cancel error for inference not in queueMikael Olsson
Currently if the inference to cancel is not found in the inference queue, the message_handler_openamp will response with an error. The inference may already be running and therefore not be in the queue anymore or the inference is already done and the response is in the mailbox queue. In either case, responding with an error when the inference is not in the queue isn't useful so the check has been removed. The Linux kernel driver knows what inferences that are inflight and will track what inferences that have been cancelled and handle it accordingly. Change-Id: I780e0e08a68e458221649bc2cecf7d665adc3c33 Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
2024-01-16Remove designated initializer usage in remoteprocMikael Olsson
Designated initializer is not part of the C++ standard until C++20 and requires a compiler extension to work in earlier versions. To ensure the message_handler_openamp can be compiled with compilers without this extension the usage has been removed. Change-Id: I97c90df6691302cc470b8538f515a1b1ceb385b9 Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
2024-01-11Add support for version 11.24 of Corstone FVPs in CTest scriptLedion Daja
Change-Id: Ibc077423156437f8236daa672aefc7eb432c90c4 Signed-off-by: Ledion Daja <ledion.daja@arm.com>
2023-12-21Change to accumulate PMU values in message handlerMikael Olsson
Currently the message_handler_openamp overwrites the PMU values in the response message each time operators are offloaded the NPU in an inference request. To instead get the total PMU values for all the times the NPU was used during the inference, the PMU values are now accumulated instead. Change-Id: I7fb8697e441b362f2f6da8a26536ba51d17c6b4c Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
2023-12-19Add app support for core_driver inference timeoutJonny Svärd
Update example applications to support new core_driver inference timeout feature. Change-Id: Ib7283421aa8db9a3b5f1dd6d1bd44803491f0399 Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
2023-12-15Update message_handler_openamp to use NPU profilerMikael Olsson
The message_handler_openamp application now uses the NPU profiler to use a common way to collect profiling data and report it. Change-Id: Ia2a860c790facc5193aca065636c58e1b5bbef22 Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
2023-11-06Update tensorflow to 2.14 in requirements.txt23.11-rc223.11-rc123.11Jonny Svärd
Change-Id: I058e80a1c6aec1451255104ec5f5210ab436240b Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
2023-10-31Add support for Corstone-310 FVP version 11.22 in CTest scriptLedion Daja
Change-Id: Ie765aaa9a14d990961c22e8c6bdf33d89339a64c Signed-off-by: Ledion Daja <ledion.daja@arm.com>
2023-09-28Remove address translation for buffer and carveoutMikael Olsson
Address translation for inference buffers and carveout areas have been removed because the Linux Kernel NPU driver now provides device addresses for them. Change-Id: I71a133ba5ecbb94aa2c225d259e75229b6dbce5b Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
2023-09-28Add resource table entry for address translationMikael Olsson
To avoid having to use a hardcoded memory map to translate between the Linux physical addresses and device addresses, a new entry type has been added to the resource table where the host can provide the memory map to use for the translation. Change-Id: I668bba3aeac27c358647c969c5504326e1c91d24 Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
2023-09-27Update supported FVP versions in CTest scriptpolved01
Add support for Corstone-300 FVP version 11.22 and remove support for version 11.15 and older Signed-off-by: Polina Vedeneva <polina.vedeneva@arm.com> Change-Id: Icebb70b9f6281116e3d5d3f4092d336951dcb53a
2023-09-25Fix minor typos and naming in commentsLedion Daja
Change-Id: Ie0c57c520d591016855239a502eaf74d23b418fe Signed-off-by: Ledion Daja <ledion.daja@arm.com>
2023-09-21Set mailbox interrupt priority in message handlerMikael Olsson
When the mailbox interrupt is triggered, the mailbox interrupt handler will invoke the remote processor mailbox callback, which in turn will use FreeRTOS's xSemaphoreGiveFromISR to wake up a task to handle the new message. Until now, the interrupt priority for the mailbox interrupt has been left at its default value but this stopped working since FreeRTOS kernel V10.6.0 because since that version, the ISR functions will only work from an interrupt with the same or lower priority than configMAX_SYSCALL_INTERRUPT_PRIORITY in the FreeRTOS configuration. Therefore, a priority is now set for the mailbox interrupt that is compatible with the FreeRTOS configuration used. Change-Id: I0186fdc9951dfa73a2692ba95530094abb0e4d4a Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
2023-07-14Update tensorflow to 2.12 in requirements.txt23.08-rc223.08-rc123.08Jonny Svärd
Change-Id: I034049ee8a4bb471e9b57d066e102d08a755d698 Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
2023-06-15Add trace resource entry in firmware's resource tableLedion Daja
Patch adds an optional trace resource entry which can be enabled via build flags. This patch also changes the resource table into a plain C struct, which allows for link time assignment of trace resource address and size. Change-Id: I6ca3260eb9b13a9bf511c95cd54c57d554c0d997
2023-05-15Explicity set Ethos-U interrupt priority23.05-rc223.05Jonny Svärd
FreeRTOS-kernel implements interrupt priority checks, make sure that 'FromISR' API calls are called from interrupts with priority lower (higher number) or equal to 'configMAX_SYSCALL_INTERRUPT_PRIORITY'. Change-Id: I152b6cf7ef649a18d171c80e7907d8c8736a3cef
2023-05-11Update required versions of Python and Tensorflow23.05-rc1Jonny Svärd
Change-Id: I4fcd22bd32870244eeb1784d2f26cc43b02b48a9
2023-05-08Remove LSTM kernel relocation for gcc buildsJonny Svärd
Syncs better with the scatter file Change-Id: Idd82b84897c3f20d4a696ca770084f123bd74f7c
2023-04-04Remove ETHOSU define from targetsJonny Svärd
Ethos-U core driver exports the macro Change-Id: I373dbdaa9ec0ee24d566912fc876a4a0627e8b63
2023-03-14Fix SEI CERT coding standard warningsLedion Daja
Change-Id: I47fdf29a50440c82fd9ccf111a846bf87e8a9e29
2023-02-16Update baremetal systick timer handling23.02-rc223.02Kristofer Jonsson
Use the ethosuDrv pointer to signal if the systick handler should be restarted. Change-Id: Id47b37ab773970317ab324b95706ea54d7dcc74a
2023-02-13Don't lock and unlock ThreadX mutex during initializationKristofer Jonsson
Change-Id: Ic308ea6b18dec1a612a198d94de918798f6304f8
2023-02-10Fix size of TFLM arenaKristofer Jonsson
The TFLM arena size was incorrectly surrounded by sizeof(), which caused the arena size to be allocated to only 4 bytes. Change-Id: Iea8c76e0ce434973c9d0a7f696cfb51af49a48fd
2023-02-08Updating message handler firmware23.02-rc1Kristofer Jonsson
The 'message handler' firmware was based on a custom interface between Linux and the firmware. Because the kernel driver has been converted into a rpmsg driver, the 'message handler' application has been updated into an OpenAMP based firmware. Change-Id: I1339180c4f53cbad42501a2827863b7b49561ff4
2023-01-25Change app examples to use counting semaphoreJonny Svärd
Adapt to Ethos-U driver changes Change-Id: I5a10f9166f4d9ac32a1502409e1708ea62844944
2022-12-15Remove ethosu_core and ethosu_applicationsKristofer Jonsson
Interface libraries ethosu_core and ethosu_applications are removed. Each application shall depend directly on the libraries they need. Change-Id: I1721ea0fd3c79e74da5e131a60f7aa24277c99ba
2022-12-14Change modelName to char array in keyword_spotting models' header filesLedion Daja
Change-Id: I06c94d0503f762cf0ad2054c1ef087fefbabe69a
2022-12-14Remove duplicate linking of message handler test apps to mhu_dummy libLedion Daja
Change-Id: I9846dfdd0c6a87812662980488d7ffc22107a119
2022-12-14Add minimal implementation of syscalls in retarget file.Ledion Daja
The nonsys specification of the newlib library, supplied with the Arm GNU toolchain provides stubbed version of several system calls, in order to allow linking with libc. Amongst such subroutines are _fstat, _getpid, _isatty ,_kill, _lseek, for which the GNU toolchain also generates a linker warning. Patch retargets these subroutines by adding a minimal implementation. Change-Id: I74db7ab77f49ce8c909eb24691b96d5e7b36692a
2022-12-12Event Monitor documentationKristofer Jonsson
Add documentation about Event Monitor. Change-Id: I3f06478fff0398ec37ffe97f5b7375b4b1ac9dfb
2022-12-05Ethos-U Monitor main functionKristofer Jonsson
Move main function into eventmonitor/main.py. Change-Id: I7b0f53c9c3eecf2510286459d6fdada0fb49216c
2022-12-05Use delta delays for baremetal applicationKristofer Jonsson
Baremetal application uses systick to poll the Ethos-U PMU block for profiling data. Instead of using a periodical timer, the timer is now reset at the end of every poll. This will reduce the risk of "systick deadlock" where the timing for handling the systick is longer than the time of the periodic tick. Change-Id: Ie812fab151b33d10bdf1cb4c5fb3e4fcbd5f1b05
2022-11-23Updating Tensorflow requirement to 2.1022.11Kristofer Jonsson
Change-Id: Ic2164fdf164613d268dcbe3ef6d7dffa67fbd40d
2022-11-16Update documentation how to build for Windows22.11-rc2Kristofer Jonsson
Change-Id: I41d8b6a796820dfa0fba89389ef15a8915e666f8
2022-11-04Update README how to contributeKristofer Jonsson
Change-Id: I6bee45982a088a1db993a524d9d75c3a95a0d851
2022-10-25Add list of files to be ignored from inclusive language scanning22.11-rc1Ledion Daja
Change-Id: I3aaae60a3fc6a270f479b837d4b10029505bce2c
2022-10-25Add support for ARMCompiler 6.19Jonny Svärd
See Release Notes for ARMCompiler 6.19 for more information about the _sys_tmpnam change. Change-Id: Icf05d4c59d7fc6aed437744edd017447450da9cd
2022-10-19Ethos-U PMU monitorKristofer Jonsson
Add Python script demonstrating how to download performance data from device. Write baremetal PMU events to Event Recorder ring buffer and increase the systick sample rate. Change-Id: Ib73c56100a8de2d7b74c455d8f80cda0b59383da
2022-10-18Configure write-through caching for Corstone-310 BRAMKristofer Jonsson
Change-Id: I5e0fc2ecbbf416ca07be6b9d65e989c1c116b219
2022-09-30Fix cmake CMAKE_SYSTEM_PROCESSOR string matchesLedion Daja
To avoid unwanted matches of regexps, example: "cortex-m3" matches string "cortex-m33", several string MATCHES have been reworked. Change-Id: Ifa7982d82a8f02154f373b1c6f058aa98c6ad3e0
2022-09-29Place code segement in BRAMKristofer Jonsson
Use .ANY1 and .ANY2 to place code with highest priority in ITCM and lower priority in BRAM. Change-Id: Ia335dabb451181bfaf26fc1a7a57cd8196a00912
2022-09-19Move LSTM kernel to BRAMKristofer Jonsson
Change-Id: Id0244bb35236d0b04732e3fddbaa472686c63483
2022-09-13Remove CMake workaround for Arm ClangLedion Daja
Previous version of CMake did not allow CMAKE_SYSTEM_PROCESSOR to contain CPU features for Arm Clang toolchain. A workaround was added to manually strip the CPU features. Recent versions of CMake have removed this limitation and instead requires the toolchain to manually add -mcpu=<CPU+features>, which means that the workaround can be removed. Change-Id: Ie7f493a0dd9771eedf23e87db7a371fae4ec9bb9
2022-09-08Add test message handler to be used for testingDavide Grohmann
It is like message handler but it does not process any inferences. They are simply queue and never executed. Change-Id: I131c3c779b616e82d650ff03e3723dc607de58bf
2022-08-25Add message_handler tests for inference cancellationDavide Grohmann
Change-Id: Ifdacc47024250e34549d45377795501c371c69f5
2022-08-25Add negative testing to message_handlerDavide Grohmann
Also restructure the scatter file to not be constrained of the artificial 512k size limit of the APP_IMAGE region. Add missing sections in DDR for both scatter file and linker script. Change-Id: I3d9bc8aeae1b1c11ab994276be64a2850cc23f8e