aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-24Bugfix for tarmac traces being always enabled22.05-rc322.05Jonny Svärd
Change-Id: Ide11895f0ce96d48d14210253c25d2ac624cf856
2022-05-19Updating Tensorflow to 2.8.022.05-rc2Kristofer Jonsson
Change-Id: I12ac4f1bcfc7302deaa3b1074ea843e878641cce
2022-05-19Handle network indices out of rangePer Åstrand
Check that getting the network succeeds before parsing the the buffer to avoid hardfault. Change-Id: I582412fb0e7459bf45fdb790df2d48401c1a2d0b
2022-05-19Move taskparams out of main stackPer Åstrand
FreeRTOS resets the stack to the running tasks. Move the task parameters to avoid the parameters to be overwritten. Change-Id: Ib22b3d49451ea8c97c6faf24bafc8bf0952b38a9
2022-05-18Update documentation with new path of Vela INI config fileLedion Daja
Change-Id: I1dabf8f675fa47fc9096393a29810fc430e006dc
2022-05-17Silence irrelevant compiler notes about GCC ABI incompatibilitiesDavide Grohmann
There are ABI changes between GCC 6.x and 7.1 that make them incompatible, but that is not relevant here since all software is compiled with only one GCC version. Change-Id: If82f874162404bdedc9c2e93c3a8c7a6d648fde0
2022-05-12Add support for Cortex-M85Davide Grohmann
Rely on CMSIS code for initializing Cortex-M85 devices. Fallback to mcpu=cortex-m55 for gcc until support for cortex-m85 is available. Change-Id: I8b47563c3f0f44e35735a569f2abf8a308948e67
2022-05-12Update Python version in documentation22.05-rc1Kristofer Jonsson
The Python requirement has been relaxed to 3.7+. Change-Id: Ibee4a31af0b5a458163cfcd428d8ca0b8018e79e
2022-05-10Fix warning by adding missing delete operator functionsDavide Grohmann
Also override new/delete operators to call in FreeRTOS malloc/free in the freeRTOS example app. Change-Id: I08c0780c907e5fe90ccb1679869d3f41c87c2731
2022-05-09Update documentationKristofer Jonsson
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
2022-05-09Removing Corstone-PolarisKristofer Jonsson
Removing target files for Corstone-Polaris. This target has been replaced by Corstone-310. Change-Id: Iecc13648859214bcfe74fbd4bd20b547359d162a
2022-05-09Add support for cancelling enqueued inferencesDavide Grohmann
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
2022-05-06Fix: length for scatter loading should be in words not in bytesDavide Grohmann
Divide by 4 the length in bytes to get length in words as expected by the CMSIS scatter loading implementation. Change-Id: I5d239e13739a578bd61dc0b594e3453e8dcdab4d
2022-05-05Remove power handling code from driver_unit_testsJonny Svärd
Change-Id: I3b58425cf502a1f5b66fc798337f0b76358790f1
2022-05-05Initial support for inference cancellationDavide Grohmann
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
2022-05-04Change return value of mutex and semaphore handling functionsLedion Daja
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
2022-05-02Avoid blocking calls in input message handler taskDavide Grohmann
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
2022-04-27Add installation target to the message_handler applicationPer Åstrand
Change-Id: Ic21cc7690b1533f2db849a73ac25a7976bf02d1f
2022-04-26Add Corstone-310 targetKristofer Jonsson
Change-Id: Idcb2238895668ee4858c2e858c02c6765f4b1702
2022-04-21Add simple async API testing to driver_unit_testsJonny Svärd
Change-Id: Iae5733efb40a8fd11e7108e93cc719f67b4f1be3
2022-04-12Extract inference parsing in a dedicated libraryDavide Grohmann
Change-Id: I2753434badec7c5af2c19a2b32e5e808131ba519
2022-04-05Fix: threadx demo app semaphore should be initlaized to count 0Davide Grohmann
Otherwise the core_driver won't wait for the actual interrupt signaling inference completed and exit immediately. Change-Id: Ibb413d19701f9add4fd8c16137dbe59de5868ea9
2022-04-04Enable IRQs after Incoming Message HandlerKristofer Jonsson
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
2022-03-31Ensure message-handler can be compiled without EthosU supportDavide Grohmann
Change-Id: I1ae0b1fa6d3c559afd10772778c16002ae93cc63
2022-03-29Network infoKristofer Jonsson
Add message for fetching meta data about built in network models. Change-Id: I757094c20848d4cb018db68b0455297bb03be463
2022-03-11Firmware resident modelKristofer Jonsson
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
2022-03-03Update ld script for corstone-300Johan Alfvén
Make sure that BRAM data is stored with correct aligment in DDR. The BRAM data is copied from DDR by the .copy.table and if alignment is not correct the BRAM data will be corrupt. Change-Id: I0e8cd9d1ebdc9e8428ddcc9c842411ca40724740
2022-03-01Updating Tensorflow to 2.7.0 in requirements.txt22.02Kristofer Jonsson
Change-Id: I4c7ee5ff5ceb9c6ef2c5c8498bebe41b06e08290
2022-02-25Add CMake variable to pass arguments to ctest22.02-rc3Per Åstrand
This is needed in order to for example turn tarmac tracing on for the FVP running the tests. Change-Id: I6606134046c2e228d3fe06db41792e7403cd6ba8
2022-02-17Fixing compilation warnings in threadx demo appDavide Grohmann
Change-Id: Id765ba9adf9a2d134cc6cc0c04f9e6d7dada3657
2022-02-15Skip printing OFM with message_handler22.02-rc2Alexander Israelsson
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
2022-02-14README: Add section on how to specify NPU configJonny Svärd
Clarify that Python 3.8+ is a requirement Change-Id: I5fbfdc2e72e7cc75cae992ff2c9d308380838594
2022-02-11Fix compilation warningsDavide Grohmann
Change-Id: I57fed2a1b49a61822617b43a201a3125f566fd16
2022-02-10ThreadX demo app bug fix22.02-rc1Lior Dekel
Change-Id: I3f2f6732f8850e76971fad55035d829286d90a99
2022-02-08Updating baremetal modelsKristofer Jonsson
Change-Id: I18db0d2534882a75307b8af8dc572a91681b81e6
2022-02-04PMU begin and end eventsKristofer Jonsson
Restore print format for PMU output. Use begin and end events to enable the PMU cycle counter. Change-Id: Iaf2d9b78b031f34c0cde0296b4248dea38f19860
2022-02-02Replace deprecated word to comply with inclusive language guidelinesLedion Daja
Replace "master" word in the context of AXI protocol, with the recommended word "manager". Change-Id: If594db7ae96b3ad07afd156a8d788846f9bdb34d
2022-02-02Add PMU printsKristofer Jonsson
Update message handler application to output PMU counters to the log. Change-Id: Ib6002e7c0035d6736b58eed61a059553083348ce
2022-01-31PMU multi NPU supportKristofer Jonsson
Update sample applications to use an external context for the PMU configuration. The external context stored in the InferenceJob will be set as TFLu external context and will be returned in the ethosu_inference_begin() and ethosu_inference_end() callbacks. Change-Id: Ief1f0943e322c2b50e8b964017af59161f67de6b
2022-01-21Adding Corstone-Polaris targetKristofer Jonsson
Corstone-Polaris is the upcoming Corstone-3xx platform featuring the Cortex-Olympus CPU. Change-Id: I17b56b6e94f040e7f9a39dddad2e98309c82b294
2022-01-18Build system updatesKristofer Jonsson
Move finding Python after the project command. This was causing incremental CMake configurations to fail. Moving ETHOSU_TARGET_* variables after adding the common subdirectory. It is necessary to set the variables before the core driver is included. Change-Id: I1c6883061cb9247336f8b33d82d2e2de870634fa
2022-01-18Fix CMake warningsNir Ekhauz
Updating the minimum required CMake version fixes toolchain warnings for Arm Clang. Change-Id: I8f7371136739f6beb758d03cc76c2df17180f07c
2022-01-11Adapt secure/non-secure split of BRAMPer Åstrand
The size of the BRAM has changed, and thus change the split between secure and nonsecure, and the NSC region placement. Change-Id: I1f267049dbde76bdb17c800b95f36da704442042
2021-12-23PlatformNightly ThreadX bug fixLior Dekel
Increasing stack size for threads in ThreadX Change-Id: Ied7502422034a9fb1ac92aa5ebaa70b9d0bc9939
2021-12-22Timing adapter fix, init constructor priorityKristofer Jonsson
The timing adapters are attached to the Ethos-U AXI ports and should only be initialized if the platform has been built with NPU support. Add priority to init the constructor, insuring it will run before any other constructor. This is important because the init constructor sets up UART. Change-Id: I189687437b95b11f6503c7631720e7883c24ada6
2021-12-14Add mpu driver and remove interface libraryYulia Garbovich
from drivers Add mpu driver for upstreaming After removing of interface library,targets and applications will list explicitly which libraries to link Change-Id: Icfa449a2981093161f283e45b4d52ca6199371b8
2021-12-02Fixing compiler warningsKristofer Jonsson
Adjusting toolchain files which compiler warnings to enable. Fixing compiler warnings reported by Arm Clang and Arm GCC. Change-Id: I715e875904ffd7ecfe994d3093cdf066373981b1
2021-11-26Exclude ThreadX appliction21.11Kristofer Jonsson
Exclude ThreadX application if the NPU driver was not compiled into the project. Change-Id: I036443b4c2bb276152acb7ec3267580a06d2d901
2021-11-25Use CMake to find Python 3 interpreter21.11-rc3Kristofer Jonsson
The name of the Python 3 interpreter is ambiguous. 'python3' is not available on all systems and 'python' can be both a Python 2 and Python 3 interpreter. Change-Id: I4ea119c617d1746fd34ecdd118a7c25dfe17dc86
2021-11-25Exclude applications that depend on NPUKristofer Jonsson
Exclude applications that depend on the NPU, if the NPU driver library was not compiled by the project. Change-Id: I3fcb570cf155d589a9576266332ba519a11186f1