X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Favr%2Fdrv%2Fflash_avr.h;h=ecbe1b772cccda9f8e038b10b13eaa75e0e27e5f;hb=0f60d6b24cf8ec1c9bd8dca82fed6325932c5aca;hp=99abf9a1830583397d3b7e8b5b44e2468e058cc8;hpb=e863779405806aeea209a213eeb82caa8f029acc;p=bertos.git diff --git a/bertos/cpu/avr/drv/flash_avr.h b/bertos/cpu/avr/drv/flash_avr.h index 99abf9a1..ecbe1b77 100644 --- a/bertos/cpu/avr/drv/flash_avr.h +++ b/bertos/cpu/avr/drv/flash_avr.h @@ -30,75 +30,78 @@ * * --> * - * \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 KFileFlashAvr +typedef struct FlashAvr { /** - * File descriptor. - */ + * File descriptor. + */ KFile fd; /** - * Current buffered page. - */ - avr_page_t curr_page; + * Flag for checking if current page is modified. + */ + bool page_dirty; /** - * Flag for checking if current page is modified. - */ - bool page_dirty; + * Current buffered page. + */ + page_t curr_page; /** - * Temporary buffer cointaing data block to - * write on flash. - */ + * Temporary buffer cointaing data block to + * write on flash. + */ uint8_t page_buf[SPM_PAGESIZE]; +} FlashAvr; +/* \} */ - -} KFileFlashAvr; - - - -/** - * 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 KFileFlashAvr. + * WARNING! + * This function is DEPRECADED! + * use the flash module instead. */ -INLINE KFileFlashAvr * KFILEFLASHAVR(KFile *fd) +INLINE void flash_avr_init(struct FlashAvr *fd) { - ASSERT(fd->_type == KFT_FLASHAVR); - return (KFileFlashAvr *)fd; + flash_hw_init((struct Flash *)fd); } - -void flash_avr_init(struct KFileFlashAvr *fd); - - - #endif /* DRV_FLASH_AVR_H */