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

这篇具有很好参考价值的文章主要介绍了Linux系统中DDR3硬件初始化实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

       大家好,我是ST。

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

目录

第一:何为RAM和ROM

第二:DDR初始化与测试

第三:DDR框架图基本分析


   ddr3初始化,Linux操作系统嵌入式开发之经典,驱动开发,linux

第一:何为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框架图基本分析

                              ddr3初始化,Linux操作系统嵌入式开发之经典,驱动开发,linux

       文章来源地址https://www.toymoban.com/news/detail-659150.html

①、地址线
       这部分是地址线,一共 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 写数据。

到了这里,关于Linux系统中DDR3硬件初始化实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 日志审计系统Agent项目创建——初始化数据库和日志文件(Linux版本)

    完结,下一篇主要是读取日志文件,并读取最新日志文件

    2024年01月16日
    浏览(44)
  • ☀️将大华摄像头画面接入Unity 【1】配置硬件和初始化摄像头

    目前的设想是后期采用网口供电的形式把画面传出来,所以这边我除了大华摄像头还准备了POE供电交换机,为了方便索性都用大华的了,然后全都连接电脑主机即可。 这边初始化摄像头需要用到大华的Configtool软件,下载地址如下。 全部-浙江大华技术股份有限公司 (dahuatech

    2024年02月21日
    浏览(67)
  • Linux内存初始化-启动阶段的内存初始化

    本文代码基于ARM64平台, Linux kernel 5.15 在加载kernel 之前, kernel对于系统是有一定要求的,明确规定了boot阶段必须要把MMU关闭: 那么在进入kernel之后, 就必须有一个使能MMU, 建立映射的过程, 本文描述kernel启动阶段进行内存初始化相关的操作。 在初始化阶段,我们mapping二段

    2024年02月08日
    浏览(55)
  • 基于RK3588的嵌入式linux系统开发(一)——开发环境的搭建(SDK解压与本地初始化)

    1、拷贝rk3588的linux-sdk压缩包到工作目录,如下所示: 图1 拷贝rk3588的sdk到工作目录 2、进入sdk目录进行MD5码的计算,并对比md5sum.txt文件内的值,确保压缩包未被修改。 图2 MD5码计算与匹配 3、安装p7zip-full工具,并解压rk3588的sdk压缩包,如下图所示: sudo apt-get install p7zip-full

    2023年04月12日
    浏览(31)
  • media设备节点初始化与Video4Linux初始化

    media_devnode_init函数是一个内核初始化函数,用于在Linux内核启动期间进行设备节点初始化。 函数的主要作用是创建媒体设备节点(device node)并将其注册到系统的设备树中。媒体设备节点用于表示媒体设备(如摄像头、音频设备等),它们在/dev目录下以特定的名称存在,并允

    2024年02月05日
    浏览(30)
  • Linux:Linux初始化配置指南

    在安装完Linux操作系统后,我们需要执行一些操作以确保系统正常运行并满足我们的需求。下面是一些常见的虚拟机系统安装后操作: 设置root密码: 首先,我们应该设置root用户的密码。可以使用以下命令设置root密码: 创建普通用户: 为了安全起见,应该创建一个普通用户

    2024年02月10日
    浏览(36)
  • Linux服务器初始化工作

    以下为一键运行脚本,此脚本在AlmaLinux8,9系统上测试通过,其它版本系统无法保证全部功能正常运行。推荐仅在全新的服务器操作系统上运行此脚本,如二次执行可能会出现未知错误! 通常在购买一台新的服务器时服务器Hostname会被云厂商定义为特定的名称,如果需要修改

    2023年04月22日
    浏览(55)
  • 阿里云服务器如何初始化云盘(跟换系统)?初始化云盘和跟换操作系统的区别?

            若在Linux系统(服务器)上,环境安装出错,可通过云服务器上初始化云盘,回归硬盘初始化状态,进行重新安装。         作为小白的我们,第一次在服务器中下载安装软件,并部署环境,难免万般出错,然而想要完全卸载软件,甚是初始化到原来的系统环境,依

    2023年04月08日
    浏览(38)
  • 凝思系统安装及初始化配置

    我本次使用的是浪潮塔式服务器,配置如下: [浪潮塔式服务器][130101101200095X][NP5570系列|Intel至强银牌(8核16线2.1GHz)CPU 2|16GB内存 2|2TB硬盘 1|4GB独显 1|千百兆网口 4|500W电源 1|键盘鼠标 1|内置DVD 1] 浪潮服务器官网地址:https://www.inspur.com/eportal/ui?pageId=2317460type=2 官方镜像下载地址:

    2024年02月12日
    浏览(151)
  • 【Linux下MySQL的初始化和配置】

    先去官网把需要的MYSQL版本下载并安装好,网上具体下载的方法蛮多的,这里就不赘述了。 为了保证数据库目录与文件的所有者为 mysql 登录用户,如果 以 root 身份运行 mysql 服务 ,需要执行下面的命令: 说明: –initialize选项 默认以“安全”模式来初始化, 为 root 用户生成

    2024年02月07日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包