u-boot中memory(SDRAM/DDR)相关命令 -- md

本文介绍了在u-boot中如何使用md命令查看内存内容,包括启用md命令的方法,不同格式的显示方式,并分析了源代码实现。示例展示了md命令在不同基地址和长度下的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[u-boot: v2013.07-rc2]

[Author: Bo Shen <voice.shen@gmail.com>]


1. 使能md命令

通过定义:CONFIG_CMD_MEMORY, 就可以使能md命令。

注:由于在<include/config_cmd_default.h>里面已经有此定义,在板子相关的configure文件中(位于<include/configs/>),默认情况下,都会include此文件。所以,u-boot默认会包含此命令。

源代码:<common/cmd_mem.c>

2. Usage

md - memory display

:md显示的是由md命令的参数加上base_address内容。具体参见源码

例:

2.1 显示length为1的memory内容

U-Boot> base
Base Address: 0x00000000
U-Boot>
md 0x20000000 0x1
20000000: 00000000 

U-Boot> base 0x20000000
Base Address: 0x20000000
U-Boot>
md 0 0x1
20000000: 00000000

:两次执行命令的参数不一样,但显示的结果却一样。这是因为:base_address不一样。

2.2 md更多格式的显示

U-Boot> md.b 0 0x1
20000000: 00                                                 .
U-Boot> md.w 0 0x1
20000000: 0000                                       ..
U-Boot> md.l 0 0x1
20000000: 00000000

3. 源代码分析

#define DISP_LINE_LEN 16

do_mem_md

|--> ulong bytes = size * length

|--> const void *buf = map_system(addr, bytes);

|--> print_buffer(addr, buf, size, length, DISP_LINE_LEN / size);

|--> addr += bytes;

|--> unmap_sysmem(buf);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值