- uint8_t *buf =(uint8_t *)_buf;
-
- size = MIN((kfile_off_t)size, fd->size - fd->seek_pos);
-
- LOG_INFO("Reading at pos[%lu]\n", fd->seek_pos);
-
- // Flush current buffered page (if modified).
- flash_lpc2_flush(fd);
-
- kfile_off_t *addr = (kfile_off_t *)(fd->seek_pos + flash_start_addr);
- LOG_INFO("actual addr %ld\n", (uint32_t)addr);
- memcpy(buf, addr, size);
-
- for (unsigned i = 0; i< size; i++)
- {
- if (i % 16 == 0)
- kputchar('\n');
-
- kprintf("%02x ", buf[i]);
- }
- kputchar('\n');
+ common_init(fls);
+ fls->blk.priv.vt = &flash_lpc2_buffered_vt;
+ fls->blk.priv.flags |= KB_BUFFERED | KB_PARTIAL_WRITE;
+ fls->blk.priv.buf = flash_buf;