0x3000_0000~0x3002_8000用来干什么?

justgod 2010-07-29 05:29:06
MEMORY
; Name Start Size Type
; ------- -------- -------- ----
ARGS 80020800 00000800 RESERVED
RAM 80021000 0000B000 RAM
STACK 8002c000 0000A000 RESERVED
EBOOT 80038000 00040000 RAMIMAGE
BINFS 80080000 00021000 RESERVED

如上,
boot.bib中可以看到Eboot的虚拟地址分布。

但不明白0x3000_0000~0x3002_8000 内存用来干什么?




...全文
338 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
博说医械研发 2010-07-30
  • 打赏
  • 举报
回复
2443的stepstone空间是8K吧?stepldr的大小只有8K吗?如果是三星的BSP绝对不止这么大,那么多余的代码放在哪里?当然是放在EBOOT之前的那段空间里。
chinesedragon2010 2010-07-30
  • 打赏
  • 举报
回复
以前我也忽略了内存0x3000_0000~0x3002_0800的具体做用,谢谢楼主的提醒啊。
chinesedragon2010 2010-07-30
  • 打赏
  • 举报
回复
内存空间是从0x30000000,但我也不是很清楚0x3000_0000~0x3002_0800 内存的具体作用,期待大家给出正确的答案。
justgod 2010-07-30
  • 打赏
  • 举报
回复
我用的是2443,
从EBOOT 80038000 00040000
eboot执行代码应该是从物理地址30038000~30078000

为什么上面两位老兄还认为0x3000_0000~0x3002_8000 放boot呢?

PS:2443的内存空间从0x30000000开始的。

chinesedragon2010 2010-07-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 veabol 的回复:]
2443的stepstone空间是8K吧?stepldr的大小只有8K吗?如果是三星的BSP绝对不止这么大,那么多余的代码放在哪里?当然是放在EBOOT之前的那段空间里。
[/Quote]
2443的stepstone空间是4K,不是8k,eboot目录\Src\Bootloader\Eboot下的sources,包含了下面的一些库
TARGETLIBS= \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_memory_s3c2443.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_cache_s3c2443.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\s3c2443_args.lib \
$(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_kitl.lib \
$(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_log.lib \
$(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_blnk.lib \
$(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_blcommon.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\cs8900dbg_eboot.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\bootpart.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\eboot.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ne2kdbg.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ddk_io.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\smflash_lib.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\fulllibc.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\gsnull.lib

会不会0x3000_0000~0x3002_0800 这段内存是被这些库使用了?
博说医械研发 2010-07-30
  • 打赏
  • 举报
回复
三星官方的2443 BSP这部分代码是超过4K的,你的BSP是否超过要自己看了。
另外你看一下files目录中的config.bib有没有使用这部分内存。
justgod 2010-07-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 veabol 的回复:]
2443的stepstone空间是8K吧?stepldr的大小只有8K吗?如果是三星的BSP绝对不止这么大,那么多余的代码放在哪里?当然是放在EBOOT之前的那段空间里。
[/Quote]

stepldr 不就是nboot吗?它大小怎么会超过4K吧!!而且它不会copy到内存上运行的吧。
难道我理解又错了。
博说医械研发 2010-07-29
  • 打赏
  • 举报
回复
可能是放的其它BOOT代码
jonsenwu 2010-07-29
  • 打赏
  • 举报
回复
需要搞清楚你用的是什么芯片啊,不同的芯片MEMORY MAP 不同
看下spec就知道了,估计你的是2440的
这段地址应该是放boot的,我没高过2440不过看过2410的boot代码,映像中是这样

以上留言只是个人瞎猜,不负法律责任!

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