• 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友,商务沟通v:ai_draw
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

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

点滴 admin 11年前 (2013-12-09) 2294次浏览 已收录 0个评论 扫描二维码

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);

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址