ATMEga64L ATMEL Corporation, ATMEga64L Datasheet - Page 287

no-image

ATMEga64L

Manufacturer Part Number
ATMEga64L
Description
8-bit AVR Microcontroller with 64K Bytes In-System Programmable Flash
Manufacturer
ATMEL Corporation
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATMEga64L-16AU
Manufacturer:
ROHM
Quantity:
40 000
Part Number:
ATMEga64L-8AC
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEga64L-8AI
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEga64L-8AI
Manufacturer:
ALTERA
0
Part Number:
ATMEga64L-8AI
Manufacturer:
AT
Quantity:
20 000
Part Number:
ATMEga64L-8AJ
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEga64L-8AQ
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEga64L-8AQ
Manufacturer:
AT
Quantity:
20 000
Part Number:
ATMEga64L-8AU
Manufacturer:
ATMEL
Quantity:
4 000
Part Number:
ATMEga64L-8AU
Manufacturer:
ATMEL
Quantity:
451
Part Number:
ATMEga64L-8AU
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ATMEga64L-8MI
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ATMEga64L-8MU
Quantity:
113
Part Number:
ATMEga64L-8MUR
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ATMEga64L8AJ
Manufacturer:
ATMEL
Quantity:
6 973
Programming Time for Flash
when Using SPM
Simple Assembly Code
Example for a Boot Loader
2490G–AVR–03/04
1. If there is no need for a Boot Loader update in the system, program the Boot
2. Keep the AVR RESET active (low) during periods of insufficient power supply
3. Keep the AVR core in Power-down Sleep mode during periods of low V
The calibrated RC Oscillator is used to time Flash accesses. Table 112 shows the typi-
cal programming time for Flash accesses from the CPU.
Table 112. SPM Programming Time
Symbol
Flash write (Page Erase, Page Write,
and write Lock bits by SPM)
Loader Lock bits to prevent any Boot Loader software updates.
voltage. This can be done by enabling the internal Brown-out Detector (BOD) if
the operating voltage matches the detection level. If not, an external low V
Reset Protection circuit can be used. If a reset occurs while a write operation is
in progress, the write operation will be completed provided that the power supply
voltage is sufficient.
will prevent the CPU from attempting to decode and execute instructions, effec-
tively protecting the SPMCSR Register and thus the Flash from unintentional
writes.
.equ PAGESIZEB = PAGESIZE*2
words
.org SMALLBOOTSTART
Write_page:
Wrloop:
;-the routine writes one page of data from RAM to Flash
; the first data location in RAM is pointed to by the Y pointer
; the first data location in Flash is pointed to by the Z-pointer
;-error handling is not included
;-the routine must be placed inside the boot space
; (at least the Do_spm sub routine). Only code inside NRWW section can
; be read during self-programming (Page Erase and Page Write).
;-registers used: r0, r1, temp1 (r16), temp2 (r17), looplo (r24),
; loophi (r25), spmcrval (r20)
; storing and restoring of registers is not included in the routine
; register usage can be optimized at the expense of code size
;-It is assumed that either the interrupt table is moved to the Boot
; loader section or that the interrupts are disabled.
; Page Erase
ldi
call Do_spm
; re-enable the RWW section
ldi
call Do_spm
; transfer data from RAM to Flash page buffer
ldi
ldi
ld
ld
ldi
call Do_spm
adiw ZH:ZL, 2
sbiw loophi:looplo, 2
brne Wrloop
; execute Page Write
spmcrval, (1<<PGERS) | (1<<SPMEN)
spmcrval, (1<<RWWSRE) | (1<<SPMEN)
looplo, low(PAGESIZEB)
loophi, high(PAGESIZEB) ;not required for PAGESIZEB<=256
r0, Y+
r1, Y+
spmcrval, (1<<SPMEN)
Min Programming Time
;init loop variable
;use subi for PAGESIZEB<=256
;PAGESIZEB is page size in BYTES, not
3.7 ms
ATmega64(L)
Max Programming Time
4.5 ms
CC
. This
CC
287

Related parts for ATMEga64L