ARM9内存控制

内存控制寄存器:
1 共有8个BANK,描述如下:
The S3C2440A has the following features:
— Little/Big endian (selectable by a software)
— Address space: 128Mbytes per bank (total 1GB/8 banks)
— Programmable access size (8/16/32-bit) for all banks except bank0 (16/32-bit)
— Total 8 memory banks
Six memory banks for ROM, SRAM, etc.
Remaining two memory banks for ROM, SRAM, SDRAM, etc .
— Seven fixed memory bank start address
— One flexible memory bank start address and programmable bank size
— Programmable access cycles for all memory banks
— External wait to extend the bus cycles
— Supporting self-refresh and power down mode in SDRAM

Bank7 的开始地址是灵活的,BANK6/7可以片远SDRAM,但其大小应该一样

2 OM[1:0] 引脚决定启动方式
  BANK0如果是8位,则地址线从A0开始,如果为16位则地址线从A1开始,如果为32位则地址线从A2开始
  且内存的BANK_LOGIC引脚与CPU哪个地址线相连手册中也是有规定的。
 
3 某些引脚需要对比原理图来决定,相关时序也要仔细看,不过可以不深究

4 重要寄存器
  Bus Width & Wait Control Register-BWSCON
  BWSCON:决定各BANK的位宽及Wait相关
 
  Bank Control Regsiter(BANKCONN Bank0~Bank5)
  依次设置这6个寄存器就行
  专门针对BANK6~BANK7的控制寄存器:BANKCON6/BANKCON7
  在这两个寄存器要设置和SDRAM密切相关的选项,比如 SDRAM的列数
 
  Refresh COntrol Regsiter-REFRESH
  其中各项不太明确,参考开发板默认配置就行,不太深究
 
  Banksize Register-BANKSIZE
  决定BANK6/7的大小及其它选项
 
  SDRAM Mode Regsiter Set Register-MRSRB6/7
  专门针对SDRAM进行设置的寄存器,里面相关项不太明确

你可能感兴趣的:(c,Access,features)