Linux系统中DDR3硬件初始化实验

news2024/9/25 21:22:36

       大家好,我是ST。

       今天的话,主要和大家聊一聊,如何使用Cortex-A芯片自带的RAM,很多时候要运行Linux的话是完全不够用的,必须要外接一片RAM芯片,驱动开发板上的DDR3。

目录

第一:何为RAM和ROM

第二:DDR初始化与测试

第三:DDR框架图基本分析


   

第一:何为RAM和ROM

       RAM:随机存储器,可以随时进行读写操作,速度很快,掉电以后数据会丢失。比如内存条,SRAM、DDR等都是RAM。

       ROM:只读存储器,ROM和Flash可以将容量做的很大,而且掉电以后数据不会丢失,适合用来存储资料,比如音乐、图片、视频等信息。

       综上所述,RAM速度快,可以直接和CPU进行通信,但是掉电以后数据会丢失,容量不容易做大。ROM速度虽然慢,但是容量大,适合存储数据。

第二:DDR初始化与测试

      恩智浦有一个非常好用的DDR初始化工具,叫做ddr_stress_tester。此工具特点如下:

      第一:此工具通过USB OTG接口和开发板相连接,也就是通过USB OTG口进行DDR的初始化与测试。

      第二:此工具有一个默认的配置文件,为execl表,通过此表可以设置板子的DDR信息,最后生成一个.inc结尾的DDR初始化脚本文件。这个.inc文件包含了DDR的初始化信息,一般都是寄存器的地址和对应的寄存器值。

      第三:此工具会加载.inc表里面的DDR初始化信息,然后通过USB OTG接口向板子下载DDR相关的测试代码,包括初始化代码。

      第四:对此工具进行简单的设置,即可开始DDR测试,一般新阿做校准,因为不同的PCB其结构不同,必须做一次校准,校准完成以后会得到两个寄存器对应的校准值,我们需要用这个新的校准值来重新初始化 DDR。

第三:DDR框架图基本分析

                              

       

①、地址线
       这部分是地址线,一共 A0~A18,也就是 19 根地址线,因此可访问的地址大小就是
2^19=524288=512KB。不是说 IS62WV51216 是个 1MB SRAM 吗?为什么地址空间只有
512KB?前面我们说了 IS62WV51216 16 位宽的,也就是一次访问 2 个字节,因此需要对
512KB 进行乘 2 处理,得到 512KB*2=1MB。位宽的话一般有 8 /16 /32 位,根据实际需求
选择即可,一般都是根据处理器的 SRAM 控制器位宽来选择 SRAM 位宽。
②、数据线
       这部分是 SRAM 的数据线,根据 SRAM 位宽的不同,数据线的数量要不同,8 位宽就有 8
根数据线,16 位宽就有 16 根数据线,32 位宽就有 32 根数据线。IS62WV51216 是一个 16 位宽
SRAM,因此就有 16 根数据线,一次访问可以访问 16bit 的数据,也就是 2 个字节。因此就
有高字节和低字节数据之分,其中 IO0~IO7 是低字节数据,IO8~IO15 是高字节数据。
③、控制线
         SRAM 要工作还需要一堆的控制线,CS2 CS1 是片选信号,低电平有效,在一个系统中
可能会有多片 SRAM(目的是为了扩展 SRAM 大小或位宽),这个时候就需要 CS 信号来选择当
前使用哪片 SRAM。另外,有的 SRAM 内部其实是由两片 SRAM 拼接起来的,因此就会提供
两个片选信号。
       OE 是输出使能信号,低电平有效,也就是主控从 SRAM 读取数据。
       WE 是写使能信号,低电平有效,也就是主控向 SRAM 写数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/97628.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么要学习Python爬虫与数据可视化?

提到Python爬虫与数据可视化,我们都不陌生。因为我们早已身在大数据驱动的时代,数据分析已然成为了一项必备技能。可能有人会问,为什么要学习Python爬虫与数据可视化? 答案是显而易见的,无论是出于时代发展的要求&…

redis之如何支持秒杀场景

写在前面 本文一起看下Redis在秒杀场景中的应用。 1:秒杀都有哪些阶段 redis并非在秒杀的所有阶段都需要使用到,为了更好的了解redis在秒杀场景中的应用,我们先来看下秒杀的不同阶段,基本可以分为秒杀前,秒杀进行时&…

什么是用户增长? (超详细)

一.概况 原因:随着人口红利的衰减,互联网流量红利的马太效应显现,这意味着成本的大幅度增加,企业必须改变过去粗放型的营销和运营方式,用更高效更低成本实现快速增长 定义:通过实验和数据驱动&#xff0c…

5.Linux实用操作

文章目录零、学习目标一、软件安装1、Linux系统的应用商店2、yum命令3、apt命令 - 扩展二、systemctl命令三、软连接四、下载和网络请求1、ping命令2、wget命令3、curl命令五、端口1、概念2、查看端口占用六、进程管理1、概念2、查看进程3、查看指定进程4、关闭进程七、主机状态…

SAP ABAP 开发管理 代码增强标记 位置使用清单(Mark of enhancement)

SAP ABAP 开发管理 代码增强标记 位置使用清单(Mark of enhancement) 引言: 代码增强标记 (Mark of enhancement)是我在 ABAP 开发中对增强管理的方法之一,是对 SAP 系统增强管理工具的补充。通过对代码增…

