DatasheetQ Logo
Electronic component search and free download site. Transistors,MosFET ,Diode,Integrated circuits

AT90USB128X Просмотр технического описания (PDF) - Atmel Corporation

Номер в каталоге
Компоненты Описание
производитель
AT90USB128X
Atmel
Atmel Corporation Atmel
AT90USB128X Datasheet PDF : 28 Pages
First Prev 11 12 13 14 15 16 17 18 19 20 Next Last
The API are located at absolute addresses in the USB bootloader firmware and accept specific
registers values as parameters. These parameters are compatible with a C compiler calling con-
vention and thus can be called directly with function pointer declared as in the example below:
C Code Example
#if (FLASH_END==0x1FFFF) //128K bytes parts
#define LAST_BOOT_ENTRY 0xFFFE
#elif (FLASH_END==0xFFFF)//64K bytes parts
#define LAST_BOOT_ENTRY 0x7FFE
#else
#error You must define FLASH_END in bytes.
#endif
// These functions pointers are used to call functions entry points in bootloader
void (*boot_flash_page_erase_and_write)(unsigned long adr)=(void (*)(unsigned
long))(LAST_BOOT_ENTRY-12);
U8 (*boot_flash_read_sig) (unsigned long adr)=(U8 (*)(unsigned
long))(LAST_BOOT_ENTRY-10);
U8 (*boot_flash_read_fuse) (unsigned long adr)=(U8 (*)(unsigned
long))(LAST_BOOT_ENTRY-8);
void (*boot_flash_fill_temp_buffer) (unsigned int data,unsigned int adr)=(void
(*)(unsigned int, unsigned int))(LAST_BOOT_ENTRY-6);
void (*boot_flash_prg_page) (unsigned long adr)=(void (*)(unsigned
long))(LAST_BOOT_ENTRY-4);
void (*boot_flash_page_erase) (unsigned long adr)=(void (*)(unsigned
long))(LAST_BOOT_ENTRY-2);
void (*boot_lock_wr_bits) (unsigned char val)=(void (*)(unsigned
char))(LAST_BOOT_ENTRY);
// This function writes 0x55AA @ 0x1200 in the on-flash calling flash drivers located
in USB bootloader
void basic_flash_access(void)
{
unsigned long address;
unsigned int temp16;
temp16=0x55AA;
address=0x12000;
(*boot_flash_fill_temp_buffer)(temp16,address);
(*boot_flash_page_erase)(address);
(*boot_flash_prg_page)(address);
}
The full assembly code for the flash API drivers is given in “Appendix-B” on page 20.
16
7618C–AVR–07/08

Share Link: 

datasheetq.com  [ Privacy Policy ]Request Datasheet ] [ Contact Us ]