18 #define cprintf(colors, fmt, args...) \
19 printf("\x1b[0;1;" colors "m" fmt , ## args)
20 #define cprintf_end(fmt, args...) \
21 printf(fmt "\x1b[0m\n" , ## args)
23 #define cprintf(colors, fmt, args...) \
25 #define cprintf_end(fmt, args...) \
26 printf(fmt "\n" , ## args)
42 sim->
fh = fopen(name,
"w+");
43 assert(sim->
fh != NULL);
44 assert(ftruncate(fileno(sim->
fh), size) == 0);
58 cprintf(
"31",
"flashsim_erase (0x%08x) * erasing sector at 0x%08x", addr, sector_start);
64 assert(fseek(sim->
fh, sector_start, SEEK_SET) == 0);
72 assert(fseek(sim->
fh, addr, SEEK_SET) == 0);
73 assert(fread(buf, 1, len, sim->
fh) == (
size_t) len);
75 cprintf(
"32",
"flashsim_read (0x%08x) = %d bytes [ ", addr, len);
76 for (
int i=0; i<len; i++) {
77 printf(
"%02x ", buf[i]);
88 cprintf(
"34",
"flashsim_program(0x%08x) + %d bytes [ ", addr, len);
89 for (
int i=0; i<len; i++) {
90 printf(
"%02x ", buf[i]);
98 uint8_t *data = malloc(len);
100 assert(fseek(sim->
fh, addr, SEEK_SET) == 0);
101 assert(fread(data, 1, len, sim->
fh) == (
size_t) len);
103 for (
int i=0; i<(int) len; i++)
106 assert(fseek(sim->
fh, addr, SEEK_SET) == 0);
107 assert(fwrite(data, 1, len, sim->
fh) == (
size_t) len);
void flashsim_program(struct flashsim *sim, int addr, const uint8_t *buf, int len)
#define cprintf(colors, fmt, args...)
void flashsim_read(struct flashsim *sim, int addr, uint8_t *buf, int len)
#define cprintf_end(fmt, args...)
void flashsim_sector_erase(struct flashsim *sim, int addr)
struct flashsim * flashsim_open(const char *name, int size, int sector_size)
static END_TEST struct flashsim * sim
void flashsim_close(struct flashsim *sim)