星期二, 7月 06, 2004

2 Things about MCF5272 : CSBR,CSOR & Memory Expand-IO

CSBR CSOR Setup
在設定CSBR,CSOR時,要先設定CSOR,再設定CSBR。
因為CSBR有Enable Bit,所以要在該CS所有相關設定都設完後才能Enable,
否則會當機。

Memory Expand IO
使用Memory Map IO時,因為設定該Region是8 bit寬,所以要用
*(unsigned volatile char*)0x50002000 = 0xFF;

寫入,
如果用其他type,例如
*(unsigned volatile long*)0x50002000 = 0xFF;

則CPU會連續寫入4次(一次一個byte)所以結果會是最後一個byte的data。
如果要用long,要注意data的byte order。以M5272為例,是BigEndian.
CPLD將D24-D31拉到D-type上,所以要
*(unsigned volatile long*)0x50002000 = 0xFF000000;


其實為了避免麻煩,還是用char type來作比較好。

沒有留言:

張貼留言