Remove hardcoded Ethos-U driver instance
Adjust to updated Ethos-U driver
Change-Id: Ie374c29bec2baee4717634588b22f6db419ad9a3
diff --git a/applications/driver_unit_tests/command_stream.cpp b/applications/driver_unit_tests/command_stream.cpp
index e099b73..2de1ae8 100644
--- a/applications/driver_unit_tests/command_stream.cpp
+++ b/applications/driver_unit_tests/command_stream.cpp
@@ -102,7 +102,7 @@
drv(ethosu_reserve_driver()),
commandStream(_commandStream), basePointers(_basePointers), pmu(drv, _pmuEvents) {
// Disable clock gating, else the NPU PMU will be clock gated and report too few cycles
- ethosu_set_clock_and_power(&drv->dev, ETHOSU_CLOCK_Q_DISABLE, ETHOSU_POWER_Q_DISABLE);
+ ethosu_dev_set_clock_and_power(&drv->dev, ETHOSU_CLOCK_Q_DISABLE, ETHOSU_POWER_Q_DISABLE);
// Use simplified driver setup
ethosu_set_power_mode(drv, true);
@@ -115,16 +115,16 @@
int CommandStream::run(size_t repeat) {
// Base pointer array
- uint64_t baseAddress[ETHOSU_DRIVER_BASEP_INDEXES];
- size_t baseAddressSize[ETHOSU_DRIVER_BASEP_INDEXES];
- for (size_t i = 0; i < ETHOSU_DRIVER_BASEP_INDEXES; i++) {
+ uint64_t baseAddress[ETHOSU_BASEP_INDEXES];
+ size_t baseAddressSize[ETHOSU_BASEP_INDEXES];
+ for (size_t i = 0; i < ETHOSU_BASEP_INDEXES; i++) {
baseAddress[i] = reinterpret_cast<uint64_t>(basePointers[i].data);
baseAddressSize[i] = reinterpret_cast<size_t>(basePointers[i].size);
}
while (repeat-- > 0) {
int error = ethosu_invoke(
- drv, commandStream.data, commandStream.size, baseAddress, baseAddressSize, ETHOSU_DRIVER_BASEP_INDEXES);
+ drv, commandStream.data, commandStream.size, baseAddress, baseAddressSize, ETHOSU_BASEP_INDEXES);
if (error != 0) {
printf("Inference failed. error=%d\n", error);
@@ -134,7 +134,7 @@
// Wait for interrupt
while (true) {
uint16_t status;
- ethosu_get_status_mask(&drv->dev, &status);
+ ethosu_dev_get_status_mask(&drv->dev, &status);
// Return if NPU raise error status
if (status & 0xcc) {
diff --git a/applications/driver_unit_tests/command_stream.hpp b/applications/driver_unit_tests/command_stream.hpp
index 4a0b602..2004b03 100644
--- a/applications/driver_unit_tests/command_stream.hpp
+++ b/applications/driver_unit_tests/command_stream.hpp
@@ -74,7 +74,7 @@
* CommandStream
****************************************************************************/
-using BasePointers = std::array<DataPointer, ETHOSU_DRIVER_BASEP_INDEXES>;
+using BasePointers = std::array<DataPointer, ETHOSU_BASEP_INDEXES>;
class CommandStream {
public:
diff --git a/targets/corstone-300/target.cpp b/targets/corstone-300/target.cpp
index 2344995..541d4a5 100644
--- a/targets/corstone-300/target.cpp
+++ b/targets/corstone-300/target.cpp
@@ -60,7 +60,7 @@
#endif
#ifdef ETHOSU
-struct ethosu_driver *ethosu0_driver = ðosu_drv;
+struct ethosu_driver ethosu0_driver;
#endif
static uintptr_t ethosu_ta_base_addrs[ETHOSU_NPU_COUNT][ETHOSU_NPU_TA_COUNT] = {
@@ -135,7 +135,7 @@
#ifdef ETHOSU
void ethosuIrqHandler() {
- ethosu_irq_handler(ethosu0_driver);
+ ethosu_irq_handler(ðosu0_driver);
}
#endif
@@ -158,7 +158,7 @@
#ifdef ETHOSU
// Initialize Ethos-U NPU driver
- if (ethosu_init(ethosu0_driver,
+ if (ethosu_init(ðosu0_driver,
reinterpret_cast<void *>(ETHOSU_BASE_ADDRESS),
ethosu_scratch,
ETHOSU_FAST_MEMORY_SIZE,