《嵌入式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

相关文章
|
16天前
|
缓存 网络协议 Linux
PCIe 以太网芯片 RTL8125B 的 spec 和 Linux driver 分析备忘
本文详细介绍了 Realtek RTL8125B PCIe 以太网芯片的规格以及在 Linux 中的驱动安装和配置方法。通过深入分析驱动源码,可以更好地理解其工作原理和优化方法。在实际应用中,合理配置和优化驱动程序可以显著提升网络性能和稳定性。希望本文能帮助您更好地使用和管理 RTL8125B,以满足各种网络应用需求。
60 33
|
1月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
109 15
|
2月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
126 13
|
4月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
153 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
4月前
|
网络协议 Linux 开发工具
linux系统配置固定地址
linux系统配置固定地址
|
5月前
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】
|
6月前
|
Java Linux API
Linux设备驱动开发详解2
Linux设备驱动开发详解
73 6
|
6月前
|
消息中间件 算法 Unix
Linux设备驱动开发详解1
Linux设备驱动开发详解
87 5
|
6月前
|
NoSQL Linux C语言
嵌入式GDB调试Linux C程序或交叉编译(开发板)
【8月更文挑战第24天】本文档介绍了如何在嵌入式环境下使用GDB调试Linux C程序及进行交叉编译。调试步骤包括:编译程序时加入`-g`选项以生成调试信息;启动GDB并加载程序;设置断点;运行程序至断点;单步执行代码;查看变量值;继续执行或退出GDB。对于交叉编译,需安装对应架构的交叉编译工具链,配置编译环境,使用工具链编译程序,并将程序传输到开发板进行调试。过程中可能遇到工具链不匹配等问题,需针对性解决。
269 3
|
6月前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
188 3