Determine at run time if the Windows CE operating system is built on a specific processor type (for example, ARMV4 / ARMV4I / ARMV4T)

Is there a way to determine if the Windows CE operating system is targeting ARMV4 or ARMV4I or ARMV4T.

I know that calling the IsProcessorFeaturePresent () API on coredll, as far as I can tell, allows it to detect the presence of a thumb command set.

What I really want to discover is that O / S is built with interworking (I in ARMV4I) - no assumptions. Using PF_ARM_THUMB will not distinguish between ARMV4T and ARMV4I.

Thank!

+2


source to share


2 answers


Can you try KernelIoControl API with IOCTL_PROCESSOR_INFORMATION for more cpu information.



0


source


Why can't you just use BX LR

always for functions that the OS can access?

Including interoperability, Microsoft is doing ARM's task to depreciate the ARM architecture without interoperability. 16-bit and 32-bit code must be supported on all ARM platforms.



You can use C ++ try / catch to check if the function you need gifts for or not. This will work if you can raise the exception using an unsupported function. But it's hard to bring it up to test the interaction.

0


source







All Articles