X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fdataflash.c;h=20844aa96e7b71b73bfa8b3eff92a63f308e6d96;hb=6c7d29116e4b6ba206f0c5e59674794c447623e8;hp=0171cabb8f655f81297774d3a38c8ea97056a122;hpb=7a885cd3e0ad6e5ba4038a1fc7abb4828fe865a3;p=bertos.git diff --git a/bertos/drv/dataflash.c b/bertos/drv/dataflash.c index 0171cabb..20844aa9 100644 --- a/bertos/drv/dataflash.c +++ b/bertos/drv/dataflash.c @@ -83,6 +83,14 @@ static const DataflashInfo mem_info[] = .page_cnt = 4096, .read_cmd = DFO_READ_FLASH_MEM_BYTE_D, }, + { + /* AT45DB642D */ + .density_id = 0x0F, + .page_size = 1056, + .page_bits = 11, + .page_cnt = 8192, + .read_cmd = DFO_READ_FLASH_MEM_BYTE_D, + }, /* Add other memories here */ }; @@ -340,7 +348,7 @@ static size_t dataflash_read(struct KFile *_fd, void *buf, size_t size) ASSERT(fd->fd.seek_pos + size <= fd->fd.size); - size = MIN((uint32_t)size, fd->fd.size - fd->fd.seek_pos); + size = MIN((kfile_size_t)size, fd->fd.size - fd->fd.seek_pos); kprintf("Reading at pos[%lu]\n", fd->fd.seek_pos); @@ -391,7 +399,7 @@ static size_t dataflash_write(struct KFile *_fd, const void *_buf, size_t size) const uint8_t *data = (const uint8_t *) _buf; ASSERT(fd->fd.seek_pos + size <= fd->fd.size); - size = MIN((uint32_t)size, fd->fd.size - fd->fd.seek_pos); + size = MIN((kfile_size_t)size, fd->fd.size - fd->fd.seek_pos); kprintf("Writing at pos[%lu]\n", fd->fd.seek_pos); @@ -404,7 +412,7 @@ static size_t dataflash_write(struct KFile *_fd, const void *_buf, size_t size) offset = fd->fd.seek_pos % mem_info[fd->dev].page_size; - size_t wr_len = MIN(size, mem_info[fd->dev].page_size - offset); + size_t wr_len = MIN((dataflash_size_t)size, mem_info[fd->dev].page_size - offset); kprintf(" [page-<%ld>, byte-<%ld>]",new_page, offset);