s3c44b0x开发板之BOOT ROM配置

1、硬件连接

当系统复位后, s3c44b0x从0x00000000地址处读取指令。并且s3c44b0x在复位后必须进行系统参数配置。
因此这段特殊代码(BOOT ROM镜像)必须位于地址0x00000000, boot ROM的数据总线宽度可以通过OM[1:0]引脚进行配置。
表1.1、ROM Bank 0数据总线宽度

OM[1:0]数据总线宽度
008-bit(byte)
0116-bit(half-word)
1032-bit(word)
11测试模式

s3c44b0x开发板上使用的BOOT ROM芯片为:Am29LV160DB-90 (16 Megabit (2 M x 8-Bit/1 M x 16-Bit))

图1.1、使用HALF-WORD EEPROM/FLASH进行HALF-WORD BOOT ROM设计参考:
image

图2.1、s3c44b0x开发板Am29LV160DB-90实际电路
clip_image002[7]
注:此处2.0R5是用于容量扩展, 实际电路板上并无此电阻

2、软件初始化

参考s3c44b0x用户指南可知, 与BOOT ROM相关的寄存器有:
(1)、总线宽度与等待控制寄存器(BWSCON)
(2)、BANK控制寄存器(BANKCON0: nGCS0)

表2.1、BWSCON与BOOT ROM相关的选项为:

BWSCONBit描述起始状态
DW0[2:1]指示bank 0的数据总线宽度(只读)
00 = 8-bit, 01 = 16-bit, 10 = 32bit
通过OM[1:0]引脚进行选择
-
ENDIAN[0]指示bank 0的endian模式(只读)
0 = Little endian, 1 = Big endian
通过ENDIAN引脚进行选择
-

表2.2、BANKCON0

BANKCON0Bit描述起始状态
Tacs[14:13]

Address set-up before nGCSn
00 = 0 clock, 01 = 1 clock
10 = 2 clocks, 11 = 4 clocks

00
Tcos[12:11]

Chip selection set-up nOE
00 = 0 clock, 01 = 1 clock
10 = 2 clocks, 11 = 4 clocks

00
Tacc[10:8]

Access cycle
000 = 1 clock, 001 = 2 clocks
010 = 3 clocks, 011 = 4 clocks
100 = 6 clocks, 101 = 8 clocks
110 = 10 clocks, 111 = 14 clocks

111
Toch[7:6]

Chip selection hold on nOE
00 = 0 clock, 01 = 1 clock
10 = 2 clocks, 11 = 4 clocks

00
Tcah[5:4]

Address holding time after nGCSn
00 = 0 clock, 01 = 1 clock
10 = 2 clocks, 11 = 4 clocks

00
Tpac[3:2]

Page mode access cycle @ Page mode
00 = 2 clocks, 01 = 3 clocks
10 = 4 clocks, 11 = 6 clocks

00
PMC[1:0]

Page mode configuration
00 = normal (1 data), 01 = 4 data
10 = 8 data, 11 = 16 data

00

注: All types of master clock in this memory controller correspond to the bus clock.
     所有此存储器控制器主机时钟的类型与总线时钟相符.
     For example, MCLK in DRAM and SRAM is same as the bus clock, and SCLK in SDRAM is also the same as the bus
     clock. In this chapter (Memory Controller), one clock means one bus clock.
     例如, DRAM和SRAM中的MCLK与总线时钟相同, 并且SDRAM的SCLK也与总线时钟相同, 在这章中(存储器控制器), 1个时钟是指一个总线时钟.

其中: 由于Am29LV160DB-90不支持Page Mode(Am29PL160C支持Page Mode), Tpac和PMC对于BOOT ROM不需要进行设置,
需要进行设置的值有: Tacs, Tcos, Tacc, Toch, Tcah.
图2.1 s3c44b0x ROM/SRAM 读时序 (I) (Tacs=2,Tcos=2, Tacc=4, Toch=2, Tcah=2, PMC=0, ST=0)

image

注:对于bank 0, ST不可设置, ST = 0

图2.2 Am29LV160DB-90读操作时序

image

根据图2.1和图2.2可知:

s3c44b0xAm29LV160DB-90
Tacs + tRCD – tRADtACC – tCE
Tcos - tRCD + tRODtCE - tOE
Tacc - tROD + tRODtRC - tACC + tOE
Toch0
Tcah0

通过查看s3c44b0x和Am29LV160D数据手册, 可知:
s3c44b0x: tRCD = 11ns, tRAD = 12ns, tROD = 11ns
Am29LV160D: tACC = 90ns, tCE = 90ns. tOE = 35ns, tRC = 90ns
因此Tacs = 1ns, Tcos = 55ns, Tacc = 35ns, Toch = 0ns, Tcah = 0ns
假设系统总线时钟为60MHz, one clock = 1 / (60MHz) = (50 / 3)ns
Tacs = 1ns = 1 / (50 / 3) clock = 0.06 clock = 0 clock
Tcos = 55ns = 55 / (50 / 3) clock = 3.3 clock = 4 clocks
Tacc = 35ns = 35 / (50 / 3) clock = 2.1 clock = 3 clocks
Toch = 0ns = 0 clock
Tcah = 0ns= 0 clock
BANKCON0 = 0b 00 11 010 00 00 00 00 = 0x00001a00
到此s3c44b0x BOOT ROM配置完成

转载于:https://www.cnblogs.com/arci/archive/2011/04/17/2018955.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值