multibin
為提高boot引導(dǎo)速度,,需支持multibin。方法如下:
1.D:\WINCE600\PLATFORM\SMDKV210\SMDKV210.bat
@REM For Multiple XIP (using demand paging on BINFS)
set IMGMULTIXIP=1
2.調(diào)整config.bib鏡像大小
由于系統(tǒng)生成的XIPKERNEL約為3M。大于默認(rèn)設(shè)置。所以改大到3M。后面的相應(yīng)調(diào)整
IF WINCEDEBUG = retail
? ? XIPKERNEL ? 80020000 ?00300000 ?RAMIMAGE ? ?;?
? ? NK ? ? ? ? ?80320000 ?03D00000 ?NANDIMAGE ? ; Max size (it will be autosized)
? ? RAM ? ? ? ? 80320000 ?05BFF000 ?RAM ? ? ? ? ; Max size (it will be autosized)
3.smdkv210\src\bootloader\eboot\nand.cpp
bool LoadNK()
{
...
#if 0?
? ? // Read the kernel region from the Boot Media into RAM.
? ? //
? ? if ( !BP_ReadData( hPart,
? ? ? ? ? ? ? ? ? ? ? ?(LPBYTE)(g_pTOC->id[TOC_ENTRY_NK].dwLoadAddress),
? ? ? ? ? ? ? ? ? ? ? ?SECTOR_TO_FILE_SIZE(g_pTOC->id[TOC_ENTRY_NK].dwTtlSectors)) )
? ? {
? ? ? ? OALMSG(1, (TEXT("Failed to read kernel region from partition.\r\n")));
? ? ? ? return FALSE;
? ? }
#else ?//for support multibin .
? ? if ( !BP_ReadData( hPart,
? ? ? ? ? ? ? ? ? ? ? ?(LPBYTE)(g_pTOC->id[TOC_ENTRY_NK].dwLoadAddress),
? ? ? ? ? ? ? ? ? ? ? ?3*1024*1024/*3M*/) )
? ? {
? ? ? ? OALMSG(1, (TEXT("Failed to read kernel region from partition.\r\n")));
? ? ? ? return FALSE;
? ? }
#endif
...
}
4.運(yùn)行SMDKV210.bat
5.重新編譯生成新的9tripod_boot.nb0 和新的xip.bin?
6.用新的9tripod_boot.nb0來引導(dǎo)系統(tǒng),下載OS從NK.BIN改為XIP.BIN。
7.啟動速度約12S,不計(jì)bootloader中的5S倒計(jì)時(shí)(注此5S倒計(jì)時(shí)可去除,加快啟動速度)。即可
出現(xiàn)界面。
8.存在的后續(xù)工作:
? 要根據(jù)實(shí)現(xiàn)需要來調(diào)整reg、bib文件
1.D:\WINCE600\PLATFORM\SMDKV210\SMDKV210.bat
@REM For Multiple XIP (using demand paging on BINFS)
set IMGMULTIXIP=1
2.調(diào)整config.bib鏡像大小
由于系統(tǒng)生成的XIPKERNEL約為3M。大于默認(rèn)設(shè)置。所以改大到3M。后面的相應(yīng)調(diào)整
IF WINCEDEBUG = retail
? ? XIPKERNEL ? 80020000 ?00300000 ?RAMIMAGE ? ?;?
? ? NK ? ? ? ? ?80320000 ?03D00000 ?NANDIMAGE ? ; Max size (it will be autosized)
? ? RAM ? ? ? ? 80320000 ?05BFF000 ?RAM ? ? ? ? ; Max size (it will be autosized)
3.smdkv210\src\bootloader\eboot\nand.cpp
bool LoadNK()
{
...
#if 0?
? ? // Read the kernel region from the Boot Media into RAM.
? ? //
? ? if ( !BP_ReadData( hPart,
? ? ? ? ? ? ? ? ? ? ? ?(LPBYTE)(g_pTOC->id[TOC_ENTRY_NK].dwLoadAddress),
? ? ? ? ? ? ? ? ? ? ? ?SECTOR_TO_FILE_SIZE(g_pTOC->id[TOC_ENTRY_NK].dwTtlSectors)) )
? ? {
? ? ? ? OALMSG(1, (TEXT("Failed to read kernel region from partition.\r\n")));
? ? ? ? return FALSE;
? ? }
#else ?//for support multibin .
? ? if ( !BP_ReadData( hPart,
? ? ? ? ? ? ? ? ? ? ? ?(LPBYTE)(g_pTOC->id[TOC_ENTRY_NK].dwLoadAddress),
? ? ? ? ? ? ? ? ? ? ? ?3*1024*1024/*3M*/) )
? ? {
? ? ? ? OALMSG(1, (TEXT("Failed to read kernel region from partition.\r\n")));
? ? ? ? return FALSE;
? ? }
#endif
...
}
4.運(yùn)行SMDKV210.bat
5.重新編譯生成新的9tripod_boot.nb0 和新的xip.bin?
6.用新的9tripod_boot.nb0來引導(dǎo)系統(tǒng),下載OS從NK.BIN改為XIP.BIN。
7.啟動速度約12S,不計(jì)bootloader中的5S倒計(jì)時(shí)(注此5S倒計(jì)時(shí)可去除,加快啟動速度)。即可
出現(xiàn)界面。
8.存在的后續(xù)工作:
? 要根據(jù)實(shí)現(xiàn)需要來調(diào)整reg、bib文件
總結(jié)
- 上一篇: 百度的算法面试题
- 下一篇: 交易机项目工作日志--2013-1-31