自学Python找不到工作?只要掌握这七大块,月薪15K轻轻松松

1. 开发环境和开发工具 python3.6下载 Download Python sublime Text 3 Sublime Text - Download pycharm下载 PyCharm :: Download Latest Version of PyCharm 2. python语法知识 个人推荐《Python从入门到实践》、《Python编程快速上手》 3. web框架 djangoh中文文档 D…

九、Docker 复杂安装之mysql主从复制

前面我们介绍了Docker 安装单机版mysql,如果没有看可以先看下:https://blog.csdn.net/u011837804/article/details/128315385 本篇学习的前提是懂得mysql主从复制的原理,话不多说,我们开始。 1、下载mysql5.7镜像 涉及命令: 查看本地镜像命令:docker images拉取mysql5…

最近邻 M 点

一 问题描述 在 K 维空间中有很多点,给定一个点,找出最近的 M 个点。点 p 和点 q 之间的距离是连接它们的直线段的长度。 二 输入和输出 1 输入 有多个测试用例。第 1 行包含两个非负整数 n 和 k ,分别表示点数和维数,1≤n≤5…

Python: unittest框架

目录 1.0 接口自动化框架设计 2.0 分层设计框架 3.0 接口配置文件 3.1 测试用例数据 4.0 框架执行入口 4.1 测试函数 4.1.1 参数替换 4.1.2 发送请求处理 4.1.3 响应断言 4.1.4 提取全局变量 4.1.5 数据库断言 5.0 工具类 5.1.1 excel文件处理 5.1.2 数…

直呼内行阿里离职带出内网专属“高并发系统设计”学习笔记

前言 我们知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务…

python 之 pandas数据处理

目录 一:读取文件 二:查看数据 三:获取数据 四:按标签选择 五:按照位置选择 六:布尔索引 七:缺失值 一:读取文件 read_csv 加载文件 df pd.read_csv("classify.csv&quo…

SPRING-了解2-XML

两种bean Spring中有两种bean:一种普通bean,另外一种工厂bin (Factory Bin&#xff0c;注意不是前面说的BeanFactory类) 普通Bean:xml中定义什么类型返回的就是什么类型 <bean id"book" class"com.i7i8i9.spring5.collectiontype.Book"> xml中clas…

Linux 应用基础 Framebuffer应用编程

文章目录前言一、了解Framebuffer二、了解LCD1.LCD的操作原理2.LCD坐标三. Framebuffer 程序分析1. 打开设备&#xff1a;&#xff08;open&#xff09;2. 获取LCD参数 : ( ioctl )3. 映射 framebuffer: ( mmap )四. 描点函数&#xff1a; &#xff08; lcd_put_pixel &#xf…

【OpenFOAM】-olaFlow-算例3- currentWaveFlume

算例路径&#xff1a; olaFlow\tutorials\currentWaveFlume 算例描述&#xff1a; 波流耦合模拟&#xff0c;该算例提供了四种工况&#xff1a;(1) Waves and forward current&#xff0c;(2) Waves and backward current&#xff0c;(3) Forward current only&#xff0c;(4) …

【LSTM预测】基于卷积神经网络结合双向长短时记忆CNN-BiLSTM(多输入单输出)数据预测含Matlab源码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

【云服务器 ECS 实战】一文掌握负载均衡服务原理及配置方法

一、负载均衡基本原理概述协议/端口轮询策略会话保持二、云服务器 ECS 负载均衡相关配置协议&监听配置后端服务器配置健康检查配置测试在上期文章中&#xff0c;介绍了负载均衡的概述及优势&#xff0c;并详细演示了阿里云服务器负载均衡服务的选型与购买配置。本期文章我们…

字节最新秋招面试题泄露,“背完”这些你也可以拿到字节offer

Java 一面基本上都是基础题&#xff0c;同样是 CURD 的活&#xff0c;谁更熟练要谁&#xff0c;比如下面这些面试题&#xff0c;八股文越熟练越容易通过 Java 面试。下面会给大家详解的介绍一下每个技术点的必问问题&#xff01; 一、Java 基础 1.JDK动态代理和CGLIB动态代理的…

12月18日第壹简报,星期日,农历十一月廿五

12月18日第壹简报&#xff0c;星期日&#xff0c;农历十一月廿五1. 官方&#xff1a;预计我国今年经济总量超过120万亿元&#xff0c;明年经济有望总体回升。2. 多地血库告急&#xff0c;两部门修改“指引”&#xff1a;最后一次新冠核酸或抗原阳性结果7天后可献血。3. 北京&am…

Wireshark 实验

本部分按照数据链路层、网络层、传输层以及应用层进行分类&#xff0c;共有 10 个实验。需要使用协议分析软件 Wireshark 进行&#xff0c;请根据简介部分自行下载安装。 准备 请自行查找或使用如下参考资料&#xff0c;了解 Wireshark 的基本使用&#xff1a; 选择对哪块网…

DropBox系列-打造车载系统APM框架

前言&#xff1a; 作者本人负责公司的APM监控模块&#xff0c;因为工作的原因&#xff0c;对ANR&#xff0c;crash等流程研究的比较多&#xff0c;最近在打造APM监控平台的时候&#xff0c;顺带对DropBox的实现原理进行了一定的学习和研究&#xff0c;发现了一些妙用&#xff…