ARM9外接晶片讀寫的驗証-以8255為範例外接8255主要目的是透過位址線及資料線做外接晶片讀寫的驗証
ARM9可透過如圖1所示的轉接訊號線擴充其他的晶片功能
ARM-9的轉接訊號線解碼位址圖2代表ARM-9的外接記憶體解碼位址分佈,共分8個區段(bank)
這些區段分別由nGCS0-nGCS7來解碼,每個區段(bank)共有128MB的記憶體空間
Bank0及Bank1分別由快閃記憶體(Flashmemory)及隨機讀取記憶體(SDRAM)所佔用
Bank2的解碼致能線nCGS2位於透過ARM-9發展板轉接槽的第34個接腳,如圖1所示
nCGS2解碼位址分佈於0x10000000-0x18000000,如圖2所示
nGCS2的解碼位址分佈圖3中ARM9的記憶體區段(Bank)的解碼線nGCS2接8255的/CS;(A1,A0)分別接8255的(A1,A0);DATA7-DATA0分別接8255的D7-D0,如圖3所示
所以8255的(PORTA,PORTB,PORTC,CTL)的寫入位址定義如下:PORTA=0x10000000;PORTB=0x10000001;PORTB=0x10000002;CTL=0x10000003;2圖3
8255與ARM-9的連接方法ARM-9的資料線共有32位元(DATA31-DATA0)
然而外接記憶體(或I/O)可規劃為8位元、16位元及32位元共三種模式
究竟選擇那種模式,可透過規劃BWSCON暫存器的內容來決定
BWSCON暫存器的位址為0x48000000
規劃Bank2的外接記憶體(或I/O)資料線讀寫位元數為8位元,可規劃BWSCON暫存器的(bit9,bit8)為00,如圖4所示
程式規劃的參考方法如下3圖4
BWSCON暫存器的bit10-bit0所規劃的功能ARM-9外接記憶體(或I/O)的讀寫時序如圖6