1、硬件连接

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

OM[1:0] 数据总线宽度
00 8-bit(byte)
01 16-bit(half-word)
10 32-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设计参考:

图2.1、s3c44b0x开发板Am29LV160DB-90实际电路

注:此处2.0R5是用于容量扩展, 实际电路板上并无此电阻

2、软件初始化

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

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

BWSCON Bit 描述 起始状态
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

BANKCON0 Bit 描述 起始状态
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)

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

图2.2 Am29LV160DB-90读操作时序

根据图2.1和图2.2可知:

s3c44b0x Am29LV160DB-90
Tacs + tRCD – tRAD tACC – tCE
Tcos - tRCD + tROD tCE - tOE
Tacc - tROD + tROD tRC - tACC + tOE
Toch 0
Tcah 0

通过查看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

s3c44b0x开发板之BOOT ROM配置相关推荐

  1. 在ARMSYS(S3C44B0X开发板)上进行uClinux内核移植的总结

    标题 针对"如何在以S3C44B0X为核心的ARMSYS开发板上建立uClinux内核移植"的一个总结,其内容包括对Bootloader的功能分析和uClinux2.4.24发行版 ...

  2. 【极创】arduino入门之ESP8266和ESP32开发板的arduino环境配置

    一.前言 在这个万物智联时代,廉价的ESP系列芯片与开发板成为众多开发者首选,其内包含强大的无线通讯功能,可以满足开发者们绝大部分的开发需求. 二.ESP8266与ESP32开发板的arduino环境 ...

  3. 创龙基于TI TMS320C6748定点/浮点DSP C674x开发板的BOOT SET启动选择开关、Micro SD卡接口

    TL138/1808/6748F-EVM是广州创龙基于SOM-TL138/1808/6748F核心板开发的一款开发板.由于SOM-TL138/1808/6748F核心板管脚兼容,所以此三个核心板共用同 ...

  4. 主机与开发板直连nfs配置与挂载

    目录 配置网络 1.配置主机网络 2.配置开发板IP地址 配置nfs 1.主机nfs设置 2.开发板nfs配置 挂载nfs 取消挂载 配置网络 1.配置主机网络 建议提前将无线网禁用且保证以太网适配器 ...

  5. imx6ull 正点原子设备树适配韦东山的开发板 (一)顺利启动,配置led,button

    设备树在公司经常用到 有时候很多驱动编写也就是替换设备树,所以拿韦老师的板子练手设备树 这次尝试直接拿正点的设备书改成韦老师的板子能用 对比 正点原子的设备树结构图 韦东山的设备树结构图 从因为蓝色的 ...

  6. 将ARM4412开发板配置成USB网卡,并且使用USB通过Ubuntu上网

    注:以下配置在三星s4手机也成功测试通过,可以ping通外网ip和域名,但是浏览器不能上网. 1. 开发板4412 linux内核配置 4412需要安装USB Gadget驱动g_ether.ko(d ...

  7. 将linux内核烧进arm板,ARM开发板上uClinux内核移植

    <ARM开发板上uClinux内核移植>由会员分享,可在线阅读,更多相关<ARM开发板上uClinux内核移植(19页珍藏版)>请在人人文库网上搜索. 1.纷傲掌秀悸篷益哑檀扬 ...

  8. AM335 嵌入式 linux,am335x开发板建立嵌入式 Linux NFS 开发环境

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 am335x开发板嵌入式开发板系统 NFS客户端的配置 首先运行在嵌入式开发板系统的 Linux 内核支持 NFS 客 户端, 运行 #make menu ...

  9. Esp8266物联网开发板详细使用教程

    文章目录 前言 需要的资料 搭建SDK开发环境 SDK的编译和烧写 前言 之前在做智能家居的时候需要用到esp8266,我这边因为esp8266物联网开发板的技小新教程相对齐全就不用串口模块,直接使用 ...

最新文章

  1. 360浏览器使用评价
  2. JS中三目运算符和if else的区别
  3. 实时数仓入门训练营:实时计算 Flink 版 SQL 实践
  4. python爬虫淘宝手机_【Python3 爬虫】14_爬取淘宝上的手机图片
  5. jQuery 配置和基本语法
  6. 学习一些和redux一样作用的mobx知识
  7. Linux 中软件使用及常见问题 QA
  8. c++vs解决字符常量过多
  9. 支付宝签名php,支付宝快捷支付 PHP服务端签名
  10. 利用持续同调在基于深度学习的分割框架中引入显式的拓扑学约束
  11. ios射击类游戏简单代码射击
  12. ffmpeg 按帧数截取视频
  13. 工作多年,对程序员“未来”的一些看法
  14. Win11系统保护怎么关闭?Win11系统保护关闭方法
  15. Humanoid动画显示与Generic不一致
  16. dbm是怎么定义的?
  17. jml java msn_使用jml 取得MSN好友列表
  18. 【第6篇】人工智能(AI)语音测试原理和实践
  19. drive下载 synology_群晖 Synology Drive 的安装与使用
  20. 云服务器、个人服务器、软路由、NAS的奇特用法(一)you-get下载视频 以b站为例(可支持网易云音乐、acfun、土豆、优酷等详情见附录)

热门文章

  1. C语言中side的用法,C语言 side effect和sequence point
  2. tcp port numbers reused出现原因_谈谈 TCP 的 TIME_WAIT
  3. python实现二分查找算法_python实现二分查找算法
  4. Codeforces 982 B. Bus of Characters(模拟一个栈)
  5. ZOJ-3494 BCD Code (ac自动机+数位dp)
  6. java中string的方法_java中String类中的常用方法
  7. 嵌入式Linux基础学习笔记-文件IO编程-I/O多路复用
  8. [BUUCTF-pwn]——inndy_rop
  9. linux 更改文件夹大小,Linux下改变文件大小
  10. 学习记录-Linux内核模块查看命令