36 lines
No EOL
789 B
C
36 lines
No EOL
789 B
C
#include "riscv_emu.h"
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
void loadFile(RiscvEmu *emu,char* file) {
|
|
size_t bytes = 0, readsz = MEMORY_SIZE;
|
|
FILE *fp = fopen (file, "rb");
|
|
|
|
if (!fp) {
|
|
fprintf (stderr, "error: file open failed '%s'.\n", file);
|
|
return;
|
|
}
|
|
|
|
/* read/output BUFSZ bytes at a time */
|
|
while ((bytes = fread (emu->memory, sizeof(uint8_t), readsz, fp)) == readsz) {
|
|
/* for (i = 0; i < readsz; i++)
|
|
printf (" 0x%02x", buf[i]);
|
|
putchar ('\n');*/
|
|
}
|
|
|
|
if (fp != stdin)
|
|
fclose (fp);
|
|
}
|
|
|
|
|
|
int main(void) {
|
|
RiscvEmu emu;
|
|
riscv_emu_init(&emu);
|
|
|
|
printf("Initialized Risc-v processor!\n");
|
|
printf("Loading Program...\n");
|
|
loadFile(&emu,"test2");
|
|
|
|
riscv_emulate(&emu);
|
|
return 0;
|
|
} |