查看完整版本: 谁知道sysFtrNumProcessorID返回的Cpu id值得含义?

wagnzg2 2005-12-25 21:27

谁知道sysFtrNumProcessorID返回的Cpu id值得含义?

我只能查到4种,68328,68ez328,以及68k系列和arm系列,谁知道更详细的id代号的含义?

shootsao 2005-12-26 03:44

我是初学者,不知道对不对。下面是我从网上找到的
[url]http://www.palmos.com/dev/support/docs/protein_books/System_Management/SystemMgr.html[/url]

Processor Types ^TOP^
Purpose
Palm OS device processor types. Obtain a device's processor type by getting the value of the sysFtrNumProcessorID feature. Use the the bit mask sysFtrNumProcessorMask to extract the processor type from the values returned for these features.

Declared In
SystemMgr.h
Constants
#define sysFtrNumProcessor328 0x00010000
Motorola 68328 (Dragonball).
#define sysFtrNumProcessorARM710A 0x00170000
ARM710A.
#define sysFtrNumProcessorARM720T 0x00100000
ARM 720T.
#define sysFtrNumProcessorARM7TDMI 0x00110000
ARM7TDMI.
#define sysFtrNumProcessorARM920T 0x00120000
ARM920T.
#define sysFtrNumProcessorARM922T 0x00130000
ARM922T.
#define sysFtrNumProcessorARM925 0x00140000
ARM925.
#define sysFtrNumProcessorEZ 0x00020000
Motorola 68EZ328 (Dragonball EZ).
#define sysFtrNumProcessorStrongARM 0x00150000
Strong ARM.
#define sysFtrNumProcessorSuperVZ 0x00040000
Motorola 68SZ328 (Dragonball SuperVZ).
#define sysFtrNumProcessorVZ 0x00030000
Motorola 68VZ328 (Dragonball VZ)
#define sysFtrNumProcessorx86 0x01000000
The Palm OS ARM Simulator, which runs on Windows.
#define sysFtrNumProcessorXscale 0x00160000
X-scale.

wagnzg2 2005-12-26 07:52

谢谢楼上的资料。
不过我编程却测出来TT的cpu是arm720,而TCPMP里看到的是arm915T,
而据我所知tt用的是ti的omap1510,这个cpu的arm核是arm925t啊,这下昏掉了。
程序是这样的:
        err = FtrGet(sysFtrCreator, sysFtrNumProcessorID, &id);
        if (!err) {
                chip = id & sysFtrNumProcessorMask;
                revision = id & 0x0ffff;
                if(sysFtrNumProcessorIs68K(id)){
                        if (chip==sysFtrNumProcessor328)
                    // traditional Dragonball
                            cpu="Motorola 68328 DragonBall";
                        else if (chip==sysFtrNumProcessorEZ)
                                cpu="Motorola 68EZ328 DragonBallEZ";
                    // Dragonball EZ
                    else if(chip==sysFtrNumProcessorSuperVZ)
                            cpu="Motorola 68SZ328 DragonBall SuperVZ";
                    else if(chip==sysFtrNumProcessorVZ)
                            cpu="Motorola 68VZ328 Dragonball VZ";
            }
            else if(sysFtrNumProcessorIsARM(id)){
    // processor is ARM
//                        cpu="ARM CPU";       
                        switch(chip)
                        {
                        case sysFtrNumProcessorARM925:
                                cpu="ARM925";
                                break;
                        case sysFtrNumProcessorARM922T:
                                cpu="ARM922T";
                                break;
                        case sysFtrNumProcessorARM920T:
                                cpu="ARM920T";
                                break;
                        case sysFtrNumProcessorARM7TDMI:
                                cpu="ARM7TDMI";
                                break;
                        case sysFtrNumProcessorARM720T:
                                cpu="ARM720T";
                                break;
                        case sysFtrNumProcessorARM710A:
                                cpu="ARM710A";
                                break;
                        case sysFtrNumProcessorStrongARM:
                                cpu="StrongARM";
                                break;
                        case  sysFtrNumProcessorXscale:
                                cpu="Xscale";
                                break;
                        }
                }
                else if(chip==sysFtrNumProcessorx86)
                        cpu="The Palm OS ARM Simulator, which runs on Windows.";
        }
应该是没有错啊。在simulator和emulator上运行都是对的。
wagnzg2 编辑于 2005-12-26 0:05:15

shootsao 2005-12-26 08:06

arm915T? 我grep了header,发现没有这个CPU:(

而且你的case里面也没有915的分支

wagnzg2 2005-12-26 19:48

是啊,TT应该是arm925的
arm915T是另外一个程序tcpmp的结果
但是我的程序给出的结果是arm720,这就奇怪了,因为程序在os5.3的仿真器上运行是正确判断出了sysFtrNumProcessorx86的。在os4.1的仿真器上运行也能判断为Motorola 68EZ328 DragonBallEZ,这说明程序应该没有问题。

页: [1]
查看完整版本: 谁知道sysFtrNumProcessorID返回的Cpu id值得含义?