📄 imgcfg.c
字号:
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
#ifdef PLAT_PMC
#include <bsp.h>
#include <pmc_loader.h>
//------------------------------------------------------------------------------
//
// Function: OALImgCfgQuery
//
// This function is called from other OAL modules to return information from
// image_cfg.h, that is, to return information about the image memory layout.
// Note: if image_cfg.h is defined similarly to the sample BSP, this code should
// be useable unchanged.
//
DWORD OALImgCfgQuery(DWORD dwRegion, DWORD dwInfo)
{
DWORD dwData = 0;
OALMSG(OAL_ARGS&&OAL_FUNC, (L"+OALImgCfgQuery(%d,%d)\r\n", dwRegion, dwInfo));
// Depending on required args
switch (dwRegion)
{
case OAL_IMGCFG_QUERY_BSPARGS:
switch (dwInfo)
{
case OAL_IMGCFG_QUERY_START: dwData = IMAGE_SHARE_ARGS_RAM_START; break;
case OAL_IMGCFG_QUERY_SIZE: dwData = IMAGE_SHARE_ARGS_RAM_SIZE; break;
case OAL_IMGCFG_QUERY_OFFSET: dwData = IMAGE_SHARE_ARGS_RAM_OFFSET; break;
}
break;
case OAL_IMGCFG_QUERY_BLDRIMAGE_RAM:
switch (dwInfo)
{
case OAL_IMGCFG_QUERY_START: dwData = IMAGE_BOOT_BLDRIMAGE_RAM_START; break;
case OAL_IMGCFG_QUERY_SIZE: dwData = IMAGE_BOOT_BLDRIMAGE_SIZE; break;
case OAL_IMGCFG_QUERY_OFFSET: dwData = IMAGE_BOOT_BLDRIMAGE_RAM_OFFSET; break;
}
break;
case OAL_IMGCFG_QUERY_NKIMAGE_RAM:
switch (dwInfo)
{
case OAL_IMGCFG_QUERY_START: dwData = IMAGE_WINCE_NK_RAM_START; break;
// Autosize... case OAL_IMGCFG_QUERY_SIZE: dwData = ??; break;
case OAL_IMGCFG_QUERY_OFFSET: dwData = IMAGE_WINCE_NK_RAM_OFFSET; break;
}
break;
case OAL_IMGCFG_QUERY_BOOT_FLASH:
switch (dwInfo)
{
case OAL_IMGCFG_QUERY_START: dwData = IMAGE_BOOT_NOR_PA_START; break;
case OAL_IMGCFG_QUERY_SIZE: dwData = 2 * 1024 * 1024 ; break; // TODO: Is this defined somewhere?
case OAL_IMGCFG_QUERY_OFFSET: dwData = 0; break;
}
break;
case OAL_IMGCFG_QUERY_BLDRIMAGE_FLASH:
switch (dwInfo)
{
case OAL_IMGCFG_QUERY_START: dwData = IMAGE_BOOT_BLDRIMAGE_FLASH_START; break;
case OAL_IMGCFG_QUERY_SIZE: dwData = IMAGE_BOOT_BLDRIMAGE_SIZE; break;
case OAL_IMGCFG_QUERY_OFFSET: dwData = 0; break;
}
break;
case PMC_IMGCFG_QUERY_RECOVERY_RAM:
switch (dwInfo)
{
case OAL_IMGCFG_QUERY_START: dwData = IMAGE_WINCE_RECOVERY_RAM_START; break;
case OAL_IMGCFG_QUERY_SIZE: dwData = IMAGE_RECOVERY_SIZE; break;
case OAL_IMGCFG_QUERY_OFFSET: dwData = IMAGE_WINCE_RECOVERY_RAM_OFFSET; break;
}
break;
case PMC_IMGCFG_QUERY_RAMIMG_RAM:
switch (dwInfo)
{
case OAL_IMGCFG_QUERY_START: dwData = IMAGE_SHARE_RAMIMG_RAM_START; break;
// TODO: No size given...case OAL_IMGCFG_QUERY_SIZE: dwData = ??; break;
case OAL_IMGCFG_QUERY_OFFSET: dwData = IMAGE_SHARE_RAMIMG_RAM_OFFSET; break;
}
break;
case PMC_IMGCFG_QUERY_RECOVERY_FLASH:
switch (dwInfo)
{
case OAL_IMGCFG_QUERY_START: dwData = IMAGE_RECOVERY_FLASH_START; break;
case OAL_IMGCFG_QUERY_SIZE: dwData = IMAGE_RECOVERY_SIZE; break;
case OAL_IMGCFG_QUERY_OFFSET: dwData = IMAGE_RECOVERY_FLASH_OFFSET; break;
}
break;
case PMC_IMGCFG_QUERY_DRM_FLASH:
switch (dwInfo)
{
case OAL_IMGCFG_QUERY_START: dwData = IMAGE_WINCE_DRM_FLASH_START; break;
case OAL_IMGCFG_QUERY_SIZE: dwData = IMAGE_WINCE_DRM_FLASH_SIZE; break;
case OAL_IMGCFG_QUERY_OFFSET: dwData = IMAGE_WINCE_DRM_FLASH_OFFSET; break;
}
break;
case PMC_IMGCFG_QUERY_CONFIG_FLASH:
switch (dwInfo)
{
case OAL_IMGCFG_QUERY_START: dwData = IMAGE_WINCE_CONFIG_FLASH_START; break;
case OAL_IMGCFG_QUERY_SIZE: dwData = IMAGE_WINCE_CONFIG_FLASH_SIZE; break;
case OAL_IMGCFG_QUERY_OFFSET: dwData = IMAGE_WINCE_CONFIG_FLASH_OFFSET; break;
}
break;
}
OALMSG(OAL_ARGS&&OAL_FUNC, (L"-OALImgCfgQuery(dwData = 0x%08x)\r\n", dwData));
return dwData;
}
//------------------------------------------------------------------------------
#endif // PLAT_PMC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -