3793|6

72

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

windows mobile启动中的经典错误initialized function of oem certification [复制链接]

各位大虾,请教个问题:
定制mobile bsp的时候 ,开机启动时候出现如下的debug信息,实在是找不到问题出在哪里,debug info如下:
Windows CE Kernel for ARM (Thumb Enabled) Built on Dec  2 2008 at 15:23:13
ProcessorType=0b76  Revision=6
sp_abt=ffff1000 sp_irq=ffff0800 sp_undef=ffffc800 OEMAddressTable = 8020d118
[OAL] ++OEMInit()
[OAL] FCLK  : 532000000

[OAL] ARMCLK : 532000000

[OAL] HCLK  : 133000000

[OAL] PCLK  : 33250000

CEProcessorType = 0xa11
+OEMInit
FCLK: 532000000, HCLK: 133000000, PCLK: 33250000, Prescaler: 2
[OAL] ++InitializeINFORMSFR()
[OAL] --InitializeINFORMSFR()
[OAL] InitializeCLKSource()
[OAL] InitializeCLKGating()
[OAL] InitializeBlockPower()
DCache: 128 sets, 4 ways, 32 line size, 16384 size
ICache: 128 sets, 4 ways, 32 line size, 16384 size
+OALTimerInit( 1, 16624, 0 )
[OAL] ++InitializeGPIO()
[OAL] --InitializeGPIO()
OALKitlStart()

pBSPArgs->header.signature(53475241)=53475241
pBSPArgs->header.oalVersion(1)=1
pBSPArgs->header.bspVersion(1)=1
pBSPArgs->fUpdateMode=0
pBSPArgs->kitl.flags=0
-OEMInit
INFO:OALLogSetZones: g_oalLogMask: 0xb
Sp=ffffc7cc
+OALIoCtlHalGetHWEntropy
[OEMIO:INF]  + IOCTL_HAL_POSTINIT
[OEMIO:INF]  - IOCTL_HAL_POSTINIT
+OALIoCtlHalInitRTC(...)
OEMSetRealTime(2007/7/1 12:0:0.000)
-OEMSetRealTime(rc=1)
[HALWP:INF]  nCtrlCode = PM_HAL_FIL_INIT
[FIL] ################
[FIL]  MID    = 0xec
[FIL]  DID    = 0xd3
[FIL]  HID[0] = 0x14
[FIL]  HID[1] = 0xa5
[FIL]  HID[2] = 0x64
[FIL] ################
[FIL] ##############################
[FIL]  FIL Global Information
[FIL]  BANKS_TOTAL = 1
[FIL]  BLOCKS_PER_BANK = 2048
[FIL]  TWO_PLANE_PROGRAM = 1
[FIL]  SUPPORT_INTERLEAVING = 0
[FIL]  SUBLKS_TOTAL = 2048
[FIL]  PAGES_PER_SUBLK = 128
[FIL]  PAGES_PER_BANK = 262144
[FIL]  SECTORS_PER_PAGE = 4
[FIL]  SECTORS_PER_SUPAGE = 8
[FIL]  SECTORS_PER_SUBLK = 1024
[FIL]  BYTES_PER_MAIN_PAGE = 2048
[FIL]  USER_SECTORS_TOTAL = 1899520
[FIL]  ADDRESS_CYCLE = 5
[FIL] ##############################

[INFO] WMR_AREA_SIZE = 10
[INFO] SPECIAL_AREA_START = 10
[INFO] SPECIAL_AREA_SIZE = 50
[INFO] VFL_AREA_START = 60
[INFO] VFL_AREA_SIZE = 106
[INFO] VFL_INFO_SECTION_START = 60
[INFO] VFL_INFO_SECTION_SIZE = 4
[INFO] RESERVED_SECTION_START = 64
[INFO] RESERVED_SECTION_SIZE = 102
[INFO] FTL_INFO_SECTION_START = 166
[INFO] FTL_INFO_SECTION_SIZE = 10
[INFO] LOG_SECTION_SIZE = 7
[INFO] FREE_SECTION_START = 176
[INFO] FREE_SECTION_SIZE = 17
[INFO] FREE_LIST_SIZE = 3
[INFO] DATA_SECTION_START = 193
[INFO] DATA_SECTION_SIZE = 1855
[INFO] FTL_AREA_START = 166
[INFO] FTL_AREA_SIZE = 1882
[HALWP:INF]  nCtrlCode = PM_HAL_VFL_INIT
[HALWP:INF]  nCtrlCode = PM_HAL_VFL_OPEN
[OND:MSG]  GetBmlId - BmlPartitionId = 3
[OND:MSG]  GetBmlId - BmlVolumeId = 0
[HALWP:INF]  nCtrlCode = PM_HAL_FIL_INIT
[FIL] ################
[FIL]  MID    = 0xec
[FIL]  DID    = 0xd3
[FIL]  HID[0] = 0x14
[FIL]  HID[1] = 0xa5
[FIL]  HID[2] = 0x64
[FIL] ################
[FIL] ##############################
[FIL]  FIL Global Information
[FIL]  BANKS_TOTAL = 1
[FIL]  BLOCKS_PER_BANK = 2048
[FIL]  TWO_PLANE_PROGRAM = 1
[FIL]  SUPPORT_INTERLEAVING = 0
[FIL]  SUBLKS_TOTAL = 2048
[FIL]  PAGES_PER_SUBLK = 128
[FIL]  PAGES_PER_BANK = 262144
[FIL]  SECTORS_PER_PAGE = 4
[FIL]  SECTORS_PER_SUPAGE = 8
[FIL]  SECTORS_PER_SUBLK = 1024
[FIL]  BYTES_PER_MAIN_PAGE = 2048
[FIL]  USER_SECTORS_TOTAL = 1899520
[FIL]  ADDRESS_CYCLE = 5
[FIL] ##############################

