X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Favr%2Fdrv%2Fflash_avr.h;h=ecbe1b772cccda9f8e038b10b13eaa75e0e27e5f;hb=911d2706a86d326786bfe721dcc3d63aeade7f28;hp=0897132c358809eb3c024c0c9779a739479a7345;hpb=c13bce9eb60b232b77fee6096202a4090b47e5fc;p=bertos.git diff --git a/bertos/cpu/avr/drv/flash_avr.h b/bertos/cpu/avr/drv/flash_avr.h index 0897132c..ecbe1b77 100644 --- a/bertos/cpu/avr/drv/flash_avr.h +++ b/bertos/cpu/avr/drv/flash_avr.h @@ -30,29 +30,42 @@ * * --> * - * \brief Self programming routines (interface). - * - * \version $Id$ * \author Francesco Sacchi * \author Daniele Basile + * + * \brief AVR Internal flash read/write driver. + * + * */ -#ifndef DRV_FLASH_AVR_H -#define DRV_FLASH_AVR_H +#ifndef FLASH_AT91_H +#define FLASH_AT91_H + +#include #include -#include + +#include + #include +#define FLASH_PAGE_SIZE SPM_PAGESIZE + /** * Definition of type for avr flash module. */ -typedef uint16_t avr_page_t; +typedef uint16_t page_t; +/* Forward declaration */ +struct Flash; /** * FlashAvr KFile context structure. + * DEPREACTED STRUCTURE! + * Use Flash instead + * + * \{ */ typedef struct FlashAvr { @@ -62,43 +75,33 @@ typedef struct FlashAvr KFile fd; /** - * Current buffered page. + * Flag for checking if current page is modified. */ - avr_page_t curr_page; + bool page_dirty; /** - * Flag for checking if current page is modified. + * Current buffered page. */ - bool page_dirty; + page_t curr_page; /** * Temporary buffer cointaing data block to * write on flash. */ uint8_t page_buf[SPM_PAGESIZE]; - - } FlashAvr; +/* \} */ - - -/** - * ID for FlashAvr - */ -#define KFT_FLASHAVR MAKE_ID('F', 'L', 'A', 'V') +void flash_hw_init(struct Flash *fd); /** - * Convert + ASSERT from generic KFile to FlashAvr. + * WARNING! + * This function is DEPRECADED! + * use the flash module instead. */ -INLINE FlashAvr * FLASHAVR_CAST(KFile *fd) +INLINE void flash_avr_init(struct FlashAvr *fd) { - ASSERT(fd->_type == KFT_FLASHAVR); - return (FlashAvr *)fd; + flash_hw_init((struct Flash *)fd); } - -void flash_avr_init(struct FlashAvr *fd); - - - #endif /* DRV_FLASH_AVR_H */