#include #include #include "main.h" #define DDR_BASE 0x1FC00000 #define DDR_LENGTH 0x100 xilinx_uartlite_handle_t soc_uart; xilinx_gpio_handle_t soc_gpio; int main(int argc, char *argv[]) { printf("Running on LowRISC Ibex\r\n"); printf("System core frequency: %ld\r\n", GetCoreClock()); volatile uint32_t reg_buf = 0; __csrr("misa", reg_buf); printf("MISA: 0x%08x\r\n", reg_buf); __csrr("mhartid", reg_buf); printf("MHARTID: 0x%08x\r\n", reg_buf); uint32_t previous_tick = GetTick(); xilinx_gpio_pinmode(&soc_gpio, 1, 1); xilinx_gpio_write(&soc_gpio, 1, 0); while(1) { if(GetTick() - previous_tick >= 500) { previous_tick = GetTick(); xilinx_gpio_toggle(&soc_gpio, 1); printf("SysTick: %lu\r\n", GetTick()); uint64_t cycle = __read_mcycle(); printf("MCycle: %08lx%08lx\r\n", (uint32_t)(cycle >> 32), cycle & 0xFFFFFFFFU); } } return 0; }