专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > WinCE

eboot, TOC,NK 地址跳转的有关问题

发布时间:2010-06-13 22:29:04 文章来源:www.iduyao.cn 采编人员:星星草
eboot, TOC,NK 地址跳转的问题
平台:S3C2440+WINCE5。0+EBOOT
问题1:在Eboot输出的调试信息中TOC的ID[1],打印出来的信息中dwLoadAddress:0x80200000 dwJumpAddress:0x8037cf88
  其中dwLoadAddress是把nk.bin拷贝到RAM的虚拟地址,dwJumpAddress应该就是EBOOT完成拷贝之后,跳转到这个地址
  去执行,问题是拷贝内核到RAM地址和跳转去执行的内核地址是不一样的。0x80200000 这个地址是在config.bib中确定,
  那么dwJumpAddress又是在那里确定,为什么这两个地址可以不一样?
问题2:在boot.bib中 BINFS 0x80080000 00021000关于BINFS地址的设置又有什么需要注意的?跟什么有关系,怎么换算,它的
  大小是如何确定的,跟内核大小有什么关系?
 

------解决方案--------------------
第二个问题,BINFS 0x80080000 00021000中是保留了一段内存给BOOTPART库使用,
大小与NK无关,跟FLASH的大小有关,具体计算方法如下:
BOOL BP_Init(
LPBYTE pMemory, 
DWORD dwSize,
LPCTSTR lpActiveReg,
PPCI_REG_INFO pRegIn,
PPCI_REG_INFO pRegOut);

dwSize
[in]This value should be at least the size of one flash block plus one sector plus sectors divided by blocks multiplied by eight, or as expressed as a mathematical statement: block + sector + (sectors/block) * 8. 

------解决方案--------------------
探讨
问题是跳转去执行内核的RAM地址是在那里设置的,config.bib和boot.bib都找不到
问题三:eboot中的全局变量g_TOC的地址,书上说是RomImage确定了它的位置,那么RomImage是如何确定的,是自动设置的还是通过文件固定的,譬如象.bib文件设置一样??

------解决方案--------------------
探讨
引用:
问题是跳转去执行内核的RAM地址是在那里设置的,config.bib和boot.bib都找不到
问题三:eboot中的全局变量g_TOC的地址,书上说是RomImage确定了它的位置,那么RomImage是如何确定的,是自动设置的还是通过文件固定的,譬如象.bib文件设置一样??


楼主,0x80200000 这个地址是在config.bib中确定的,这个0x80200000 是虚拟地址啊。但在eboot中MMU都没有打开,不能用0x80200000 这个地址跳转,…

------解决方案--------------------
EBOOT最后跳转到NK.bin中,是NK.exe的入口处,并非NK的起始地址,
一般都是在起始地址之后的一个地址。
你可以通过viewbin nk.bin查看这个起始地址。
------解决方案--------------------
Eboot下载的是bin,但烧进Flash的是nb0,解压后烧进去的
------解决方案--------------------
我也想知道0x30038000这个地址怎么来的……
------解决方案--------------------
Binfs跟ROM Only File System应该是完全不同的两回事,
Binfs是一种文件系统,跟FAT之类是一个概念;而ROM Only File System则是OS选用的是RAM,RAM+ROM还是ROM Only文件系统中的一个,而且一般这里的ROM文件系统也不会用Binfs,所以说两个之间可以说基本上没有什么关系
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: