41 #include "spifi_rom_api.h"
74 #define PROGRAM_REGIONS 2
77 #define DFU_BUFF_PROG_SIZE 2048
99 {0x00000000, 0x00000000},
100 {0x00000000, 0x00000000}
135 if ((addr & 0xFF000000) == pregions[1].region_addr) {
171 sprintf(
tempSTR,
"ERASE region: Start %p, size %p\n", (
void *) start, (
void *) size);
196 usbDebug(
"ERASE: entire device\r\n");
216 uint8_t *p8s = (uint8_t *) start, *p8d = (uint8_t *) buff;
234 sprintf(
tempSTR,
"PROG @ 0x%p, %p bytes\n", (
void *) start, (
void *) size);
239 sprintf(
tempSTR,
"PROG fail: status %x at %p, size %p\n", tmp, (
void *) start, (
void *) size);
247 sprintf(
tempSTR,
"PROG verify fail: address %p, is: %x, should be: %x\n", p8s, *p8s, *p8d);
263 sprintf(
tempSTR,
"READ @ 0x%p, %p bytes\n", (
void *) start, (
void *) size);
267 memmove(buff, (
void *) start, size);
288 if (spifi_init(&
spiobj, 3, S_RCVCLK | S_FULLCLK, 12)) {
289 usbDebug(
"SPIFLASH check: initialization failed\r\n");
300 if (pregions[0].region_addr == 0x80000000) {
307 sprintf(
tempSTR,
"SPIFLASH: device base %p with size %p bytes\r\n",
310 sprintf(
tempSTR,
"SPIFLASH: Alternate device base %p with size %p bytes\r\n",
311 (
void *) pregions[1].region_addr, (
void *) pregions[1].region_size);