| #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; |
| } |