[INFO] WMR_AREA_SIZE = 10
[INFO] SPECIAL_AREA_START = 10
[INFO] SPECIAL_AREA_SIZE = 50
[INFO] VFL_AREA_START = 60
[INFO] VFL_AREA_SIZE = 106
[INFO] VFL_INFO_SECTION_START = 60
[INFO] VFL_INFO_SECTION_SIZE = 4
[INFO] RESERVED_SECTION_START = 64
[INFO] RESERVED_SECTION_SIZE = 102
[INFO] FTL_INFO_SECTION_START = 166
[INFO] FTL_INFO_SECTION_SIZE = 10
[INFO] LOG_SECTION_SIZE = 7
[INFO] FREE_SECTION_START = 176
[INFO] FREE_SECTION_SIZE = 17
[INFO] FREE_LIST_SIZE = 3
[INFO] DATA_SECTION_START = 193
[INFO] DATA_SECTION_SIZE = 1855
[INFO] FTL_AREA_START = 166
[INFO] FTL_AREA_SIZE = 1882
[HALWP:INF]  nCtrlCode = PM_HAL_VFL_INIT
[HALWP:INF]  nCtrlCode = PM_HAL_VFL_OPEN
[OND:MSG]  GetBmlId - BmlPartitionId = 8
[OND:MSG]  GetBmlId - BmlVolumeId = 0
[HALWP:INF]  TotalScts  = 1899520
< < < < OALIoCtlHalQueryFormatPartition .>>>>
OEM: EXT11 Button is NOT pushed. Hive will be NOT clean.
< < < < OALIoCtlHalGetHiveCleanFlag .>>>>
OEM: No Cleaning system hive
OEM: EXT11 Button is NOT pushed. Hive will be NOT clean.
< < < < OALIoCtlHalGetHiveCleanFlag .>>>>
OEM: NO Cleaning user profiles
+OALIoCtlHalGetHWEntropy
!!Initialized function of OEM Certification Module failed. Trust Model disabled!!

最新回复

哦 不对  不是4楼 是1楼  详情 回复 发表于 2010-3-11 10:08
点赞 关注

回复
举报

78

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
Windows Mobile??在Windows Mobile小版好一些吧…
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
查查是什么地方打印这段信息,然后看看代码呢?

This function enables the OS loader to pass the module code (for example, .dll, .exe, and .ocx) to the OEM to verify that a module can be safely run on the system.

DWORD OEMCertifyModule(
  LPBYTE lpData,
  DWORD cbData
);
Parameters
lpData
[out] Pointer to a buffer allocated by the OS that contains the code for the module being loaded.
cbData
[in] Size, in bytes, of the buffer that the OS passes and that lpData points to.
If cbData is zero, the end of the module has been reached.

Return Values
The following table shows the return values for this function.

Flag Value Description
OEM_CERTIFY_TRUST 2 The module is trusted by the OEM to perform any operation.
OEM_CERTIFY_RUN 1 The module is trusted by the OEM to run, but the module is restricted from making specific function calls.
OEM_CERTIFY_FALSE 0 The module is not trusted by the OEM and is not allowed to run.

Remarks
To implement this function, assign the address of this function to pOEMLoadModule in the OEMInit function of the OEM adaptation layer (OAL).

The pOEMLoadModule global pointer is exposed by the OS in the OAL. The OS loader calls pOEMLoadModule multiple times until it reaches the end of the module.

If the loader fails to fully load a module, the OS loader might never reach the end of the module, and an OEM must be ready for pOEMLoadInit to be called before the end of the previous module is reached.

The OEM assigns trust levels to .dll and .exe files. The modules from the MODULES section of a .bin file are assumed to be trusted (OEM_CERTIFY_TRUST) and are not tested by the OEM. The OEM should test the modules from the FILES section of the .bin file and other file systems.

An .exe file is always assigned a trust level before its dependent .dll files are loaded.

When a dependent .dll file is loaded, the OEM assigns it a trust level. The kernel compares this .dll file trust level to the trust level of the .exe file. Based on this comparison, a .dll file certification level is obtained for the OS.

If necessary, the kernel reduces the trust level of the .dll file so the .dll file can run.

If the trust level of the .exe file is higher than the trust level of the .dll file, the .dll file is not loaded by the kernel.

A .dll file can use the CeGetCurrentTrust function to determine the trust level of the .exe file if a .dll file needs more control over which .exe files are able to load it.

