Age | Commit message (Collapse) | Author |
|
Not all defined scatter file sections will be used by each
example application, by design. So to avoid confusion about unused
sections in the build output, add L6314W to the list of warnings
to be suppressed.
Change-Id: I97b21c3e80cc8528a5207c5e3994a862b5548f9e
Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
|
|
Override NPU driver weak function prototypes to properly free
up resources after use.
Change-Id: I4f3141d6106e5feeb1523452ca5fe2dbe66903be
Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
|
|
The rpmsg struct used in response messages is not zero initialized so
later response messages may contain old data. To resolve this, the rpmsg
struct is now zero initialized for each new message.
Change-Id: I116fa443eca7b6ec3d8817909fd3c59bd69427cb
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
To make it easier to verify the settings used for a build, additional
prints of useful cmake variables has been added to the CmakeLists.txt
file.
Change-Id: I147144ed9eea07ad2d90e5f7eaa3f665e0220c95
Signed-off-by: Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com>
|
|
There are instances of class members not being zero initialized in the
message handler. To avoid possible issues with using the class members
when they have an intermediate value, the constructors have been updated
to zero initialize all the member variables.
Change-Id: Ib539410a8f1486f8155272731f5cb7006c22ac7a
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
Change-Id: I06e8b74fc586d4affb2e5f57241d4b4ed43d003c
Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
|
|
The semaphore created in the RProc constructor is never cleaned up. To
resolve this, the destructor will now delete the semaphore.
Change-Id: Ib641a87129bacf3d7ba097c4e89aa77fa255e2f8
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
The constructor for the Rpmsg class does not zero-initialize its member
variables. This causes issues with the remoteproc library because it
thinks function pointers in the variables are set to valid functions
when they are actually just uninitialized values and using these
function pointer causes crashes and unexpected behavior.
To resolve this, the Rpmsg class constructor has been changed to
zero-initialize all its member variables.
Change-Id: Ic34fd52bc39ed3018e5f67474949f10adc8cb7a8
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
The size of the memory used for the message handler's tensor arena will
always be rounded up to the next power of two when the Linux kernel
allocates it. Therefore, to align the tensor arena size with how the
memory is allocated and be able to use the full size allocated, the
tensor arena size must now be a power of two.
Change-Id: Ib67e77d1ffeb233ad12762a56ddbc20d26c71052
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
This is needed since the variable has changed named in core_software.
Change-Id: I9ca4fbca626d4901cc60b4dbc6ef963f1b2789fd
Signed-off-by: Måns Nilsson <mans.nilsson@arm.com>
|
|
With the restructuring of the Linux kernel driver source files, some
macros and types in the rpmsg header was renamed to better namespace
their usage.
The message handler openamp application has been updated accordingly.
Change-Id: Ibfc11ced58cddd23463bb2060d658cc9b374e035
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
The source files for the Linux kernel driver has been restructured and
the common rpmsg header file has been renamed and moved to an include
folder.
The message handler openamp application has been updated accordingly to
use the new header file.
Change-Id: If1c4f5f80dbd87ee1b14103620b1183f6a3e3826
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
Change-Id: I5981f063734acb0f141eb5379d844af15756e295
Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
|
|
Change-Id: I03285b3ee554450016023b1d9cb331e10dfada2d
Signed-off-by: Måns Nilsson <mans.nilsson@arm.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Change-Id: Ibc077423156437f8236daa672aefc7eb432c90c4
Signed-off-by: Ledion Daja <ledion.daja@arm.com>
|
|
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>
|
|
Update example applications to support new core_driver inference
timeout feature.
Change-Id: Ib7283421aa8db9a3b5f1dd6d1bd44803491f0399
Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
|
|
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>
|
|
Change-Id: I058e80a1c6aec1451255104ec5f5210ab436240b
Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
|
|
Change-Id: Ie765aaa9a14d990961c22e8c6bdf33d89339a64c
Signed-off-by: Ledion Daja <ledion.daja@arm.com>
|
|
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>
|
|
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>
|
|
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
|
|
Change-Id: Ie0c57c520d591016855239a502eaf74d23b418fe
Signed-off-by: Ledion Daja <ledion.daja@arm.com>
|
|
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>
|
|
Change-Id: I034049ee8a4bb471e9b57d066e102d08a755d698
Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
|
|
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
|
|
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
|
|
Change-Id: I4fcd22bd32870244eeb1784d2f26cc43b02b48a9
|
|
Syncs better with the scatter file
Change-Id: Idd82b84897c3f20d4a696ca770084f123bd74f7c
|
|
Ethos-U core driver exports the macro
Change-Id: I373dbdaa9ec0ee24d566912fc876a4a0627e8b63
|
|
Change-Id: I47fdf29a50440c82fd9ccf111a846bf87e8a9e29
|
|
Use the ethosuDrv pointer to signal if the systick handler
should be restarted.
Change-Id: Id47b37ab773970317ab324b95706ea54d7dcc74a
|
|
Change-Id: Ic308ea6b18dec1a612a198d94de918798f6304f8
|
|
The TFLM arena size was incorrectly surrounded by sizeof(), which
caused the arena size to be allocated to only 4 bytes.
Change-Id: Iea8c76e0ce434973c9d0a7f696cfb51af49a48fd
|
|
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
|
|
Adapt to Ethos-U driver changes
Change-Id: I5a10f9166f4d9ac32a1502409e1708ea62844944
|
|
Interface libraries ethosu_core and ethosu_applications are removed.
Each application shall depend directly on the libraries they need.
Change-Id: I1721ea0fd3c79e74da5e131a60f7aa24277c99ba
|
|
Change-Id: I06c94d0503f762cf0ad2054c1ef087fefbabe69a
|
|
Change-Id: I9846dfdd0c6a87812662980488d7ffc22107a119
|
|
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
|
|
Add documentation about Event Monitor.
Change-Id: I3f06478fff0398ec37ffe97f5b7375b4b1ac9dfb
|
|
Move main function into eventmonitor/main.py.
Change-Id: I7b0f53c9c3eecf2510286459d6fdada0fb49216c
|
|
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
|
|
Change-Id: Ic2164fdf164613d268dcbe3ef6d7dffa67fbd40d
|
|
Change-Id: I41d8b6a796820dfa0fba89389ef15a8915e666f8
|