Professional Documents
Culture Documents
Seminar
Seminar
NI DUNG:
Gii thiu chung v h vi iu khin ARM Cu trc bn trong M phng trn phn mm Th d trn board SAM7S256-Amtel
C iM H VI iU KHIN ARM
L vi iu khin tin tin x l 32 bt c s dng rng ri trn cc in thoi di ng Tn s hot ng ln n 60MHz Kh nng tnh ton cao, tiu th ngun nng lng thp C phn cng ring bit h tr c ch x l pipeline
C iM H VI iU KHIN ARM
C ch pipeline:
CU TRC BN TRONG
Gm 15 thanh ghi 32 bt:
CU TRC BN TRONG
H tr x l 2 kiu tp lnh Tp lnh ARM 32 bt Tp lnh Thumb 16 bt
CU TRC BN TRONG
u im ca tp lnh thunb
Tp lnh THUMB cho gi tr kt qu thp hn tp lnh ARM nhng m cc kt qu ny chim mt t l ln hn. Tp lnh THUMB tit kim c khng gian nh 30% v chy nhanh hn 40% so vi tp lnh ARM. Tp lnh THUMB khng c iu kin thc thi tr cc lnh r nhnh.
CU TRC BN TRONG
Khi s dng tp lnh thumb cc thanh ghi cao t R8-R12 b gii hn truy cp:
CU TRC BN TRONG
Cch vit chng trnh C vi tp lnh ARM v tp lnh THUMB:
#pragma ARM // khai bo cc lnh ARM int main(void) { while(1){ THUMB_function(); //gi n hm THUMB }} #pragma THUMB void THUMB_function(void) { unsigned long i,delay; for (i = 0x00010000;i < 0x01000000 ;i = i<<1){ for (delay = 0;delay<0x000100000;delay++){} //to vng lp IOSET1 = i; //chuyn n led tip theo }}
CU TRC BN TRONG
Cch vit chng trnh C vi tp lnh ARM v tp lnh THUMB: Hoc: int ARM_FUNCTION ( int my_var) __ARM {} int THUMB_FUNCTION ( int my_var) __THUMB {}
TH D PLL
void init_PLL(void) { PLLCFG = 0x00000024; // Thit lp h s nhn v b chia cho PLL // give 60.00 MHz PLLCON = 0x00000001; // Kch hot PLL PLLFEED = 0x000000AA; // Cp nht thanh ghi PLLFEED PLLFEED = 0x00000055; while (!(PLLSTAT & 0x00000400)); // kim tra bt Lock PLLCON = 0x00000003; // Kt ni ti PLL PLLFEED = 0x000000AA; //Cp nht cc thanh ghi PLL PLLFEED = 0x00000055; VPBDIV = 0x00000002; //Thit lp bus VLSI vi tn s 30.000MHz }
KH A CHC NNG
31:30
P0.15
10
EINT2
KIT AT91SAM7S256
KIT AT91SAM7S256