#ifndef __S08_FLASH__ #define __S08_FLASH__ #include "MC9S08QG8.h" #define FLASH_ERASE_CMD 0x40 #define FLASH_PROGRAM_CMD 0x20 void FlashInit(void); void Flash_Cmd(unsigned int Address, unsigned char bData, unsigned char cmd); void Flash_Cmd_Burst(unsigned int Address, unsigned char size, unsigned char* DataPtr); /* Macros to call the function using the different features */ #define Flash_Erase(Address) \ Flash_Cmd((unsigned int)Address, (unsigned int)1, FLASH_ERASE_CMD) #define Flash_Program(Address, Data) \ Flash_Cmd((unsigned int)Address, (unsigned char)Data, FLASH_PROGRAM_CMD) #define Flash_Burst(Address, Size, DataPtr) \ Flash_Cmd_Burst((unsigned int)Address, (unsigned int)Size, (unsigned char*)DataPtr) #endif