Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

DDR内存访问API文档

概述

通过MCU对DDR4和DDR5内存SPD的读写操作接口,通过串口(波特率:115200)使用JSON格式进行请求。

支持的操作

  • 读取(read)
  • 写入(write)
  • 写保护(srswp, crswp)

参数说明

参数名参数说明
spdaddr设备地址范围:50-57
typeDDR内存类型,可选值:ddr3ddr4ddr5
cmd操作类型,可选值:readwritesrswp
addr操作的字节地址,以十六进制表示(如 "0"
value要写入的数据,以十六进制字符串表示,多个字节可连续拼接(如 "AB12CD"
number要读取的字节数量

参数详解

  • 如要读写 ddr5 128位寄存器或PMIC寄存器,则type修改位ddr3PMIC地址为48
  • srswp 设置写保护,value 全为0则解除所有Block写保护;ddr3仅支持解除写保护。
  • spdaddr type cmd 为必填项,其他参数根据cmd填写。
  • addrcmdread write时才需要填写。
  • numbercmdread时才需要填写。
  • valuecmdwrite srswp时才需要填写。

1. 读取

向指定的字节地址读取数据,起始地址00,则从00开始读取三个字节。

请求示例:

{
  "spdaddr": "50",
  "type": "ddr5",
  "cmd": "read",
  "addr": "0",
  "value": "",
  "number": "3"  
}

响应示例:

AB12CD

2. 写入

向指定的字节地址写入数据,起始地址0,写入值AB12CD,则从0开始写入三个字节。

请求示例:

{
  "spdaddr": "50",
  "type": "ddr5",
  "cmd": "write",
  "addr": "0",
  "value": "AB12CD",
  "number": ""
}

响应示例:

  • 待完善
无响应

3. 设置写保护

DDR5请求示例:

  • 设置写保护(value由两组二位16进制值,转换为二进制对应Block位15 ~ 01为开启,0为关闭
{
  "spdaddr": "50",
  "type": "ddr5",
  "cmd": "srswp",
  "addr": "",
  "value": "2233",
  "number": ""
}

DDR4请求示例:

  • 设置写保护(value由二位16进制值取低四位,转换为二进制对应Block位3 ~ 01为开启,0为关闭
{
  "spdaddr": "50",
  "type": "ddr4",
  "cmd": "srswp",
  "addr": "",
  "value": "0F",
  "number": ""
}

响应示例:

OK

DDR3请求示例:

  • 仅支持解除写保护
{
  "spdaddr": "50",
  "type": "ddr3",
  "cmd": "srswp",
  "addr": "",
  "value": "00",
  "number": ""
}