04.01.2014 Views

R8C/13 Group APPLICATION NOTE Flash Rewrite Using EW1 Mode

R8C/13 Group APPLICATION NOTE Flash Rewrite Using EW1 Mode

R8C/13 Group APPLICATION NOTE Flash Rewrite Using EW1 Mode

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>R8C</strong>/<strong>13</strong> <strong>Group</strong><br />

<strong>Flash</strong> <strong>Rewrite</strong> <strong>Using</strong> <strong>EW1</strong> <strong>Mode</strong> (Data "FFh" Search)<br />

4.1 Function Table<br />

Declaring<br />

Outline<br />

Argument<br />

Use Variable<br />

(Global)<br />

Return Value<br />

Function<br />

Description<br />

void write_address_init(void)<br />

Reset write address to default<br />

Argument Type<br />

Meaning<br />

None<br />

Variable Type<br />

Contents of Use<br />

unsigned char *write_addr<br />

Initial Setting<br />

unsigned char block_select<br />

Initial Setting<br />

Return Value Type Value Meaning<br />

None<br />

Search the empty records. Set the write address (write_addr) and block select (block_select)<br />

Declaring<br />

Outline<br />

Argument<br />

Use Variable<br />

(Global)<br />

Return Value<br />

Function<br />

Description<br />

unsigned char flash_write(unsigned char *data)<br />

Data Write Control<br />

Argument Type<br />

unsigned char *data<br />

Meaning<br />

Table Starting Address of Write Data<br />

Variable Type<br />

Contents of Use<br />

unsigned char *write_addr<br />

Reference/Setting<br />

unsigned char block_select<br />

Reference/Setting<br />

Return Value Type Value Meaning<br />

COMPLETE<br />

Completed successfully<br />

unsigned char PROGRAM_ERR Write Error (1)<br />

ERASE_ERR Erase Error (1)<br />

Update the write address (write_addr) after writing the reecord data. When the block select has no<br />

empty records, erase unused blocks and change the block select (block_select).<br />

<strong>NOTE</strong>S: 1. When write or erase error occurs, PROGRAM_ERR+ERASE_ERR is indicated.<br />

Declaring<br />

Outline<br />

Argument<br />

Use Variable<br />

(Global)<br />

Return Value<br />

Function<br />

Description<br />

unsigned char block_erase(unsigned char *ers_addr)<br />

Block Erase Process<br />

Argument Type<br />

unsigned char *ers_addr<br />

Meaning<br />

Starting Address of Erase Block<br />

Variable Type<br />

Contents of Use<br />

None<br />

Return Value Type Value Meaning<br />

unsigned char<br />

COMPLETE<br />

Completed successfully<br />

ERASE_ERR<br />

Erase Error<br />

Erase the specified block in <strong>EW1</strong> mode<br />

Declaring<br />

Outline<br />

Argument<br />

Use Variable<br />

(Global)<br />

Return Value<br />

Function<br />

Description<br />

unsigned char data_write(unsigned char *write_data)<br />

Data Write Process<br />

Argument Type<br />

unsigned char *write_data<br />

Meaning<br />

Table Starting Address of Write Data<br />

Variable Type<br />

Contents of Use<br />

unsigned char *write_addr<br />

Reference<br />

Return Value Type Value Meaning<br />

unsigned char<br />

COMPLETE<br />

Completed successfully<br />

PROGRAM_ERR Write Error<br />

Write data for one record from write address (write_addr) in <strong>EW1</strong> mode.<br />

REJ05B0444-0110Z/Rev.1.10 August 2004 Page 12 of 25

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!