毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

为什么IMAGE_TYPE_RAWBIN 要FILE_CACHE_START

更新时间:2013-2-13:  来源:毕业论文

为什么IMAGE_TYPE_RAWBIN 要FILE_CACHE_START
问题1:
LPBYTE OEMMapMemAddr(DWORD dwImageStart, DWORD dwAddr)
{
if (g_ImageType & IMAGE_TYPE_STEPLDR)
{
dwAddr = (FILE_CACHE_START + (dwAddr - STEPLDR_RAM_IMAGE_BASE));
    return (LPBYTE)dwAddr;
}
    else
    if (g_ImageType & IMAGE_TYPE_LOADER)
    {
dwAddr = (FILE_CACHE_START + (dwAddr - EBOOT_RAM_IMAGE_BASE));
    return (LPBYTE)dwAddr;
}
else
    if (g_ImageType & IMAGE_TYPE_RAWBIN)
    {
        OALMSG(TRUE, (TEXT("OEMMapMemAddr 0x%x  0x%x\r\n"),dwAddr,(FILE_CACHE_START + dwAddr)));
dwAddr = FILE_CACHE_START + dwAddr;
    return (LPBYTE)dwAddr;
}

    return (LPBYTE)dwAddr;
}
在TQ2440中使用Nand Flash存储OS,执行是在SDRam中,则下载到SDRam的地址就是直接执行的,
但为什么IMAGE_TYPE_RAWBIN 和IMAGE_TYPE_RAMIMAGE的映射不同,为什么IMAGE_TYPE_RAWBIN 要FILE_CACHE_START?

问题2:
eboot.bib中的内存布局和代码中的怎么很多不一致啊?

    BINFS    800B0000  00021000  RESERVED   

#define BINFS_RAM_START (0x80100000 | CACHED_TO_UNCACHED_OFFSET) // uncached
#define BINFS_RAM_LENGTH 0x21000

    FLSCACHE 80200000  01400000  RESERVED ;OS

#define ROM_RAMIMAGE_START 0x80000000
#define ROM_RAMIMAGE_SIZE 0x02000000

    DISPLAY  80101000  000F0000  RESERVED

#define IMAGE_FRAMEBUFFER_UA_BASE       0xA0100000
#define IMAGE_FRAMEBUFFER_DMA_BASE      0x30100000
#define IMAGE_FRAMEBUFFER_UA_BASE_eboot       0xA0101000
#define IMAGE_FRAMEBUFFER_DMA_BASE_eboot      0x30101000

问题2:
eboot.bib中的内存布局和代码中的怎么很多不一致啊?

  BINFS 800B0000 00021000 RESERVED  

#define BINFS_RAM_START (0x80100000 | CACHED_TO_UNCACHED_OFFSET) // uncached
#define BINFS_RAM_LENGTH 0x21000
---》
那要改为#define BINFS_RAM_START             (0x800B0000 | CACHED_TO_UNCACHED_OFFSET)   // uncached
#define BINFS_RAM_LENGTH            0x21000
总之已boot.bib中定义的值来修改代码

  FLSCACHE 80200000 01400000 RESERVED ;OS

#define ROM_RAMIMAGE_START 0x80000000
#define ROM_RAMIMAGE_SIZE 0x02000000
---》同上已boot.bib中的设置来修改
  DISPLAY 80101000 000F0000 RESERVED

#define IMAGE_FRAMEBUFFER_UA_BASE 0xA0100000
#define IMAGE_FRAMEBUFFER_DMA_BASE 0x30100000
#define IMAGE_FRAMEBUFFER_UA_BASE_eboot 0xA0101000
#define IMAGE_FRAMEBUFFER_DMA_BASE_eboot 0x30101000
---》同上已boot.bib中的设置来修改

之所以出现上面的问题,应该是移植或修改过程遗留下来的问题。

[1] [2] 下一页

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。