Renesas Renasas Single-Chip Microcomputer SH7086 Informacje Techniczne Strona 96

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj
  • Strona
    / 108
  • Spis treści
  • BOOKMARKI
  • Oceniono. / 5. Na podstawie oceny klientów
Przeglądanie stron 95
Flash Development Toolkit
Method for Using the User Program Mode (SH7086 Application)
REJ06J0071-0100 /Rev.1.00 2009.2 Page 94 of 106
• ScoBitSet
Set the library transfer destination address in the FTDAR register, set the VBR register to 0x84000000,
and set the SCO bit of the FCCS register to 1. There must be 4 or more of NOP instructions after the
SCO bit setting.
To determine whether an error occurred during a transfer, write 0xFF to the first byte of library transfer
destination address before performing a transfer and check that the address value is 0x00 after the
transfer.
/*
////////////////////////
// ScoBitSet Function //
////////////////////////
*/
BYTE ScoBitSet(void)
{
volatile BYTE i;
WORD work;
void **save_vbr;
/* Transmission error check initialization */
*((volatile BYTE *)TRANS_RAM_ADDR) = 0xFF;
FTDAR = FTDAR_VALUE;
save_vbr = (void **)get_vbr();
set_vbr((void **)0x84000000);
work = FRQCR;
FRQCR = 0x36DB;
FCCS |= 0x01; /* SCO interruption */
/* for(i=0; i < 2; i++);*/
nop();
nop();
nop();
nop();
set_vbr(save_vbr);
FRQCR = work;
/* Transmission error check */
if(0x00 == *((volatile BYTE *)TRANS_RAM_ADDR)) {
return(NORMAL); /* Transmission normal end */
}
return(ABNORMAL); /* Transmission error */
}
TRANS_RAM_ADDR and FTDAR_VALUE are defined in KDevice.h as follows:
/* SCO define */
#define TRANS_RAM_ADDR 0xFFFF9000
#define FTDAR_VALUE 0x00 /* RAMTOP+0Kb */
Przeglądanie stron 95
1 2 ... 91 92 93 94 95 96 97 98 99 100 101 ... 107 108

Komentarze do niniejszej Instrukcji

Brak uwag