The following table shows the resulting .dll file certification level based on the combination of OEM-assigned trust levels.

OEM certification for .exe file OEM certification for .dll file Certification level for .dll file
OEM_CERTIFY_TRUST OEM_CERTIFY_TRUST OEM_CERTIFY_TRUST
OEM_CERTIFY_RUN OEM_CERTIFY_TRUST OEM_CERTIFY_RUN
OEM_CERTIFY_TRUST OEM_CERTIFY_RUN OEM_CERTIFY_FALSE
OEM_CERTIFY_RUN OEM_CERTIFY_RUN OEM_CERTIFY_RUN

ROM .dll and .exe files are not certified by the OEM and are assumed to operate at an OEM_CERTIFY_TRUST level.

For information on API restrictions imposed on untrusted applications, see Trusted APIs.

The CreateProcess function debug flags, DEBUG_ONLY_THIS_PROCESS and DEBUG_PROCESS, are restricted. If these flags are used by an untrusted application, the identified process launches, but no debugging occurs.

Requirements
OS Versions: Windows CE 2.10 and later.
Header: Developer defined.
Link Library: Nk.lib.

 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 2 楼 veabol 的回复:
查查是什么地方打印这段信息,然后看看代码呢?

This function enables the OS loader to pass the module code (for example, .dll, .exe, and .ocx) to the OEM to verify that a module can be safely run on the system.

DWORD OEMCertifyModule(
? LPBYTE lpData,
? DWORD cbData
);
Parameters
lpData
[out] Pointer to a buffer allocated by the OS that contains the code for the module being loaded.
cbData
[in] Size, in bytes, of the buffer that the OS passes and that lpData points to.
If cbData is zero, the end of the module has been reached.

Return Values
The following table shows the return values for this function.

Flag Value Description
OEM_CERTIFY_TRUST 2 The module is trusted by the OEM to perform any operation.
OEM_CERTIFY_RUN 1 The module is trusted by the OEM to run, but the module is restricted from making specific function calls.
OEM_CERTIFY_FALSE 0 The module is not trusted by the OEM and is not allowed to run.

Remarks
To implement this function, assign the address of this function to pOEMLoadModule in the OEMInit function of the OEM adaptation layer (OAL).

The pOEMLoadModule global pointer is exposed by the OS in the OAL. The OS loader calls pOEMLoadModule multiple times until it reaches the end of the module.

If the loader fails to fully load a module, the OS loader might never reach the end of the module, and an OEM must be ready for pOEMLoadInit to be called before the end of the previous module is reached.

The OEM assigns trust levels to .dll and .exe files. The modules from the MODULES section of a .bin file are assumed to be trusted (OEM_CERTIFY_TRUST) and are not tested by the OEM. The OEM should test the modules from the FILES section of the .bin file and other file systems.

An .exe file is always assigned a trust level before its dependent .dll files are loaded.

When a dependent .dll file is loaded, the OEM assigns it a trust level. The kernel compares this .dll file trust level to the trust level of the .exe file. Based on this comparison, a .dll file certification level is obtained for the OS.

If necessary, the kernel reduces the trust level of the .dll file so the .dll file can run.

If the trust level of the .exe file is higher than the trust level of the .dll file, the .dll file is not loaded by the kernel.

A .dll file can use the CeGetCurrentTrust function to determine the trust level of the .exe file if a .dll file needs more control over which .exe files are able to load it.

The following table shows the resulting .dll file certification level based on the combination of OEM-assigned trust levels.

OEM certification for .exe file OEM certification for .dll file Certification level for .dll file
OEM_CERTIFY_TRUST OEM_CERTIFY_TRUST OEM_CERTIFY_TRUST
OEM_CERTIFY_RUN OEM_CERTIFY_TRUST OEM_CERTIFY_RUN
OEM_CERTIFY_TRUST OEM_CERTIFY_RUN OEM_CERTIFY_FALSE
OEM_CERTIFY_RUN OEM_CERTIFY_RUN OEM_CERTIFY_RUN

ROM .dll and .exe files are not certified by the OEM and are assumed to operate at an OEM_CERTIFY_TRUST level.

For information on API restrictions imposed on untrusted applications, see Trusted APIs.

The CreateProcess function debug flags, DEBUG_ONLY_THIS_PROCESS and DEBUG_PROCESS, are restricted. If these flags are used by an untrusted application, the identified process launches, but no debugging occurs.

Requirements
OS Versions: Windows CE 2.10 and later.
Header: Developer defined.
Link Library: Nk.lib.



先表示感谢,看看你说的函数
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 1 楼 wolfmvp 的回复:
Windows Mobile??在Windows Mobile小版好一些吧…

小版指的是?
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 guopeixin 的回复:
引用 1 楼 wolfmvp 的回复:Windows Mobile??在Windows Mobile小版好一些吧…
小版指的是?


小版呢就是指 你现在是在  eeworld社区- 硬件/嵌入开发-嵌入开发(WinCE)     小版
4楼的意思应该是要你去   eeworld社区- 移动开发-Windows Mobile          小版
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

7
 
哦 不对  不是4楼 是1楼
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表