《嵌入式Linux软硬件开发详解——基于S5PV210处理器》——第2章 核心板电路设计 2.1 S5PV210芯片地址分配

简介:

本节书摘来自异步社区《嵌入式Linux软硬件开发详解——基于S5PV210处理器》一书中的第2章,第2.1节,作者 刘龙,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第2章 核心板电路设计

本章内容:

DDR2 SDRAM、NAND Flash、DM9000A及WM8960工作原理,S5PV210存储空间地址分配,S5PV210与各芯片的接口电路设计方法。

教学目标:

  • 理解S5PV210存储器地址分配;
  • 掌握NAND Flash的访问方式及设计原理;
  • 掌握DDR2 SDRAM与S5PV210连接原理;
  • 掌握DM9000A与S5PV210连接原理;
  • 掌握WM8960与S5PV210连接原理。

2.1 S5PV210芯片地址分配

嵌入式Linux软硬件开发详解——基于S5PV210处理器

S5PV210芯片地址空间总共为4GB,具体分布如图2-1所示。


screenshot

各个地址区间的功能如表2-1所示。


screenshot


screenshot

  • 0x0000_0000~0x1FFF_FFFF(512MB)即系统启动配置区。
  • 0x2000_0000~0x5FFF_FFFF(2x512MB)即内存配置区,用于DDR2 SDRAM寻址,比如Smart210开发板具有1GB的DDR2内存就接到了此区域。
  • 0x8000_0000~0xAFFF_FFFF(6x128MB)即外接总线型设备寻址区,比如Smart210开发板的DM9000网卡芯片就接到了此区域。
  • 0xB000_0000~0xBFFF_FFFF(256MB)即OneNAND和NAND寻址区,此处Smart210开发板没有用到。
  • 0xC000_0000~0xCFFF_FFFF(256MB)即MP3_SROM输出缓存区,此处Smart210开发板没有用到。
  • 0xD000_0000~0xD000_FFFF(64KB)即 IROM区,设备引导使用,适用于所有以S5PV210为核心的开发系统。
  • 0xD002_0000~0xD003_FFFF(128KB)即IRAM区,设备引导使用,适用于所有以S5PV210为核心的开发系统。
  • 0xE000_0000~0xFFFF_FFFF(64KB)即特殊功能寄存器SFR区域,适用于所有以S5PV210为核心的开发系统。

从图2-1和表2-1所示我们可以看出,S5PV210具有两个DRAM地址空间,六个SROM地址空间,针对上述空间,S5PV210微处理器分别提供了地址、数据、控制总线接口。通过这三种总线接口,S5PV210微处理器可以和具有同样接口的器件进行连接通信。

如图2-2所示为片选信号线Xm0CSn0~Xm0CSn5,这六根片选信号线对应六个SROM的地址;比如Smart210开发板中DM9000A网卡芯片的片选信号端引脚接到了Xm0CSn1引脚,所以它的访问地址为0x88000000开始的地址空间。


screenshot

如图2-3所示为片选信号线Xm1CSn0~Xm1CSn1,这两根片选信号线对应两个DRAM的地址,Smart210开发板的DDR2 SDRAM的片选信号接到了Xm1CSn0引脚,所以它的访问地址为0x20000000开始的地址空间。


screenshot

相关文章
|
4天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
22天前
|
JSON 机器人 Linux
推荐一款嵌入式Linux开源框架与封装-cpp-tbox
推荐一款嵌入式Linux开源框架与封装-cpp-tbox
53 3
|
1月前
|
存储 缓存 Linux
如何在Linux环境下对pip的缓存地址进行修改
如何在Linux环境下对pip的缓存地址进行修改
|
存储 编译器
Linux--程序地址空间
Linux--程序地址空间
|
1月前
|
Linux 开发工具 git
Linux嵌入式系统中如何使用U-Boot实例
Linux嵌入式系统中如何使用U-Boot实例
26 0
|
10天前
|
Linux 编译器 测试技术
嵌入式 Linux 下的 LVGL 移植
嵌入式 Linux 下的 LVGL 移植
|
18天前
|
Linux 编译器 Windows
【Linux】10. 进程地址空间
【Linux】10. 进程地址空间
19 4
|
20天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
37 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境
|
23天前
|
Linux
嵌入式Linux系统(NUC980)tf卡出错处理errors=remount-ro改为errors=continue
嵌入式Linux系统(NUC980)tf卡出错处理errors=remount-ro改为errors=continue
7 1
|
23天前
|
安全 Linux
嵌入式Linux系统关闭串口调试信息的输出
嵌入式Linux系统关闭串口调试信息的输出
17 1