blob: 5a91d3ba0f31c67c78025515ccc8791799c68e1f [file] [log] [blame]
#include "sw/device/tests/kelvin/hps-c-port/ml_input.h"
#include "sw/device/tests/kelvin/hps-c-port/model/inc/model.h"
#include "sw/device/tests/kelvin/hps-c-port/sw/init/kelvin.h"
constexpr int kImageLen = 240 * 320;
struct command_t {
uint32_t input_addr;
uint32_t output_addr;
uint32_t padding[1024 - 2];
};
static int8_t input_[kImageLen] __aligned__ = {0};
// .model_header is at the DMEM - 4KB
command_t command __attribute__((section(".model_header")));
static_assert(sizeof(command) == 4096);
int main(void) {
const uint8_t *image = reinterpret_cast<const uint8_t *>(command.input_addr);
int8_t *output = reinterpret_cast<int8_t *>(command.output_addr);
ml_input(kImageLen, image, input_);
model(input_, output);
flushat(output);
return 0;
}