ÿþA V R 1 0 9 : S e l f - p r o g r a m m i n g
p a g e a t a t i m e . W h e n e r a s i n g t h e p r o -
F e a t u r e s
8 - b i t
g r a m m e m o r y , t h e Z r e g i s t e r i s u s e d a s
" A V R 1 0 9 C o d e F i t s i n A l l A V R ®
p a g e a d d r e s s . W h e n w r i t i n g t h e p r o g r a m
M i c r o c o n t r o l l e r s w i t h B o o t B l o c k
R I S C
m e m o r y , t h e Z r e g i s t e r i s u s e d a s p a g e
" R e a d a n d W r i t e B o t h F l a s h a n d
o r w o r d a d d r e s s , a n d t h e r 1 : r 0 r e g i s t e r
E E P R O M M e m o r i e s
M i c r o c o n t r o l l e r
" U s e s t h e A V R P r o g P r o t o c o l p a i r c o n t a i n s t h e d a t a . W h e n s e t t i n g t h e
" R e a d a n d W r i t e L o c k B i t s
B o o t L o a d e r l o c k b i t s , t h e r 1 : r 0 r e g i s t e r
p a i r c o n t a i n s t h e d a t a . F o r a m o r e
i n - d e p t h d e s c r i p t i o n o n h o w t h i s i s d o n e ,
A p p l i c a t i o n
I n t r o d u c t i o n
p l e a s e r e f e r t o t h e d e v i c e d a t a s h e e t ,
T h i s a p p l i c a t i o n n o t e d e s c r i b e s h o w a n w h e r e a d e t a i l e d d e s c r i p t i o n o f S P M
N o t e
A V R w i t h t h e S P M i n s t r u c t i o n c a n b e u s a g e i s p r e s e n t e d . T h e S P M i n s t r u c t i o n
c o n f i g u r e d f o r s e l f - p r o g r a m m i n g . T h e c a n a c c e s s t h e e n t i r e F l a s h , b u t c a n o n l y
A V R c o m m u n i c a t e s v i a t h e U A R T w i t h b e e x e c u t e d f r o m t h e b o o t s e c t i o n .
a P C r u n n i n g A V R p r o g p r o g r a m m i n g
s o f t w a r e . T h i s e n a b l e s F L A S H a n d
M e m o r y O r g a n i z a t i o n
E E P R O M p r o g r a m m i n g w i t h o u t t h e n e e d
f o r a n e x t e r n a l p r o g r a m m e r .
T h e m e m o r y i s d i v i d e d i n t o p a g e s o f 6 4
w o r d s e a c h . A n 8 - K b i t d e v i c e h a s 6 4
A B o o t L o a d p r o g r a m i s p l a c e d i n s i d e
p a g e s , a 1 6 - K b i t d e v i c e w i l l h a v e 1 2 8
t h e B o o t S e c t i o n o f t h e F l a s h m e m o r y .
p a g e s , a n d s o o n .
T h i s p r o g r a m h a n d l e s c o m m u n i c a t i o n
w i t h t h e h o s t P C , a n d f a c i l i t a t e s p r o -
F i g u r e 1 . M e m o r y S e c t i o n s
g r a m m i n g o f b o t h F l a s h a n d E E P R O M .
O n c e p r o g r a m m e d , d i f f e r e n t l e v e l s o f
P r o g r a m M e m o r y
p r o t e c t i o n c a n b e u s e d t o p r o t e c t t h e
m e m o r i e s . T h e A V R o f f e r s a u n i q u e
f l e x i b i l i t y , s e t t i n g d i f f e r e n t l e v e l s o f p r o -
t e c t i o n o n t h e B o o t a n d A p p l i c a t i o n
A p p l i c a t i o n F l a s h S e c t i o n
a r e a s o f t h e F l a s h m e m o r y . I n d i v i d u a l
p r o t e c t i o n l e v e l s c a n b e s e l e c t e d f o r b o t h
p o r t i o n s o f m e m o r y .
S P M E x p l a i n e d
S P M c a n b e u s e d t o e r a s e a p a g e i n p r o -
g r a m m e m o r y , t o w r i t e a p a g e i n
p r o g r a m m e m o r y t h a t h a s a l r e a d y b e e n
e r a s e d , f i l l i n g t h e t e m p o r a r y p a g e b u f f e r
B o o t F l a s h S e c t i o n
a n d t o s e t B o o t L o a d e r l o c k b i t s . I n o t h e r
d e v i c e s , a n e n t i r e p a g e i s p r o g r a m m e d
s i m u l t a n e o u s l y a f t e r f i r s t f i l l i n g t h e t e m - A V R m i c r o c o n t r o l l e r s w i t h t h e s e l f -
p o r a r y p a g e b u f f e r . I n a l l c a s e s , t h e p r o g r a m m i n g f e a t u r e h a v e t h e i r m e m o r y
p r o g r a m m e m o r y m u s t b e e r a s e d o n e o r g a n i z e d i n t w o m a i n s e c t i o n s ; t h e
R e v . 1 6 4 4 A 0 3 / 0 0
1
A p p l i c a t i o n F l a s h s e c t i o n a n d t h e B o o t L o a d e r F l a s h s e c - p r o t e c t t h e B o o t L o a d e r s o f t w a r e f r o m u n i n t e n t i o n a l s o f t -
t i o n . T h e s i z e o f t h e s e t w o s e c t i o n s i s d e v i c e d e p e n d e n t w a r e c h a n g e s .
a n d f o r m o s t d e v i c e s , s c a l a b l e . I n t h i s c a s e , t h e B o o t
T h e s e l f - p r o g r a m m i n g f e a t u r e o p e n s f o r t h e p o s s i b i l i t y f o r a
L o a d e r s i z e c a n b e c h a n g e d t h r o u g h t h e B O O T S Z f u s e s .
u s e r t o u p l o a d c o d e i n a n a t t e m p t t o r e a d o u t t h e c o n t e n t s
T h i s f e a t u r e a l l o w s f o r u t i l i z i n g t h e m e m o r y w h e r e i t i s
o f t h e B o o t L o a d e r i t s e l f . T o p r e v e n t t h i s , n o i n t e r r u p t s a r e
n e e d e d . A p p l i c a t i o n s r e q u i r i n g a s i m p l e B o o t L o a d e r c a n
a v a i l a b l e w h i l e e x e c u t i n g i n s t r u c t i o n s i n t h e B o o t S e c t i o n i f
a l l o c a t e m o r e F l a s h t o t h e A p p l i c a t i o n s e c t i o n .
L P M R e a d i s d i s a b l e d f o r t h i s s e c t i o n . S p e c i a l c a r e s h o u l d
b e t a k e n w h e n s e t t i n g t h e l o c k b i t s t o e l i m i n a t e t h e p o s s i b i l -
i t y o f h o s t i l e a t t a c k s o n t h e B o o t o r A p p l i c a t i o n s e c t i o n
S e c u r i t y I s s u e s
c o d e .
W r i t i n g t o t h e F l a s h m e m o r y i s o n l y a l l o w e d i n a l i m i t e d
S P M e n a b l e t i m e w i n d o w . T o p r e v e n t a c c i d e n t a l w r i t i n g t o
P r o t o c o l
t h e F l a s h m e m o r y , a l l w r i t e o p e r a t i o n s m u s t b e e x e c u t e d
w i t h t h e S P M E N I / O b i t s e t . T h i s b i t e n a b l e s t h e S P M
T h e B o o t L o a d e r s o f t w a r e p r e s e n t e d i n t h i s a p p l i c a t i o n
i n s t r u c t i o n f o r t h e n e x t f o u r c y c l e s . I f s e t t o g e t h e r w i t h
n o t e u s e s A V R p r o g ( a v a i l a b l e f r e e f r o m w w w . a t m e l . c o m )
e i t h e r B L B S E T , P G W R T o r P G E R S , t h e f o l l o w i n g S P M
a s t h e u s e r i n t e r f a c e . T h e p r o t o c o l u s e d b y t h e B o o t L o a d e r
i n s t r u c t i o n w i l l r e s u l t i n s e t t i n g B o o t L o c k b i t s , d o i n g a P a g e
p r o g r a m i s t h e p r o t o c o l d e f i n e d f o r A V R p r o g . T h e B o o t
W r i t e o r P a g e E r a s e , r e s p e c t i v e l y . I f o n l y S P M E N i s s e t ,
L o a d e r s o f t w a r e d o e s n o t s u p p o r t t h e c o m p l e t e c o m m a n d
t h e f o l l o w i n g S P M i n s t r u c t i o n w i l l s t o r e t h e v a l u e i n r 1 : r 0 i n
s e t . A l i s t o f s u p p o r t e d c o m m a n d s a r e s h o w n i n T a b l e 1 . A l l
t h e t e m p o r a r y p a g e b u f f e r a d d r e s s e d b y t h e Z p o i n t e r .
c o m m a n d s s t a r t w i t h a s i n g l e l e t t e r . T h e p r o g r a m m e r
T h e B o o t L o c k B i t s a l l o w t h e u s e r : r e t u r n s 1 3 d ( c a r r i a g e r e t u r n ) o r t h e r e q u e s t e d d a t a a f t e r t h e
" T o p r o t e c t t h e e n t i r e F l a s h f r o m a s o f t w a r e u p d a t e b y t h e c o m m a n d i s f i n i s h e d . U n k n o w n c o m m a n d s a r e r e p l i e d w i t h
M C U a ? .
" T o p r o t e c t t h e B o o t L o a d e r F l a s h s e c t i o n f r o m a s o f t w a r e
T a b l e 1 . A V R P r o g C o m m a n d s
u p d a t e b y t h e M C U w h i l e t h e a p p l i c a t i o n s e c t i o n i s
m o d i f i e d
H o s t W r i t e s H o s t R e a d s
" T o o n l y p r o t e c t a p p l i c a t i o n F l a s h s e c t i o n f r o m a s o f t w a r e
I D D a t a D a t a
u p d a t e b y t h e M C U
E n t e r P r o g r a m m i n g M o d e P 1 3 d
" T o a l l o w s o f t w a r e u p d a t e i n t h e e n t i r e F l a s h
A u t o I n c r e m e n t A d d r e s s a d d
" T o p r e v e n t L P M i n s t r u c t i o n s e x e c u t e d i n A p p l i c a t i o n
S e t A d d r e s s A a h a l 1 3 d
S e c t i o n t o r e a d f r o m t h e b o o t s e c t i o n
W r i t e P r o g r a m M e m o r y , L o w B y t e c d d 1 3 d
" T o p r e v e n t L P M i n s t r u c t i o n s e x e c u t e d i n A p p l i c a t i o n
S e c t i o n t o r e a d f r o m t h e a p p l i c a t i o n s e c t i o n
W r i t e P r o g r a m M e m o r y , H i g h B y t e C d d 1 3 d
" T o p r e v e n t L P M i n s t r u c t i o n s e x e c u t e d i n t h e b o o t s e c t i o n
I s s u e P a g e W r i t e m 1 3 d
t o r e a d f r o m t h e a p p l i c a t i o n s e c t i o n
R e a d L o c k B i t s r d d
" T o p r e v e n t L P M i n s t r u c t i o n s e x e c u t e d i n t h e b o o t s e c t i o n
d d
t o r e a d f r o m t h e b o o t s e c t i o n
R e a d P r o g r a m M e m o r y R
( d d )
A m o r e d e t a i l e d d e s c r i p t i o n o f t h e B L B 0 x a n d B L B 1 x b i t s
R e a d D a t a M e m o r y d d d
c a n b e f o u n d i n t h e M e m o r y P r o g r a m m i n g s e c t i o n o f t h e
d e v i c e d a t a s h e e t .
W r i t e D a t a M e m o r y D d d 1 3 d
T h e p r o g r a m c o d e w i t h i n t h e B o o t L o a d e r s e c t i o n h a s t h e
C h i p E r a s e e 1 3 d
c a p a b i l i t y t o r e a d f r o m a n d w r i t e t o t h e e n t i r e F l a s h , i n c l u d -
W r i t e L o c k B i t s l d d 1 3 d
i n g t h e F l a s h B o o t s e c t i o n . T h e B o o t L o a d e r c a n t h u s
W r i t e F u s e B i t s f d d 1 3 d
m o d i f y i t s e l f , a n d i t c a n a l s o e r a s e i t s e l f f r o m t h e c o d e i f t h e
f e a t u r e i s n o t n e e d e d a n y m o r e . S p e c i a l c a r e m u s t b e t a k e n
R e a d F u s e B i t s F d d
i f t h e u s e r a l l o w s t h e B o o t L o a d e r s e c t i o n t o b e u p d a t e d b y
R e a d H i g h F u s e B i t s N d d
l e a v i n g B o o t L o c k b i t 1 1 u n p r o g r a m m e d . A n a c c i d e n t a l
L e a v e P r o g r a m m i n g M o d e L 1 3 d
w r i t e t o t h e B o o t L o a d e r i t s e l f c a n c o r r u p t t h e e n t i r e B o o t
L o a d e r , s o f u r t h e r s o f t w a r e u p d a t e s m i g h t b e i m p o s s i b l e . I f
S e l e c t D e v i c e T y p e T d d 1 3 d
i t i s n o t n e c e s s a r y t o c h a n g e t h e B o o t L o a d e r s o f t w a r e
R e a d S i g n a t u r e B y t e s s 3 * d d
i t s e l f , i t i s r e c o m m e n d e d t o p r o g r a m t h e B o o t L o c k b i t 1 1 t o
2 A V R 1 0 9
A V R 1 0 9
T a b l e 1 . A V R P r o g C o m m a n d s ( C o n t i n u e d ) R e p e a t e d u n t i l a l l d a t a s e n t :
W h e n a l l d a t a i s t r a n s f e r r e d
H o s t W r i t e s H o s t R e a d s
A V R p r o g : A t o s e t a d d r e s s o f l a s t p a g e
I D D a t a D a t a
A V R p r o g : m t o w r i t e l a s t p a g e
R e t u r n S u p p o r t e d D e v i c e C o d e s t n * d d 0 0 d
A V R p r o g : L t o l e a v e p r o g r a m m i n g m o d e
D a t a i s t h e n v e r i f i e d b y e x e c u t i n g t h e f o l l o w i n g s e q u e n c e :
R e t u r n S o f t w a r e I d e n t i f i e r S s [ 7 ]
A V R p r o g : P t o e n a b l e p r o g r a m m i n g
R e t u r n S o f t w a r e V e r s i o n V d d d d
A V R p r o g : A t o s e t a d d r e s s
R e t u r n H a r d w a r e V e r s i o n v d d d d
A V R p r o g : R t o r e a d p r o g r a m m e m o r y
R e t u r n P r o g r a m m e r T y p e p d d
A T m e g a 1 6 1 : t w o b y t e s c o n t a i n i n g p r o g r a m d a t a .
A V R p r o g c o n t i n u e s s e n d i n g R u n t i l a l l d a t a i s r e a d a n d
S e t L E D x d d 1 3 d
f i n i s h e s t h e s e q u e n c e b y s e n d i n g L t o l e a v e p r o g r a m m i n g
C l e a r L E D y d d 1 3 d
m o d e .
W h e n A V R p r o g . e x e i s e x e c u t e d , i t s e a r c h e s f o r a n y s u p -
p o r t e d p r o g r a m m e r s o n t h e a v a i l a b l e C O M p o r t s . I t u s e s
P r o g r a m D e s c r i p t i o n
1 9 . 2 k b p s 8 N 1 ( 8 d a t a b i t s , n o p a r i t y b i t s a n d o n e s t o p b i t )
T h e m a i n p r o g r a m s t a r t s b y c h e c k i n g i f p r o g r a m m i n g i s t o
c o m m u n i c a t i o n ; t h e r e c e i v i n g U A R T s h o u l d f o r t h i s r e a s o n
b e d o n e , o r i f t h e p r o g r a m i n t h e A p p l i c a t i o n C o d e S e c t i o n
b e c o n f i g u r e d t o t h i s s p e e d a n d m o d e .
i s t o b e e x e c u t e d . I n t h i s a p p l i c a t i o n t h i s i s i n d i c a t e d b y t h e
A s s u m i n g c o m m u n i c a t i o n w i t h a n A T m e g a 1 6 1 , t h e
v a l u e o f r e g i s t e r P I N D . I f a u s e r - s p e c i f i e d p i n o n p o r t D i s
s e q u e n c e f o r d e t e r m i n i n g p r o g r a m m e r t y p e i s a s f o l l o w s :
h e l d l o w d u r i n g r e s e t , t h e p r o g r a m e n t e r s p r o g r a m m i n g
A V R p r o g : 4 E S C : f l u s h i n g t h e U A R T b u f f e r s .
m o d e ( t h e p i n c a n b e s e l e c t e d i n t h e m a i n . c s o u r c e c o d e ) .
A V R p r o g : S t o g e t s o f t w a r e i d e n t i f i e r
I f t h i s p i n i s h i g h , p r o g r a m e x e c u t i o n s t a r t s f r o m a d d r e s s
M e g a A V R : A V R B 1 6 1 ( b o o t l o a d e r ) . A V R p r o g a c c e p t s
$ 0 0 0 0 ( a s i f a n o r d i n a r y r e s e t h a d o c c u r r e d ) .
a n y s t r i n g c o n s i s t i n g o f s e v e n c h a r a c t e r s s t a r t i n g
w i t h t h e t h r e e c h a r a c t e r s A V R .
F i g u r e 2 . M a i n P r o g r a m E x e c u t i o n
A V R p r o g : a t o a s k f o r a u t o a d d r e s s i n c r e m e n t i n g
m e g a A V R : y ( Y e s )
S t a r t
A V R p r o g : t t o a s k f o r s u p p o r t e d d e v i c e s ?
m e g a A V R : 6 0 f o r m e g a 1 6 1 a n d 0 0 t o i n d i c a t e e n d
o f l i s t
I n i t P O R T D .
A V R p r o g : T a n d 6 0 t o t e l l p r o g r a m m e r t h a t
A T m e g a 1 6 1 i s s e l e c t e d
A V R p r o g : y + d d y + d d y + d d x + d d t o a c t i v a t e
L E D s .
T h e s e q u e n c e f o r p r o g r a m m i n g i s a s f o l l o w s :
P i n D , x N o
l o w ?
A V R p r o g : 3 E S C : f l u s h i n g t h e U A R T b u f f e r s .
A V R p r o g : T a n d 6 0 t o t e l l p r o g r a m m e r t h a t
A T m e g a 1 6 1 i s s e l e c t e d
Y e s
E x e c u t e p r o g r a m
A V R p r o g : P t o e n a b l e p r o g r a m m i n g
i n A p p l i c a t i o n
A V R p r o g : e t o e r a s e a p p l i c a t i o n a r e a
C o d e S e c t i o n .
N o
C o m m a n d
A V R p r o g : P t o e n a b l e p r o g r a m m i n g r e c e i v e d ?
A V R p r o g : A t o s e t a d d r e s s = 0 x 0 0 0 0
A V R p r o g : A t o s e t a d d r e s s t o s t a r t p r o g r a m m i n g
f r o m
N o
V a l i d
A V R p r o g : c t o s e n d l o w d a t a b y t e
c o m m a n d ?
A V R p r o g : C t o s e n d h i g h d a t a b y t e
W h e n t h e t e m p o r a r y b u f f e r i s f u l l :
A V R p r o g : A t o s e t a d d r e s s o f p a g e
A V R p r o g : m t o w r i t e p a g e
E x e c u t e a s s o c i a t e d
t a s k .
T h e n c o n t i n u e s w i t h :
A V R p r o g : c t o s e n d l o w d a t a b y t e
A V R p r o g : C t o s e n d h i g h d a t a b y t e
3
R S E G C O D E ( 0 )
I n p r o g r a m m i n g m o d e , t h e p r o g r a m r e c e i v e s c o m m a n d s
f r o m A V R p r o g v i a t h e U A R T . E a c h c o m m a n d e x e c u t e s a n R S E G U D A T A 0 ( 0 )
a s s o c i a t e d t a s k . T h i s p r o g r a m d o e s n o t u s e t h e L E D c o m - P U B L I C f i l l _ t e m p _ b u f f e r
m a n d s b u t t h e c o m m a n d i s i m p l e m e n t e d i n o r d e r t o
P U B L I C w r i t e _ p a g e
p r e v e n t A V R p r o g f r o m l o s i n g s y n c h r o n i z a t i o n . A n y c o m -
P U B L I C w r i t e _ l o c k _ b i t s
m a n d n o t r e c o g n i z e d b y t h e B o o t L o a d e r p r o g r a m r e s u l t s i n
P U B L I C r e a d _ p r o g r a m _ m e m o r y
a ? b e i n g s e n t b a c k t o A V R p r o g .
E X T E R N ? C L 0 T _ 1 _ 4 0 _ L 0 8
R S E G C O D E
M a i n . c
# i n c l u d e " i o m 1 6 1 . h "
T h e m a i n . c p r o g r a m h a n d l e s c o m m u n i c a t i o n w i t h t h e h o s t
w r i t e _ p a g e :
P C a n d e x e c u t e s t h e r e c e i v e d c o m m a n d s . F i g u r e 2 s h o w s
a f l o w c h a r t i l l u s t r a t i n g t h e o p e r a t i o n .
M O V R 3 1 , R 1 7
N o t e : A s s h o w n i n F i g u r e 2 , o n c e t h e B o o t L o a d e r r o u t i n e i s
M O V R 3 0 , R 1 6 ; m o v e a d d r e s s t o z p o i n t e r ( R 3 1 = Z H
e n t e r e d , t h e o n l y w a y t o e x i t i s t h r o u g h a r e s e t o f t h e R 3 0 = Z L )
d e v i c e .
O U T S P M C R , R 2 0 ; a r g u m e n t 2 d e c i d e s f u n c t i o n
S P M ; p e r f o r m p a g e w r i t e
S e r i a l . c
R E T
T h e U A R T r o u t i n e ( s e r i a l . c ) i m p l e m e n t s s i m p l e p o l l e d
U A R T r o u t i n e s . A s d e s c r i b e d e a r l i e r , t h e r e a s o n f o r d o i n g f i l l _ t e m p _ b u f f e r :
t h i s p o l l e d i s t h a t f o r c e r t a i n B o o t L o c k B i t s e t t i n g s , i n t e r -
M O V R 3 1 , R 2 1
r u p t s a r e n o t p e r m i t t e d i n t h e b o o t s e c t i o n .
M O V R 3 0 , R 2 0 ; m o v e a d d r e s s t o z p o i n t e r ( R 3 1 = Z H
R 3 0 = Z L )
M O V R 1 , R 1 7
A s s e m b l y . s 9 0
M O V R 0 , R 1 6 ; m o v e d a t a t o r e g 0 a n d 1
A l l r o u t i n e s u s i n g S P M a r e w r i t t e n i n a s s e m b l y . T h i s i s
L D I R 1 8 , 0 x 0 1
d o n e i n o r d e r t o a v o i d c o n f l i c t s i n t h e c o d e . T h e S P M c o m -
O U T S P M C R , R 1 6
m a n d s r e q u i r e d a t a t o b e p l a c e d i n b o t h t h e Z r e g i s t e r
S P M ; S t o r e p r o g r a m m e m o r y
( r 3 1 : r 3 0 ) a n d i n t h e r 1 : r 0 r e g i s t e r p a i r . T h i s c o u l d b e d o n e
R E T
i n C c o d e , b u t w r i t i n g i n a s s e m b l y s i m p l i f i e s t h e t a s k o f c o n -
t r o l l i n g t h e s e r e g i s t e r p a i r s a n d r e d u c e s o v e r h e a d C c o d e .
r e a d _ p r o g r a m _ m e m o r y :
M O V R 3 1 , R 1 7 ; R 3 1 = Z H R 3 0 = Z L
C a l l i n g t h e A s s e m b l y R o u t i n e s
M O V R 3 0 , R 1 6 ; m o v e a d d r e s s t o z p o i n t e r
T w o o f t h e a s s e m b l y r o u t i n e s h a v e d u a l f u n c t i o n s , d e p e n d -
S B R C R 2 0 , 0 ; r e a d l o c k b i t s ? ( s e c o n d
i n g o n t h e s e c o n d a r g u m e n t s e n t t o t h e m :
a r g u m e n t = 0 x 0 9 )
v o i d w r i t e _ p a g e ( u n s i g n e d i n t a d d r , u n s i g n e d c h a r
O U T S P M E N , R 2 0 ; i f s o , p l a c e s e c o n d a r g u m e n t i n
f u n c t i o n ) ;
S P M E N r e g i s t e r
T h e f i r s t a r g u m e n t i s t h e a d d r e s s o f t h e p a g e t o w r i t e . T h e
L P M ; r e a d L S B
s e c o n d a r g u m e n t i n d i c a t e s t h e f u n c t i o n t o b e p e r f o r m e d .
M O V R 1 6 , R 0
F u n c t i o n = 0 x 0 5 r e s u l t s i n w r i t i n g t h e p a g e t o p r o g r a m
I N C R 3 0
m e m o r y . F u n c t i o n = 0 x 0 3 r e s u l t s i n e r a s i n g t h e p a g e .
u n s i g n e d i n t r e a d _ p r o g r a m _ m e m o r y ( u n s i g n e d i n t a d d r , L P M
u n s i g n e d c h a r f u n c t i o n ) ;
M O V R 1 7 , R 0 ; r e a d M S B ( i g n o r e d w h e n r e a d i n g
l o c k b i t s )
I n t h i s f u n c t i o n t h e f i r s t a r g u m e n t i s t h e a d d r e s s o f t h e p a g e
t o r e a d . T h e s e c o n d a r g u m e n t i n d i c a t e s t h e f u n c t i o n t o b e R E T
p e r f o r m e d . I f f u n c t i o n = 0 x 0 0 , t h e r o u t i n e r e t u r n s t h e p r o -
g r a m d a t a i n t h e s p e c i f i e d l o c a t i o n . I f f u n c t i o n = 0 x 0 9 a n d
w r i t e _ l o c k _ b i t s :
a d d r e s s = 0 x 0 0 0 0 , 0 x 0 0 0 1 o r 0 x 0 0 0 3 , t h e r o u t i n e r e t u r n s
M O V R 0 , R 1 6
t h e f u s e , l o c k b i t s o r t h e f u s e h i g h b i t s , r e s p e c t i v e l y . I n t h i s
L D I R 1 7 , 0 x 0 9
c a s e , t h e m a i n p r o g r a m i g n o r e s t h e 8 M S B o f t h e r e t u r n e d
O U T S P M C R , R 1 7
i n t e g e r .
S P M ; w r i t e l o c k b i t s
B e l o w i s a l i s t i n g o f t h e a s s e m b l y p a r t o f t h e p r o g r a m .
R E T
N A M E a s s e m b l y ( 1 6 )
E N D
4 A V R 1 0 9
A V R 1 0 9
S p e c i a l C o n s i d e r a t i o n s
1 . I n t h e A T m e g a 1 6 1 a n d A T m e g a 1 6 3 t h e B o o t L o a d e r 4 . D e p e n d i n g o n t h e s t a t e o f t h e B o o t L o c k B i t s , i n t e r -
s e c t i o n s t r e t c h e s f r o m $ 3 C 0 0 - $ 3 F F F ( $ 1 E 0 0 - r u p t s m a y o r m a y n o t b e a v a i l a b l e w h e n e x e c u t i n g
$ 1 F F F w h e n c o u n t i n g w o r d s ) s o t h e l i n k e r f i l e m u s t i n s t r u c t i o n s f r o m t h e F l a s h B o o t S e c t i o n . F o r t h i s
b e m o d i f i e d t o p l a c e t h e p r o g r a m i n t h e s e l o c a t i o n s . r e a s o n , t h e U A R T r o u t i n e s i m p l e m e n t e d i n t h i s
C h a n g e t h e P r o g r a m a d d r e s s s p a c e l i n e t o : a p p l i c a t i o n n o t e u s e p o l l i n g i n s t e a d o f i n t e r r u p t s .
/ / P r o g r a m a d d r e s s s p a c e ( i n t e r n a l F l a s h m e m o r y )
5 . T h e S P M o p e r a t i o n s u t i l i z e t h e Z r e g i s t e r t o i n d i c a t e
- p a g e a d d r e s s / t e m p b u f f e r a d d r e s s . T h i s r e g i s t e r i s
Z ( C O D E ) I N T V E C , R C O D E , C D A T A 0 , C D A T A 1 , C C S T R , S W I T C H , F L A
a l s o u s e d a s a d a t a p o i n t e r b y t h e I A R C c o m p i l e r .
S H , C O D E = 3 C 0 0 - 3 F F F
T h i s c a u s e s c o n f l i c t s a n d t h e r e f o r e a l l s e q u e n c e s
T h i s w i l l p l a c e t h e c o d e i n t h e b o o t b l o c k . I n a d d i t i o n ,
d e a l i n g w i t h S P M a r e w r i t t e n i n a s s e m b l y , t h e r e b y
t h e B O O T R S T f u s e m u s t b e p r o g r a m m e d i n o r d e r t o
a c h i e v i n g f u l l c o n t r o l o v e r r e g i s t e r u s e .
m o v e t h e r e s e t v e c t o r t o $ 1 E 0 0 .
6 . I t t a k e s o v e r h e a d c o d e t o g a i n d i r e c t c o n t r o l o v e r
2 . T h e B o o t L o a d e r p r o g r a m m u s t h a v e a w a y t o
r e g i s t e r s w r i t i n g i n C . T h i s i s a l s o a r e a s o n w h y a l l
d e t e r m i n e i f i t s h a l l e n t e r p r o g r a m m i n g m o d e o r r u n
r o u t i n e s d e a l i n g w i t h S P M a r e w r i t t e n i n a s s e m b l y .
t h e p r o g r a m r e s i d i n g i n t h e a p p l i c a t i o n c o d e
7 . T h e p r o g r a m i s o p t i m i z e d f o r s i z e . I t i s 5 0 4 b y t e s
s e c t i o n .
a n d w i l l t h e r e f o r e f i t i n a l l p a r t s t h a t h a v e a B o o t
T h i s i s i m p l e m e n t e d b y d o i n g a c h e c k t o s e e i f a s p e -
L o a d e r s e c t i o n o f 5 1 2 b y t e s o r m o r e .
c i f i c I / O p i n i s h e l d l o w d u r i n g p o w e r - u p . I f a l l p i n s a r e
I n o r d e r t o r e d u c e t h e c o d e s i z e , a n u m b e r o f o p t i m i z a t i o n s
h i g h , t h e B o o t L o a d e r p r o g r a m e x e c u t e s a s o f t w a r e
h a v e b e e n d o n e :
j u m p t o a d d r e s s $ 0 0 0 0 a n d s t a r t s e x e c u t i n g t h e a p p l i -
" I f t h e n e l s e i f s t a t e m e n t s a r e u s e d i n s t e a d o f c a s e .
c a t i o n c o d e . T h i s j u m p c a n b e i m p l e m e n t e d b y d e f i n i n g
" F o r ( ; ; ) { } i s u s e d i n s t e a d o f w h i l e ( 1 ) { } .
a f u n c t i o n p o i n t e r p o i n t i n g t o a d d r e s s $ 0 0 0 0 ,
" I n t h e C S T A R T U P . S 9 0 f i l e , a l l u n u s e d r e f e r e n c e s
v o i d ( * f u n c p t r ) ( v o i d ) = 0 x 0 0 0 0 ; / / S e t u p
h a v e b e e n d e l e t e d . T h a t i n c l u d e s a l l r e f e r e n c e s t o
f u n c t i o n p o i n t e r
_ _ l o w _ l e v e l _ i n i t , a l l # i f # e n d i f s t a t e m e n t s a n d t h e
a n d t h e n e x e c u t e t h e j u m p b y c a l l i n g t h i s p o i n t e r :
C _ E X I T m o d u l e .
f u n c p t r ( ) ;
" A l l v a r i a b l e s a r e i m p l e m e n t e d u s i n g t h e s m a l l e s t d a t a
3 . I f t h e p i n i s p u l l e d l o w , p r o g r a m m i n g m o d e i s
t y p e p o s s i b l e .
e n t e r e d . I t s n o t p o s s i b l e t o e x i t p r o g r a m m i n g m o d e .
" U n s i g n e d d a t a t y p e s a r e u s e d w h e r e t h i s i s p o s s i b l e .
T o r e t u r n t o n o r m a l o p e r a t i o n , t h e p i n s h o u l d b e
r e l e a s e d a n d t h e d e v i c e r e s e t . A f t e r a r e s e t , t h e p o r t
8 . S e e a p p l i c a t i o n n o t e A V R 0 3 5 : E f f i c i e n t C C o d i n g
i s b y d e f a u l t c o n f i g u r e d a s a n i n p u t w i t h i n t e r n a l
f o r A V R f o r m o r e d e t a i l s o n e f f i c i e n t C
p u l l - u p d i s a b l e d . T h e s e l e c t e d p i n s h o u l d b e p u l l e d
p r o g r a m m i n g .
h i g h b y a n e x t e r n a l p u l l - u p r e s i s t o r .
5
A t m e l H e a d q u a r t e r s A t m e l O p e r a t i o n s
C o r p o r a t e H e a d q u a r t e r s A t m e l C o l o r a d o S p r i n g s
2 3 2 5 O r c h a r d P a r k w a y 1 1 5 0 E . C h e y e n n e M t n . B l v d .
S a n J o s e , C A 9 5 1 3 1 C o l o r a d o S p r i n g s , C O 8 0 9 0 6
T E L ( 4 0 8 ) 4 4 1 - 0 3 1 1 T E L ( 7 1 9 ) 5 7 6 - 3 3 0 0
F A X ( 4 0 8 ) 4 8 7 - 2 6 0 0 F A X ( 7 1 9 ) 5 4 0 - 1 7 5 9
E u r o p e A t m e l R o u s s e t
A t m e l U . K . , L t d . Z o n e I n d u s t r i e l l e
C o l i s e u m B u s i n e s s C e n t r e 1 3 1 0 6 R o u s s e t C e d e x
R i v e r s i d e W a y F r a n c e
C a m b e r l e y , S u r r e y G U 1 5 3 Y L T E L ( 3 3 ) 4 - 4 2 5 3 - 6 0 0 0
E n g l a n d F A X ( 3 3 ) 4 - 4 2 5 3 - 6 0 0 1
T E L ( 4 4 ) 1 2 7 6 - 6 8 6 - 6 7 7
F A X ( 4 4 ) 1 2 7 6 - 6 8 6 - 6 9 7
A s i a
A t m e l A s i a , L t d .
R o o m 1 2 1 9
C h i n a c h e m G o l d e n P l a z a
7 7 M o d y R o a d T s i m h a t s u i
E a s t K o w l o o n
H o n g K o n g
T E L ( 8 5 2 ) 2 7 2 1 - 9 7 7 8
F A X ( 8 5 2 ) 2 7 2 2 - 1 3 6 9
J a p a n
A t m e l J a p a n K . K .
9 F , T o n e t s u S h i n k a w a B l d g .
1 - 2 4 - 8 S h i n k a w a
C h u o - k u , T o k y o 1 0 4 - 0 0 3 3
J a p a n
T E L ( 8 1 ) 3 - 3 5 2 3 - 3 5 5 1
F A X ( 8 1 ) 3 - 3 5 2 3 - 7 5 8 1
F a x - o n - D e m a n d
N o r t h A m e r i c a :
1 - ( 8 0 0 ) 2 9 2 - 8 6 3 5
I n t e r n a t i o n a l :
1 - ( 4 0 8 ) 4 4 1 - 0 7 3 2
e - m a i l
l i t e r a t u r e @ a t m e l . c o m
W e b S i t e
h t t p : / / w w w . a t m e l . c o m
B B S
1 - ( 4 0 8 ) 4 3 6 - 4 3 0 9
© A t m e l C o r p o r a t i o n 2 0 0 0 .
A t m e l C o r p o r a t i o n m a k e s n o w a r r a n t y f o r t h e u s e o f i t s p r o d u c t s , o t h e r t h a n t h o s e e x p r e s s l y c o n t a i n e d i n t h e C o m p a n y s s t a n d a r d w a r -
r a n t y w h i c h i s d e t a i l e d i n A t m e l s T e r m s a n d C o n d i t i o n s l o c a t e d o n t h e C o m p a n y s w e b s i t e . T h e C o m p a n y a s s u m e s n o r e s p o n s i b i l i t y f o r
a n y e r r o r s w h i c h m a y a p p e a r i n t h i s d o c u m e n t , r e s e r v e s t h e r i g h t t o c h a n g e d e v i c e s o r s p e c i f i c a t i o n s d e t a i l e d h e r e i n a t a n y t i m e w i t h o u t
n o t i c e , a n d d o e s n o t m a k e a n y c o m m i t m e n t t o u p d a t e t h e i n f o r m a t i o n c o n t a i n e d h e r e i n . N o l i c e n s e s t o p a t e n t s o r o t h e r i n t e l l e c t u a l p r o p -
e r t y o f A t m e l a r e g r a n t e d b y t h e C o m p a n y i n c o n n e c t i o n w i t h t h e s a l e o f A t m e l p r o d u c t s , e x p r e s s l y o r b y i m p l i c a t i o n . A t m e l s p r o d u c t s a r e
n o t a u t h o r i z e d f o r u s e a s c r i t i c a l c o m p o n e n t s i n l i f e s u p p o r t d e v i c e s o r s y s t e m s .
M a r k s b e a r i n g ® a n d / o r "! a r e r e g i s t e r e d t r a d e m a r k s a n d t r a d e m a r k s o f A t m e l C o r p o r a t i o n .
P r i n t e d o n r e c y c l e d p a p e r .
T e r m s a n d p r o d u c t n a m e s i n t h i s d o c u m e n t m a y b e t r a d e m a r k s o f o t h e r s .
1 6 4 4 A 0 3 / 0 0 / x M
Wyszukiwarka
Podobne podstrony:
ATMEL AVR start programming in CAtmel Avr USB Firmware Upgrade For AT90USB doc7769Atmel Avr Efficient C CodingAVR i ARM7 Programowanie mikrokontrolerow dla kazdego avrar7Warsztaty AVR Programowanie uCavt 515 Programator mikrokontrolerów AVR i AT89S8252AVR Techniczne aspekty programowaniaprogramator procesorów AVR 1Elektronika Analogowa Kurs Bascom Avr W Przykĺ‚Adach Pierwszy ProgramASM based Modelling of Self Replicating Programsprogramator procesorów AVR 2Podstawy programowania mikrokontrolerów AVR8 w środowisku AVR Studio 4AVR Atmel XIIINowy BlackBox 2 5 Public Atmel program OKwięcej podobnych podstron