#include "libndls.h" unsigned int getArmCpuId() { unsigned int id = 0; asm volatile("mrc p15 0, %0, c0, c0, 0" : "=r" (id)); return id; } int main(void) { char buffer[100]; unsigned int value; value = getArmCpuId(); sprintf(buffer, "CP15[0]=0x%08X",value); show_msgbox("ARM CPUID", buffer); return 0; }