查看: 6067|回复: 3

[求助] map文件中 v_addr p_addr 的具体意义是什么?

[复制链接]

该用户从未签到

15

主题

22

帖子

0

新手上路

Rank: 1

积分
26
最后登录
1970-1-1
发表于 2011-3-19 22:04:37 | 显示全部楼层 |阅读模式
我的MAP文件。 
v_addr   p_addr   size     name
  00004000 00004000 00000400 .vectors   vectorrom
  00000400 00000400 00000018 .cfmprotect cfmprotrom
  00004500 00004500 000628A4 .main_application rom
  10000000 00066DA4 00000750 .main_application_data ram
  10000750 000674F4 00000018 .romp      ram
  10000768 10000768 000180F5 .main_application_bss ram
  1001885D 1001885D 00000000 .kernel_data ram
  2000FFF0 2000FFF0 00000000 .end_of_kernel_data end_of_kd
  2000FA00 2000FA00 00000000 .boot_stack bstack
  2000FBFF 2000FBFF 00000000 .end_of_boot_stack end_bstack
 
  10000000 00066DA4 00000750 .main_application_data ram
  10000750 000674F4 00000018 .romp      ram
这两行的两个地址不一样。00000000的起始地址是FLASH ,10000000的起始地址是内存,p_addr是物理地址?V_addr是虚拟地址?
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

2

主题

224

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
322
最后登录
1970-1-1
发表于 2011-3-20 11:35:10 | 显示全部楼层

RE:map文件中 v_addr p_addr 的具体意义是什么?

执行地址和存放地址。
程序初始化时会将存放地址上的数据搬移到执行地址上。

该用户从未签到

0

主题

1

帖子

0

新手上路

Rank: 1

积分
1
最后登录
1970-1-1
发表于 2011-7-9 00:07:24 | 显示全部楼层

RE:map文件中 v_addr p_addr 的具体意义是什么?

请教一下:
搬移的过程是CPU自己完成还是编译器会自动添加代码来完成这个过程

该用户从未签到

2

主题

224

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
322
最后登录
1970-1-1
发表于 2011-7-12 13:35:02 | 显示全部楼层

RE:map文件中 v_addr p_addr 的具体意义是什么?

搬移,CPU是不会自动完成的,编译器也不会自动添加搬移代码,需要programmer自行添加代码完成搬移。
通常通过CW新建的样例工程中会有此部分代码。
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-19 16:46 , Processed in 0.092338 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表