嵌入式开发者社区

标题: 地址映射问题 [打印本页]

作者: 新手上路    时间: 2016-1-13 11:22
标题: 地址映射问题
假如我定义一个函数void update(int addr);

int main(void)
{......
.
.
update(point);//1函数
...................
..........


在ccs调试中 显示update()地址是 0x80005000,那 怎么看update(point)在该位置的,内存映射呢? 地址 0x80005000应该是定义该函数的地址。
我目的是想 直接调用 update(point);的内存映射地址 来 运行到1函数处的update(point)。

}

作者: 希望缄默    时间: 2016-1-13 17:20
.map 文件
作者: 新手上路    时间: 2016-1-13 18:42
希望缄默 发表于 2016-1-13 17:20
.map 文件

.MAP显示的是void update(int addr);定义时的 内存地址,不是执行update(point);的时候的 执行地址。怎么样获取执行地址呢?
作者: 希望缄默    时间: 2016-1-13 19:54
新手上路 发表于 2016-1-13 18:42
.MAP显示的是void update(int addr);定义时的 内存地址,不是执行update(point);的时候的 执行地址 ...

定义时的 内存地址 执行地址 没有这个概念
作者: 希望缄默    时间: 2016-1-13 19:54
新手上路 发表于 2016-1-13 18:42
.MAP显示的是void update(int addr);定义时的 内存地址,不是执行update(point);的时候的 执行地址 ...

只有加载地址和运行地址 默认这两个地址一致
作者: 新手上路    时间: 2016-1-14 09:20
希望缄默 发表于 2016-1-13 19:54
只有加载地址和运行地址 默认这两个地址一致


假如我定义一个函数void update(int addr);

int main(void)
{......
.
.
update(point);//1函数
不一样的吧,在工程中void update(int addr);定义地址是0x80007b92,但是update(point);加载地址是0x80008ae0,他俩是不一样的。
作者: 新手上路    时间: 2016-1-15 10:36
希望缄默 发表于 2016-1-13 19:54
只有加载地址和运行地址 默认这两个地址一致

D:\jietu
这个是运行时的截图,jumpp()加载地址是 0x80077a4
但是定义的内存地址是,0x80078ec;
我怎么样获取 ,jumpp()加载地址呢?
作者: 新手上路    时间: 2016-1-15 10:42

作者: 希望缄默    时间: 2016-1-15 17:27
新手上路 发表于 2016-1-15 10:42

图看不到 论坛是可以直接上传图片的 在高级模式
作者: 新手上路    时间: 2016-1-15 17:30
希望缄默 发表于 2016-1-15 17:27
图看不到 论坛是可以直接上传图片的 在高级模式

这个是运行时的截图,jumpp()加载地址是 0x80077a4
但是定义的内存地址是,0x80078ec;
我怎么样获取 ,jumpp()加载地址呢?

作者: 希望缄默    时间: 2016-1-15 17:40
新手上路 发表于 2016-1-15 17:30
这个是运行时的截图,jumpp()加载地址是 0x80077a4
但是定义的内存地址是,0x80078ec;
我怎么样获取  ...

定义的内存地址?
截图
作者: 新手上路    时间: 2016-1-18 09:45
希望缄默 发表于 2016-1-15 17:40
定义的内存地址?
截图

定义unsigned int jumpp( unsigned int *get_data);的 时候的地址;
截图箭头指的是单步  跑CCS时 跑到 jumpp()时   ccs的Disassembly中显示的地址,图片Disassembly,
作者: 希望缄默    时间: 2016-1-20 20:38
新手上路 发表于 2016-1-18 09:45
定义unsigned int jumpp( unsigned int *get_data);的 时候的地址;
截图箭头指的是单步  跑CCS时 跑到 j ...

这两个地址当然不能一样 你好好想想是不是?
作者: 新手上路    时间: 2016-1-22 11:59
希望缄默 发表于 2016-1-20 20:38
这两个地址当然不能一样 你好好想想是不是?

那用什么方式可以取到在ccs的Disassembly中显示的那个地址。




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4