Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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
|
|
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
|
|
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
|
|
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
|
|
It is like message handler but it does not process any
inferences. They are simply queue and never executed.
Change-Id: I131c3c779b616e82d650ff03e3723dc607de58bf
|
|
Change-Id: Ifdacc47024250e34549d45377795501c371c69f5
|
|
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
|
|
Change-Id: I19a30e3b8a8fc5c0c4db301cf98e61f0b1fb48e8
|
|
Both version_major and version_minor for the U65 hw are set to 0, so
we cannot test that they are greater than 0. So simply test that
version_status is set instead.
Change-Id: Ia2ac15a18c4865bdd3501c2645f644ca210d1ee1
|
|
Add compiler and linker options to add each symbols in its own section
so unused one can be dropped.
Also adds missing noexcept
Change-Id: I9143ae5865c4a071c6e09d14eb08ce3069b4b2db
|
|
Covering inference runs and other utility messages.
Change-Id: I95958a9e5902fde2003c870c78e0b0f2e8cd7968
|
|
Change-Id: I47705cfde2788fa74f8bbcd07100188e4690dbf2
|
|
Link core_driver as PUBLIC so the ETHOSU define is exported.
Change-Id: I8900c11cc1a17ec37b8666131079a5a49875c73f
|
|
Change-Id: I7346b6e57e2579baf44840957e67d870922a5fe8
|
|
Reduce queue capacity by one byte, else it will not be possible to
distinguish between an empty and full queue.
Change-Id: I872e1eeac31bf2ee8682c1340776d56396c00ff7
|
|
Change-Id: Iebf79869216a6f2e24b307e3c9b2273887fb3864
|
|
Fix importing indexed models, the inclusion of header files was not
working.
Change-Id: Idab7e002abc31f57acc4eda6a2f1cf2defdfd5c4
|
|
Check that getting the network succeeds before parsing the the buffer to
avoid hardfault.
Change-Id: I582412fb0e7459bf45fdb790df2d48401c1a2d0b
|
|
FreeRTOS resets the stack to the running tasks. Move the task parameters
to avoid the parameters to be overwritten.
Change-Id: Ib22b3d49451ea8c97c6faf24bafc8bf0952b38a9
|
|
Change-Id: I1dabf8f675fa47fc9096393a29810fc430e006dc
|
|
Also override new/delete operators to call in FreeRTOS malloc/free in
the freeRTOS example app.
Change-Id: I08c0780c907e5fe90ccb1679869d3f41c87c2731
|
|
Add documentation about how base addresses are used by the driver
unit tests.
Update message handler application to use TENSOR_ARENA_SIZE the
same way as the FreeRTOS application.
Add documenation about Corstone-310.
Change-Id: I08a315b95ca757ce3449cb7af104b8f1ac7f8865
|
|
If an enqueued inference is cancelled it is simply removed from the
queue. Both a cancel inference response with status done and a
inference response with status cancelled are sent back.
Also override the new operators to call in the FreeRTOS allocator
instead of malloc/free.
Change-Id: I243e678aa6b996084c9b9be1d1b00ffcecc75bc9
|
|
Change-Id: I3b58425cf502a1f5b66fc798337f0b76358790f1
|
|
Infransctrure work to being able to send back and forth requests and
responses for inference cancellations. The implementation is stubbed
to always fail in this commit.
Change-Id: Id7848930b81a3f38fe6c05323ccca2edd6b5b5bf
|
|
Changed mutex lock/unlock and semaphore take/give functions to return
an int value instead of void. In addition changed FreeRTOS and
message_handler applications (also FreeRTOS-based) to ignore failure
of xSemaphoreGive on binary semaphores, as it does not affect the
correctness of such applications.
Change-Id: I023c62dc8971488107679f6dd7a5967dec0380a8
|
|
Remove output queue and associated blocking calls. Instead write
directly in the mailbox ring buffer.
If inference queue is full do not block, instead bail out immeditely
and send back a message with rejected status.
Change-Id: Id08a39792791fe383f8c01bf28b07a293a49e9b0
|
|
Change-Id: Ic21cc7690b1533f2db849a73ac25a7976bf02d1f
|
|
Change-Id: Idcb2238895668ee4858c2e858c02c6765f4b1702
|
|
Change-Id: Iae5733efb40a8fd11e7108e93cc719f67b4f1be3
|
|
Change-Id: I2753434badec7c5af2c19a2b32e5e808131ba519
|
|
Otherwise the core_driver won't wait for the actual interrupt
signaling inference completed and exit immediately.
Change-Id: Ibb413d19701f9add4fd8c16137dbe59de5868ea9
|
|
Interrups must be enabled after the Incoming Message Handler has been
initialized, else we might loose interrupts that were enabled before
the firmware booted up.
Change-Id: I3c18c7ff4585329b54b18f7556757b2b3e8fbc35
|
|
Change-Id: I1ae0b1fa6d3c559afd10772778c16002ae93cc63
|
|
Add message for fetching meta data about built in network models.
Change-Id: I757094c20848d4cb018db68b0455297bb03be463
|
|
Support building a network model into the firmware binary. The model
can be placed by a scatter file or linker script in for example a
low lateny high bandwidth memory like SRAM.
Change-Id: Ic742abed65e20f0da4ded7adefb039389b68b767
|
|
Change-Id: Id765ba9adf9a2d134cc6cc0c04f9e6d7dada3657
|
|
Some networks have very big OFM which will completely fill the output
buffer and hide more important information. The OFM is already saved as
a file and does not need to be included in the output.
Change-Id: I4174fd799ba2f31f187d5bf2718a92a19ecee5c1
|
|
Change-Id: I3f2f6732f8850e76971fad55035d829286d90a99
|