X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fflash25.c;h=793fab019dc546c3c298f6d44b0dc5dd4a8d7fee;hb=8cfe12e5b95974d75b98ec964fc7edaf37919f0e;hp=9dbcc49e72cc7aa7425cc4a24d8b6cc292aa0925;hpb=30ff891643f59b2fc5effd1c7ca7fa7816138d9d;p=bertos.git diff --git a/bertos/drv/flash25.c b/bertos/drv/flash25.c index 9dbcc49e..793fab01 100644 --- a/bertos/drv/flash25.c +++ b/bertos/drv/flash25.c @@ -27,10 +27,9 @@ * the GNU General Public License. * * Copyright 2007 Develer S.r.l. (http://www.develer.com/) - * * --> * - * \brief Function library for serial Flash memory. + * \brief Function library for serial Flash memory. * * Module provide a kfile interface, that ensure an abstraction * from comunication channel and give a standard interface. @@ -55,16 +54,14 @@ #include -#if CONFIG_KERNEL -#include -#endif +#include /* cpu_relax() */ #warning FIXME:This file was change, but is untest! /** * Wait until flash memory is ready. */ -static void flash25_waitReady(KFileFlash25 *fd) +static void flash25_waitReady(Flash25 *fd) { uint8_t stat; @@ -79,17 +76,15 @@ static void flash25_waitReady(KFileFlash25 *fd) if (!(stat & RDY_BIT)) break; - #if CONFIG_KERNEL - else - proc_switch(); - #endif + + cpu_relax(); } } /** * Send a single command to serial flash memory. */ -static void flash25_sendCmd(KFileFlash25 *fd, Flash25Opcode cmd) +static void flash25_sendCmd(Flash25 *fd, Flash25Opcode cmd) { CS_ENABLE(); @@ -104,7 +99,7 @@ static void flash25_sendCmd(KFileFlash25 *fd, Flash25Opcode cmd) * try to read manufacturer id of serial memory, * then check if is equal to selected type. */ -static bool flash25_pin_init(KFileFlash25 *fd) +static bool flash25_pin_init(Flash25 *fd) { uint8_t device_id; uint8_t manufacturer; @@ -140,7 +135,7 @@ static bool flash25_pin_init(KFileFlash25 *fd) */ static KFile * flash25_reopen(struct KFile *_fd) { - KFileFlash25 *fd = KFILEFLASH25(_fd); + Flash25 *fd = FLASH25_CAST(_fd); fd->fd.seek_pos = 0; fd->fd.size = FLASH25_MEM_SIZE; @@ -176,7 +171,7 @@ static size_t flash25_read(struct KFile *_fd, void *buf, size_t size) { uint8_t *data = (uint8_t *)buf; - KFileFlash25 *fd = KFILEFLASH25(_fd); + Flash25 *fd = FLASH25_CAST(_fd); ASSERT(fd->fd.seek_pos + (kfile_size_t)size <= fd->fd.size); size = MIN((kfile_size_t)size, fd->fd.size - fd->fd.seek_pos); @@ -229,7 +224,7 @@ static size_t flash25_write(struct KFile *_fd, const void *_buf, size_t size) flash25Size_t wr_len; const uint8_t *data = (const uint8_t *) _buf; - KFileFlash25 *fd = KFILEFLASH25(_fd); + Flash25 *fd = FLASH25_CAST(_fd); ASSERT(fd->fd.seek_pos + (kfile_size_t)size <= fd->fd.size); @@ -282,7 +277,7 @@ static size_t flash25_write(struct KFile *_fd, const void *_buf, size_t size) total_write += wr_len; } - kprintf("written %u bytes\n", total_write); + kprintf("written %lu bytes\n", total_write); return total_write; } @@ -294,7 +289,7 @@ static size_t flash25_write(struct KFile *_fd, const void *_buf, size_t size) * \note A sector size is FLASH25_SECTOR_SIZE. * This operation could take a while. */ -void flash25_sectorErase(KFileFlash25 *fd, Flash25Sector sector) +void flash25_sectorErase(Flash25 *fd, Flash25Sector sector) { /* @@ -330,7 +325,7 @@ void flash25_sectorErase(KFileFlash25 *fd, Flash25Sector sector) */ flash25_waitReady(fd); - DB(kprintf("Erased sector [%d] in %d ms\n", sector, ticks_to_ms(timer_clock() - start_time))); + DB(kprintf("Erased sector [%ld] in %d ms\n", sector, ticks_to_ms(timer_clock() - start_time))); } @@ -341,7 +336,7 @@ void flash25_sectorErase(KFileFlash25 *fd, Flash25Sector sector) * * \note This operation could take a while. */ -void flash25_chipErase(KFileFlash25 *fd) +void flash25_chipErase(Flash25 *fd) { /* * Erase all chip could take a while, @@ -364,14 +359,14 @@ void flash25_chipErase(KFileFlash25 *fd) */ flash25_waitReady(fd); - DB(kprintf("Erased all memory in %d ms\n", ticks_to_ms(timer_clock() - start_time))); + DB(kprintf("Erased all memory in %ld ms\n", ticks_to_ms(timer_clock() - start_time))); } /** * Init data flash memory interface. */ -void flash25_init(KFileFlash25 *fd, KFile *ch) +void flash25_init(Flash25 *fd, KFile *ch) { ASSERT(fd);