Download Print this page

Renesas R8C/11 Application Note page 16

Hide thumbs Also See for R8C/11:

Advertisement

Adjusting the Frequency of the High-speed On-chip Oscillator Using a Commercial Frequency
/************************************************************************************
Name:
flash_open_ew1_mode
Parameters:
None
Returns:
None
Description:
Open Flash write mode
************************************************************************************/
void flash_open_ew1_mode(void){
/* Slow down cpu clock */
prc0 = 1;
cm06 = 1;
prc0 = 0;
/* Set flash write enable */
fmr01 = 0;
fmr01 = 1;
fmr02 = 0;
fmr02 = 1;
fmr11 = 0;
fmr11 = 1;
}
/************************************************************************************
Name:
flash_close_mode
Parameters:
None
Returns:
None
Description:
End of flash write mode
************************************************************************************/
void flash_close_ew1_mode(void){
/* Reset flash write enable */
fmr01 = 0;
}
/************************************************************************************
Name:
flash_byte_write
Parameters:
Write Address, Write Data
Returns:
flash status
Description:
Write byte data to Flash
************************************************************************************/
int flash_byte_write(unsigned char *address , unsigned char data){
unsigned char *flash_address;
unsigned char i;
unsigned int result;
/* Retry 4 times */
for ( i = 0 ; i < 4 ; ++i ){
/* Set write address */
flash_address = address;
/* Set program mode */
*flash_address = 0x40;
/* Write data */
*flash_address = data;
/* Finishing data */
while(fmr00 == 0);
/* Full status check */
result = chk_flash_status();
if( result == FLASH_OK)
/* Clear status */
*flash_address = 0x50;
}
return
result;
}
REJ05B0471-0100Z/Rev.1.00
/* CPU writing mode */
/* writing permission */
/* EW1 mode */
break;
July 2004
R8C/11, R8C/13 Group
Page 16 of 21

Advertisement

loading

This manual is also suitable for:

R8c/13