Tại sao có ngựa ô, lại còn có bạch mã, còn có ngựa vằn và ngựa nâu?
Câu hỏi chúng ta hay thường gặp là: Tại sao khi download chương trình cho pocket PC, tôi thấy có cả 4 loại files cab: SH3, MIPS, ARM và ARMV4, vậy tôi phải dùng loại nào?
Câu trả lời:
Ngắn gọn về Microsoft Windows CE: Khi tung ra MW CE (vào tháng 10 năm 2001) Microsoft đã đưa sẵn Windows CE vào các Pocket PC 2002 và phát hành một ứng dụng kèm thêm (như kiểu add-on) cho bộ Visual Studio .NET dưới tên là Compact Framework. MW CE là một hệ điều hành thu gọn dành cho các thiết bị cầm tay, các sổ tay điện tử và thậm chí là các thiết bị/máy chơi games. Windows CE đã trải qua một chặng đường dài phát triển và hiện nay đã có rất nhiều các chức năng cao cấp (mà cũng không ít rắc rối và vấn đề
)
Vậy Windows CE là viết tắt của chữ gì? Windows CE không có nghĩa là gì cả. Đã có rất nhiều câu hỏi và bàn luận về 2 chữ CE, và đến nay người ta vẫn chưa có câu trả lời chính thức từ phía Microsoft hai chữ CE có nghĩa là gì cả, có thể đó chỉ là một hình thức của logo mà thôi. Tuy nhiên, bạn có thể tự hiểu CE là viết tắt của chữ « consumer electronics » hoặc « compact edition » cũng được…
Có rất nhiều phiên bản Windows CE khác nhau. Để thâu tóm được thị trường, Microsoft đã dùng cái lõi của Windows CE để « sáng tác » ra rất nhiều các phân nhóm khác nhau như : Handheld PC, Pocket PC, và Auto PC, palm-size PC gì gì đó... Mỗi phân nhóm như vậy đều có những đặc điểm và ưu thế riêng. Tuy nhiên, như chúng ta thấy thì ngày nay Pocket PC đã trở thành dạng Windows CE thông dụng và phổ biến nhất.
Mỗi loại máy trên thị trường đều có các loại processor khác nhau. Khi tung ra Windows CE, Microsoft đã quyết định sẽ hỗ trợ cho nhiều lại processors. Lý do của việc đó có thể là do OEM của chúng khác nhau. Nói cách khác nếu bạn có nhiều loại máy cầm trên tay thì mỗi máy đều có thể có 1 processor riêng như sau : ARM , MIPS , SH3 , SH4 , X86 v.v…
Bạn có thể nhận thấy rằng tất cả các máy Pocket PC 2002 đều dùng chip ARM. Khi viết chương trình, thật ra các nhà developers chỉ cần biên soạn trên cùng một nền tảng và xuất chúng ra thành nhiều loại file CAB khác nhau. Hiện nay, dòng ARM rất được Microsoft hỗ trợ và sẽ phát triển hơn nữa trong tương lai vì chúng hoạt động khá ổn định.
Tóm lại tất cả các Pocket PC đều phải hoạt động dựa trên hệ điều hành Windows CE. Muốn download và install loại file CAB nào, bạn có thể xác định bằng cách kiểm tra xem thử mình đang dùng phiên bản Windows CE nào trên máy của mình. Kể từ khi Pocket PC 2002 ra đời, Microsoft dường như đã « chính thức » hỗ trợ và chuẩn hóa cho các processors loại ARM và « bỏ rơi » các devices dùng MIPS hoặc SH3.
Để xác định version của Windows CE, bạn có thể mở : Start -> Settings -> System -> About -> Version.
Trong hình 2, version Windows CE của bạn là 3.0.9. Processor: Loại processor thông dụng nhất hay gặp sẽ có chữ ARM và/hoặc chữ SA trong tên của nó. Trong trường hợp này bạn cần download file CAB có chữ ARM ở sau cùng ví dụ: SoftwareABC.ARM.CAB.
Trong trường hợp máy của bạn là loại cũ Jornadas, bạn có thể thấy chữ “SH3” trong phần tên processor. Trong trường hợp đó, bạn phải download các files CAB có chữ SH3 (Ví dụ: SoftwareABC.SH3.CAB) hoặc dùng các file download mà nhà sản xuất có ghi rõ “download for HITACHI SH3”.
Trong hình 3 cho thấy: Windows Mobile 2003 devices (còn được gọi là Pocket PC 2003) sử dụng hệ điều hành Windows CE 4.2. Processor: bạn sẽ thấy có dòng chữ Processor: Intel® PXAxxx (như trường hợp của OIIs là Intel® PXA263 chẳng hạn). Trong những trường hợp này, bạn nên sử dụng các files CAB có chữ “ARM” hoặc “ARMV4” hoặc có ghi rõ “"For All Windows Mobile 2003 devices".
Chuyện gì xảy ra nếu ta download và install nhầm các loại files CAB? Thông thường khi Act Sync + install thì nó sẽ tự động báo lỗi và ngưng lại không cho ta tiếp tục install nữa. Trong trường hợp xui xẻo hơn, bạn vẫn có thể install được nhưng khi chạy thì bị đơ máy, báo lỗi hoặc thậm chí phải soft/hard reset lại máy.
Tóm lại: ARM, MIPS và SH3 là tên gọi khác nhau của các loại CPUs khác nhau dùng trên các máy Pocket PC khác nhau. Để biết mình đang dùng loại nào, xin vào “About” ở phần setting của máy, VD: bạn có thể đọc được “Processor: MIPS R4000”. Các loại processors cũ hơn có thể rất nhiều: ví dụ Cassiopeia E-200 dùng StrongARM SA-1110, Dell AXIM dùng 300 và 400 Hz XScale Processor. Ngoài ra, còn lưu ý rằng với PXA-250 và 255, vận tốc của Processors thường là từ 200 đến 400 MHz. Các loại Pocket PC 2000 devices (vẫn còn được .NET CF hỗ trợ) chạy trên các loại processors khác nhau: SH3, MIPS hay ARM. Còn từ Pocket PC 2002 trở đi, tất cả các loại máy đều dùng ARM processors.
(Mách nhỏ: các file CAB khác nhau đối với từng loại máy, nhưng file exe của chúng nằm trong file CAB thì giống nhau, dường như có thể dùng chung được. Tuy nhiên, sự khác nhau chỉ thể hiện khi ta chạy chương trình trên các loại máy có platform khác nhau, tức là “platform dependant”.)
Kết luận:
• Windows Mobile 2000- và Windows Mobile 2002-based Pocket PC 2002: Các cab file dành cho những thiết bị này có mang chữ “ARM”. ARMV4 chạy được với tất cả các thiết bị dùng ARM, kể cả XScale.
• Các thiết bị Windows Mobile-based Pocket PC 2003: Các cab files có mang chữ “ARMV4”
• ARMv4T hoặc ARMv4I dành cho Windows CE: các cab files có mang chữ “ARMV4T” (chỉ dành cho các Windows CE .NET devices viết với ARMv4T hoặc ARMv4I kernels trong Platform builder).
(Đọc và tổng hợp theo nhiều nguồn)
Câu hỏi chúng ta hay thường gặp là: Tại sao khi download chương trình cho pocket PC, tôi thấy có cả 4 loại files cab: SH3, MIPS, ARM và ARMV4, vậy tôi phải dùng loại nào?
Câu trả lời:
Ngắn gọn về Microsoft Windows CE: Khi tung ra MW CE (vào tháng 10 năm 2001) Microsoft đã đưa sẵn Windows CE vào các Pocket PC 2002 và phát hành một ứng dụng kèm thêm (như kiểu add-on) cho bộ Visual Studio .NET dưới tên là Compact Framework. MW CE là một hệ điều hành thu gọn dành cho các thiết bị cầm tay, các sổ tay điện tử và thậm chí là các thiết bị/máy chơi games. Windows CE đã trải qua một chặng đường dài phát triển và hiện nay đã có rất nhiều các chức năng cao cấp (mà cũng không ít rắc rối và vấn đề
Vậy Windows CE là viết tắt của chữ gì? Windows CE không có nghĩa là gì cả. Đã có rất nhiều câu hỏi và bàn luận về 2 chữ CE, và đến nay người ta vẫn chưa có câu trả lời chính thức từ phía Microsoft hai chữ CE có nghĩa là gì cả, có thể đó chỉ là một hình thức của logo mà thôi. Tuy nhiên, bạn có thể tự hiểu CE là viết tắt của chữ « consumer electronics » hoặc « compact edition » cũng được…
Có rất nhiều phiên bản Windows CE khác nhau. Để thâu tóm được thị trường, Microsoft đã dùng cái lõi của Windows CE để « sáng tác » ra rất nhiều các phân nhóm khác nhau như : Handheld PC, Pocket PC, và Auto PC, palm-size PC gì gì đó... Mỗi phân nhóm như vậy đều có những đặc điểm và ưu thế riêng. Tuy nhiên, như chúng ta thấy thì ngày nay Pocket PC đã trở thành dạng Windows CE thông dụng và phổ biến nhất.
Mỗi loại máy trên thị trường đều có các loại processor khác nhau. Khi tung ra Windows CE, Microsoft đã quyết định sẽ hỗ trợ cho nhiều lại processors. Lý do của việc đó có thể là do OEM của chúng khác nhau. Nói cách khác nếu bạn có nhiều loại máy cầm trên tay thì mỗi máy đều có thể có 1 processor riêng như sau : ARM , MIPS , SH3 , SH4 , X86 v.v…
Bạn có thể nhận thấy rằng tất cả các máy Pocket PC 2002 đều dùng chip ARM. Khi viết chương trình, thật ra các nhà developers chỉ cần biên soạn trên cùng một nền tảng và xuất chúng ra thành nhiều loại file CAB khác nhau. Hiện nay, dòng ARM rất được Microsoft hỗ trợ và sẽ phát triển hơn nữa trong tương lai vì chúng hoạt động khá ổn định.
Tóm lại tất cả các Pocket PC đều phải hoạt động dựa trên hệ điều hành Windows CE. Muốn download và install loại file CAB nào, bạn có thể xác định bằng cách kiểm tra xem thử mình đang dùng phiên bản Windows CE nào trên máy của mình. Kể từ khi Pocket PC 2002 ra đời, Microsoft dường như đã « chính thức » hỗ trợ và chuẩn hóa cho các processors loại ARM và « bỏ rơi » các devices dùng MIPS hoặc SH3.
Để xác định version của Windows CE, bạn có thể mở : Start -> Settings -> System -> About -> Version.

Trong hình 2, version Windows CE của bạn là 3.0.9. Processor: Loại processor thông dụng nhất hay gặp sẽ có chữ ARM và/hoặc chữ SA trong tên của nó. Trong trường hợp này bạn cần download file CAB có chữ ARM ở sau cùng ví dụ: SoftwareABC.ARM.CAB.

Trong trường hợp máy của bạn là loại cũ Jornadas, bạn có thể thấy chữ “SH3” trong phần tên processor. Trong trường hợp đó, bạn phải download các files CAB có chữ SH3 (Ví dụ: SoftwareABC.SH3.CAB) hoặc dùng các file download mà nhà sản xuất có ghi rõ “download for HITACHI SH3”.
Trong hình 3 cho thấy: Windows Mobile 2003 devices (còn được gọi là Pocket PC 2003) sử dụng hệ điều hành Windows CE 4.2. Processor: bạn sẽ thấy có dòng chữ Processor: Intel® PXAxxx (như trường hợp của OIIs là Intel® PXA263 chẳng hạn). Trong những trường hợp này, bạn nên sử dụng các files CAB có chữ “ARM” hoặc “ARMV4” hoặc có ghi rõ “"For All Windows Mobile 2003 devices".

Chuyện gì xảy ra nếu ta download và install nhầm các loại files CAB? Thông thường khi Act Sync + install thì nó sẽ tự động báo lỗi và ngưng lại không cho ta tiếp tục install nữa. Trong trường hợp xui xẻo hơn, bạn vẫn có thể install được nhưng khi chạy thì bị đơ máy, báo lỗi hoặc thậm chí phải soft/hard reset lại máy.
Tóm lại: ARM, MIPS và SH3 là tên gọi khác nhau của các loại CPUs khác nhau dùng trên các máy Pocket PC khác nhau. Để biết mình đang dùng loại nào, xin vào “About” ở phần setting của máy, VD: bạn có thể đọc được “Processor: MIPS R4000”. Các loại processors cũ hơn có thể rất nhiều: ví dụ Cassiopeia E-200 dùng StrongARM SA-1110, Dell AXIM dùng 300 và 400 Hz XScale Processor. Ngoài ra, còn lưu ý rằng với PXA-250 và 255, vận tốc của Processors thường là từ 200 đến 400 MHz. Các loại Pocket PC 2000 devices (vẫn còn được .NET CF hỗ trợ) chạy trên các loại processors khác nhau: SH3, MIPS hay ARM. Còn từ Pocket PC 2002 trở đi, tất cả các loại máy đều dùng ARM processors.
(Mách nhỏ: các file CAB khác nhau đối với từng loại máy, nhưng file exe của chúng nằm trong file CAB thì giống nhau, dường như có thể dùng chung được. Tuy nhiên, sự khác nhau chỉ thể hiện khi ta chạy chương trình trên các loại máy có platform khác nhau, tức là “platform dependant”.)
Kết luận:
• Windows Mobile 2000- và Windows Mobile 2002-based Pocket PC 2002: Các cab file dành cho những thiết bị này có mang chữ “ARM”. ARMV4 chạy được với tất cả các thiết bị dùng ARM, kể cả XScale.
• Các thiết bị Windows Mobile-based Pocket PC 2003: Các cab files có mang chữ “ARMV4”
• ARMv4T hoặc ARMv4I dành cho Windows CE: các cab files có mang chữ “ARMV4T” (chỉ dành cho các Windows CE .NET devices viết với ARMv4T hoặc ARMv4I kernels trong Platform builder).
(Đọc và tổng hợp theo nhiều nguồn)