Collection
zero Useful+1
zero

Windows CE

Windows Embedded Compact
synonym wince (wince) Generally refers to Windows CE
Windows Embedded Compact (Windows CE) is the foundation of Microsoft's embedded and mobile computing platform. It is an open and upgradeable 32-bit Embedded operating system , is an electronic device operating system based on handheld computers. (At the Embedded System Conference held on April 15, 2008, Microsoft announced that it would rename Windows CE as Windows Embedded Compact, and form a series of Windows Embedded products with Windows Embedded Enterprise, Windows Embedded Standard, and Windows Embedded POSReady.)
Windows CE is the foundation of Microsoft's embedded and mobile computing platform. It is an open and upgradeable 32 bit embedded operating system, and is an electronic device operating system based on handheld computers. It is a compact Windows 95, and the graphical user interface of Windows CE is excellent.
Software name
Windows Embedded Compact
Developers
Microsoft
software platform
Pocket PC
Software version
The latest version is Windows Embedded Compact 7
Last updated
June 1, 2010
Software language
Chinese (Simplified/Traditional), English, Japanese, Korean, German, French, etc

definition

Announce
edit
Windows CE operating system Is a member of the Windows family, designed specifically for Pocket PC (HPCs) and Embedded device The system environment used. In this way operating system Can make the complete mobile technology compatible with existing Windows desktop Technical integration. Windows CE is designed for small devices (typically with limited memory Diskless system )Common to operating system , Windows CE can be located in the kernel and Hardware The code between is used to set the hardware platform, which is known as the hardware abstraction layer (HAL) (previously explained, this is called the OEMC (original equipment manufacturing) adaptation layer, or OAL; Kernel compression layer, namely KAL. To avoid any conflict with Microsoft's Windows NT operating system HAL confusion).
And others Microsoft Windows operating system Different, Windows CE does not mean that the same standard is applicable to all platforms Software In order to be flexible enough to meet the needs of a wide range of products, Windows CE can adopt different standard modes, which means that it can Software Make choices in the mode so that the product can be customized. In addition, some available models can also be part of it, which means that these models can become standard models by selecting from a set of available components. By selecting, Windows CE can achieve the minimum mode required by the system, thus reducing storage script and operating system Operation of [1]
C in Windows CE stands for Compact, Consumer, Connectivity and Company; E stands for Electronics. Unlike Windows 95/98 and Windows NT, Windows CE makes all source code Microsoft Self developed embedded new type operating system Although its operation interface comes from Windows 95/98, Windows CE is a new information equipment platform based on WIN32 API. Windows CE is modular, structured and Win32 based Application Program Interface And processor independent. Windows CE not only inherits the traditional Windows graphical interface, but also can use the programming tools (such as Visual Basic, Visual C++, etc.) on Windows 95/98, use the same functions, and use the same interface style on the Windows CE platform Application software It can continue to be used on the Windows CE platform with simple modification and migration. Windows CE is not designed for a single device, so Microsoft The products using Windows CE operating system are roughly divided into three product lines, Pocket PC Handheld PC and Auto PC. [1]

data acquisition

Announce
edit
For most manufacturing enterprises, the automatic data collection of measuring instruments has always been a troublesome thing. Even though the instruments have RS232/485 interfaces, they are still used in the way of measuring, recording to paper manually, and finally inputting to PC for processing, which is not only laborious, but also can not guarantee the accuracy of data, Often, the data obtained by the management personnel is one or two days behind; For the information of defective products and relevant output data on site, how to achieve efficient, simple and real-time data collection is a major problem.

brief introduction

WinCE, It is a terminal computer equipment that integrates barcode scanning device and data terminal, and can be operated offline with battery. It has the functions of real-time acquisition, automatic storage, real-time display, real-time feedback, automatic processing, automatic transmission, etc. It guarantees the authenticity, effectiveness, real-time and availability of field data. It has the characteristics of integration, mobility, small size, light weight, high performance, and is suitable for handheld. It is mainly used in industrial data acquisition.

form

Windows CE is mainly composed of two parts: one is the hardware device of Windows CE, and the other is the collection software running in Windows CE.
·Hardware
At the production site, due to space constraints, it is generally not convenient to place conventional industrial control hosts. At the same time, based on cost considerations, it is a better solution to use an industrial embedded host. For example, the data acquisition instrument of Guangzhou Taiyou Technology is equipped with two serial ports, and the instrument or equipment can be directly connected to it through the serial port line, At the same time, users can set product related information in the data acquisition instrument.
·Software
The acquisition software is installed in the data acquisition instrument, and the user can automatically collect the data through the acquisition software, and carry out relevant processing. For the real-time data of the production line, because the data is generally output, no corresponding parameter values, specification values, etc. are output, the corresponding product information parameters can be set in the software at this time, and then the user can select the corresponding product information, Shift information, batch information, etc

Version History

Announce
edit
Since Microsoft launched Windows CE 1.0 in 1996, Windows CE has gone through seven different versions.

one

Windows CE1.0 is a Windows 95 based operating system In fact, it is simply a simplified version of Windows 95. In the mid-1990s, Casio launched the first model to use Windows CE 1.0 operating system The clamshell PDA is the first handheld computer manufacturer to launch a handheld computer that can truly be called the palm size. The first generation of Windows CE 1.0 was introduced in 1996, but its initial development was not smooth. at that time Palm The operating system is very successful in the PDA market, and has almost become the synonym of the entire PDA product. In this case, Microsoft was forced to continuously improve the original Windows CE. At the same time, Microsoft also gathered a large number of partners through lobbying, technical support, direct funding and other means, making the PDA lineup of Windows CE more and more powerful.

two

With the emergence of Windows 95 and the success of Windows 98, another giant- Microsoft Stand up and quickly operating system The industry has established the Microsoft empire. The development potential of the PDA market is favored by many analysts, and the sense of smell is extremely sensitive Microsoft Naturally, we will not let such a huge market go operating system On the premise that the empire has been very stable, it has begun to make full efforts in the PDA market, using the Windows CE 2.0 operating system to create a handheld product very similar to Palm.
WinCE 2.0 is not only much faster than CE1.0, but also a color display. Many new PDAs have adopted the new WinCE 2.0 system, which has a great tendency to replace Pilot and become PDAs operating system New standards. Although CE2.0 is still better than Pilot's operating system The space required is much larger, but it has a Windows interface. It is estimated that few people who can use PC will not use it Microsoft The operating system of. If you are familiar with Windows 95, you will be familiar with it when you use Windows CE, and you don't need to relearn. Moreover, due to the technical similarity between the two, third-party Windows application software developers can easily convert their own applications into versions that can be run by CE. Therefore, there will be more and more types of software available for Windows CE.

three

WinCE3.0 is Microsoft Windows Compact Edition is a universal version, which is not targeted at handheld products. It can also be installed and run on standard PCs, home appliances and industrial control devices, but it needs to do a lot of customization work. Of course, it can also be used as a handheld computer. Microsoft encourages everyone to use it on any hardware platform (WinCE3.0 supports five series CPUs: x86, PowerPC, ARM, MIPS, SH3/4) (in order to compete with VxWorks, Linux, etc.), so early WINCE runs on different hardware platforms and can change the display direction to serve different platforms. WinCE3.0 is paid Software The installation license fee is $20, starting from 10 copies, and can be reduced to about $15/copy in bulk.
In 2000, Microsoft officially renamed WinCE3.0 Windows for Pocket PC (Pocket PC for short). It is to use Pocket Word, Pocket Excel and other daily office work Software The pocket version of is installed in the Pocket PC, and its entertainment performance is greatly enhanced. Of course for Microsoft Of course, there will be no shortage of manufacturers who have joined the Pocket PC camp, such as HP, Compaq, Casio and other well-known manufacturers. When Compaq's iPAQ 3630 was born and sold well in the market, more and more manufacturers supported and joined the Pocket PC camp. In 2002, smart phone business opportunities reappeared. Many PPC manufacturers hoped to launch PPC integrating mobile phone functions. So in August 2002 Microsoft Pocket PC 2002 Phone Edition operating system The first PPC mobile phone in China, Dopod 686, was launched in October 2002. Later, Panda launched CH860 and Lenovo launched ET180 pocket pc The product appears.

4.0-4.2

Windows CE. NET (Windows CE 4.0) is Microsoft The first one launched in January 2002 NET operating system From its name, we can know that it belongs to Microsoft NET. WinCE. NET is the upgrade of WinCE 3.0, and it also adds NET Framework compact version, supporting Bluetooth and NET application program development.
Windows CE. NET 4.2 is Windows CE NET 4.0/4.1 further expands and enriches the powerful functions of previous versions of Windows CE. Devices developed based on it will gain better performance and stronger Windows integration functions from these minor but important changes. Microsoft provided open source code in WinCE version 4.2, but only for research units, and there is less program code, which is 2 million lines.

five

WinCE5.0 was launched in May 2004, Microsoft Announces Windows CE5.0 expansion of open program source code. In this Open Source Under the authorization of the plan, Microsoft will open 2.5 million lines of source code program As an evaluation kit. All individuals and manufacturers can download these source codes and modify them for use. In the future, when manufacturers are OEMs, they will pay the licensing fee of $3 per machine for Win CE5.0 core according to the run time authorization, which is the first time Microsoft provides derivative licensing for commercial use operating system

six

In November 2006, Microsoft's latest embedded platform, Windows Embedded CE 6.0, was officially launched. As the industry leader software tool , Windows Embedded CE 6.0 will build real-time for multiple devices operating system , for example: Internet Protocol (IP) set-top boxes, global positioning systems (GPS), wireless projectors, and various industrial automation, consumer electronics, and medical equipment.
On the tenth anniversary of Windows Embedded, Microsoft Windows Embedded CE 6.0 will be opened 100% unreservedly in the "Microsoft Shared Source program" for the first time kernel ,(GUI graphical user interface Not open) is 56% higher than that of previous versions of Windows Embedded CE. The Shared Source Program provides a comprehensive source code Access to modify and redistribute (according to the terms of the license agreement) without sharing their final design with Microsoft or others. Although the Windows operating system is a general-purpose Computer platform , designed to achieve a unified experience, device manufacturers can use the Windows Embedded CE 6.0 toolkit to desktop The device builds a customized operating system image. By obtaining Windows Embedded CE source code Some parts of, such as: file system, device Driver And other core components, Embedded Developers can select the source code they need, compile and build their own code and unique operating system, and quickly bring their devices to the market.
Microsoft Visual Studio 2005 Professional is also available as part of Windows Embedded CE 6.0. This pair Microsoft It is another unprecedented breakthrough. Visual Studio 2005 Professional Edition will include a powerful plug-in called Platform Builder Embedded Platform provided“ Integrated development environment ”。 this Integrated development environment It integrates the whole development chain and provides a tool that is easy to use from device to application, greatly accelerating the listing of device development.
Windows Embedded CE 6.0 Redesigned kernel It has the concurrent processing capacity of 32000 processors, with each processing capacity of 2GB virtual memory Addressing space At the same time, it can maintain the real-time response of the system. This allows developers to integrate a large number of powerful application program Integrate into more intelligent and complex devices. This device can be used on the road, at work or at home.
On the road: Windows Embedded CE 6.0 has added new unit core data and voice components, which enables the equipment to establish data connection and voice call through the cellular communication network, so as to realize the machine to machine communication application scenario, and build corresponding equipment, such as parking meters, vending machines and GPS equipment.
At work: Windows Embedded CE 6.0 contains components that make it easier for developers to create projectors that wirelessly connect to the remote desktop sharing experience through the built-in features of Windows Vista.
At home: Windows Embedded CE 6.0 makes full use of multimedia technology to develop network media equipment, digital video recorders and IP set-top boxes.

seven

Microsoft officially announced the latest member of its embedded product line, Windows Embedded Compact 7, at the Taipei COMPUTEX exhibition from June 1 to 5, 2010. The predecessor of Windows Embedded Compact 7 is the well-known Windows Embedded CE (WinCE for short) system. With the upgrade of the version number, it was officially renamed as Windows Embedded Compact 7. Microsoft's upcoming Windows Phone 7 kernel It is the similar WinCE 7 kernel that is used. Moreover, the Windows Phone platform is also a customized product based on the WinCE platform.
The improvements of Windows Embedded Compact 7 in this release are as follows:
1. Improvement of seamless connection technology: various technologies provided by Windows Embedded Compact 7 can support seamless connection with rich media, online services, Windows PCs, smartphones and other handheld devices;
2. Improved connectivity and use of rich media services: Windows Embedded Compact 7 uses a new media library to simplify multimedia feature management and MPEG-4 And HD HD, and flexible plug-in architecture technology supports third-party content expansion;
3. Realize seamless connection with Windows 7: use Windows Device Stage to simplify multimedia management, and it is easy to synchronize data and media files between them;
4. Perfect Office And personal information service: can support Office Viewer AirSync and Microsoft Exchange;
5. Rich user experience: innovative solutions provided by Windows Embedded Compact 7 can be used to provide users with extraordinary device interaction capabilities;
6. Flexible UI framework extension: Windows Embedded provides a richer and more intuitive user interface framework for devices - Silverlight. Designers can use Microsoft Expression Blend to build imaginative interface effects;
7. Rich online surfing experience: Windows Embedded Compact 7 updated IE browser The engine supports tab, zooming and other functions Adobe Flash 10.1 Components;
8. The improved control input is more user-friendly: a powerful touch interaction mode is built in, allowing users to customize gestures, and providing multi-point control support for mobile devices.
windows embedded compact 2013
Windows Embedded Compact 2013 is a simplified component-based device operating system. It has been updated to support both Visual Studio 2013 and Visual Studio 2012. This operating system provides developers with all the tools needed to create next-generation intelligent system solutions. By supporting x86 and ARM architectures, Windows Embedded Compact 2013 provides flexibility and real-time support, which can help device manufacturers shorten the time to market of products, and create easy-to-use, multi touch intelligent systems to enable enterprises to improve employee productivity.
Common tools such as Visual Studio2012 and 2013, and Expression Blend enable you to create attractive and intuitive user interfaces and bring differentiated devices to market faster.
The real-time operating system supports various hardware requirements and main processor architectures (including x86 and ARM) to meet different requirements (from micro control to fully automated chemical plants).
Improved file system performance ensures that the company's equipment is always available; The single-layer security function is compatible with SDL, and has reliable wireless connection and networking capabilities.

Latest features

Announce
edit
At present, the latest Windows CE is Windows Embedded Compact 7. This version is available in kernel Some have made great progress: all system components have been changed from EXE to DLL and moved to kernel space
Newly designed virtual memory Architecture, a new device driver architecture, and supports both User Mode and Kernel Mode drivers. The limit of only 32 processes can be run, and 32768 processes can be run. Per working element virtual memory The limit is increased from 32 M to the total virtual memory of the whole system. The Platform Builder IDE is integrated into Microsoft Visual Studio 2005. New security architecture to ensure that only trusted Software It can run in the system. UDF 2.5 file system. Support 802.11i (WPA2), 802.11e (QoS) and other wireless specifications, and multiple radio supports
Supports x86, ARM, SH4, MIPS and other processors. New Cellcore components are provided to make it easier for the system to create data links and activate calls in the mobile phone network. stay development environment On, Microsoft Also available for compatibility with NET Framework: NET Compact Framework, Let's be learning NET or already owned NET program Developers of development technology can quickly and smoothly carry Windows CE .NET Development on equipment of the system application program
For handheld computers Pocket PC And smart phones Smart Phone The Windows CE system on is called Windows Mobile , the latest mature version is Windows Phone 8.1.

Architecture

Announce
edit
Built on Windows CE Embedded system It can be roughly divided into four levels, from the bottom up: hardware layer, OEM layer operating system Layer and application layer. Different layers are provided by different manufacturers. Generally, hardware layer and OEM layer are provided by hardware OEM manufacturers; operating system Layer is provided by Microsoft; The application layer is provided by independent software developers.
Each layer is composed of different modules, and each module is composed of different components. This hierarchical structure attempts to integrate hardware and Software operating system and application program Separation, so as to facilitate the transplantation of the system, and facilitate the division of labor and cooperation and parallel development of personnel developing hardware, software, operating system, application programs, etc.

Hardware layer

The hardware layer is composed of CPU storage , I/O ports, expansion card Embedded hardware system , is Windows CE operating system An indispensable carrier. one side, operating system Provide a running platform for embedded applications; On the other hand, the operating system should run on the hardware, deal with the hardware directly and manage the hardware. It is worth noting that due to Embedded system The application is the core. The hardware in the embedded system is usually customized according to the application needs. Therefore, all kinds of hardware Architecture The difference between them is very big. "Smaller, faster, cheaper" is almost all Embedded system Hardware design objectives.

OEM layer

The OEM layer is logically located in hardware and Windows CE operating system A layer of hardware related code between. Its main function is to abstract the hardware, abstract a unified interface, and then Windows CE kernel These interfaces can be used to communicate with hardware.

Development technology

Announce
edit
For different systems, Windows CE uses different development technologies: the VC++5.0 development system embedded toolkit used by Windows CE provides system libraries, tools, text and sample code, so that OEMs can customize Windows CE standards for specific hardware platforms. The embedded kit also includes Equipment drive Package (DDK) and software development kit (SDK). The DDK provides additional text about the write drive. The SDK provides libraries, header files, sample code, and text to allow developers to write to Windows CE based platforms. Windows CE provides the same program Interface for other windows operating system Development functions, for example, Windows CE version 1.01 supports about 1000 Microsoft 500 of the Win32 API functions of the. This means that a large number of different tools, third-party books, and training tutorials for Win32 developers can replace or be used by developers of Windows CE systems. and real-time system Developers can use the embedded toolkit of VDFF 5.0 to operating system Transfer to a specific platform, and develop attachments for this platform Equipment drive And real-time functions.

Detailed introduction of the system

Announce
edit

Thread priority level

Windows CE has priority Multi task operating system , which allows multiple functions, processes Time system Windows CE running in supports the largest 32-bit synchronization process. A process includes one or more threads. Each thread represents an independent part of the process. A thread is designated as the basic thread of the process. The process can also create an undetermined number of additional threads. The actual number of additional threads is only determined by the available system resource Limit.
Windows CE uses a priority based time slice algorithm to schedule thread execution. Windows CE supports eight different priorities, from 0 to 7. 0 represents the highest level, which is defined in the header file windows. h.
priority
describe
zero
The priority used by key processes is the highest level, equivalent to Ring0 in Windows
one
Highest thread priority, lower than level 0 priority
two
It is higher than the normal thread priority and is often used by lower level processes
three
Normal thread priority, basic
four
It is lower than the priority of regular threads, and sometimes used by background threads
five
Lowest thread priority
six
Thread priority higher than IDLE
seven
Lowest thread priority
Levels 0 and 1 are typically used as real-time processes and Equipment drive Level 2-4 is used as threads and general functions, and level 5-7 is lower than other function levels. Note that level 6 is the current state and has a stable connection.
Similar to Windows, threads with high priority are scheduled to run first, while threads with the same priority will run in a circular priority mode, that is, each thread accepts a customized time or time slice. The default value of the quantitative time is 25 milliseconds (Windows CE 2.0 supports changing the quantitative time on the MIPS platform). Lower priority threads should not run until higher priority threads are completed, that is, until they either give up or stop. An important exception is that the thread with the highest priority (level 0, critical time priority) does not share time slices with other threads These threads continue to execute until they are complete. Unlike other Windows operating systems, Windows CE is fixed and cannot be changed. It does not match the interrupt based on the introduced priority. They can change temporarily, but only through Windows CE kernel To avoid the so-called "priority inversion".
Priority inversion means that when they compete for the same resource at the same time, low priority threads hinder the use of resources by high priority threads. In order to correct this situation and free higher priority threads, Windows CE allows lower priority inheritance, strict thread priority, and running higher priority until it releases the resources used.
For example, if a thread is running at the highest priority, it tries to take the mutex , a low priority thread becomes a high priority thread, and runs until it releases the mutex. Priority inversion applies to all threads of the system. For example, even the kernel The thread can be converted to level 0. If the priority is 0, the thread Running memory paging Code, which will cause block errors.
Multi task design based on priority ensures that threads running at the lowest level can execute at a predetermined time period. In this paper, we will discuss setting response later. For the specified platform and formula, we will get the number from other platforms. In the DAK and SDK tools, the thread status and priority are displayed, and the specified real-time system Operation profile.

Thread synchronization

real-time system Process and thread synchronization must be ensured. For example, if one part of the real-time application is completed before the other part gets the most current data, the management process of this application may be unstable, and synchronization will ensure correct exchange between application threads.
Like other Windows operating system Similarly, Windows CE is Thread synchronization It provides a rich "waiting object", including key departments, events mutex , which allows a thread to slow down its operation and wait until the specified event occurs.
Windows CE will mutex Key parts and event requests are arranged in the order of "first in, first out, priority (FIFO)": different first in, first out order sequences are defined as eight different priorities. Thread requests at a given priority level will be placed at the end of the priority list. When the priority is inverted, scheduling program Adjust these sequences.
In addition to waiting objects, Windows CE supports standard Win32 time API functions, which come from kernel Applications, Software Interrupts will get time intervals, which are used to manage real-time applications. By calling the GetTickCont function, it can return several milliseconds, and threads can use the system interval time. For more detailed time-sharing information, Windows CE kernel The Win32 API functions QueryPerformanreCounter and QueryPerFormanteFrequency are also supported. The OEM must provide hardware and Software Yes, it provides a high time resolution and other aspects of the OAL interface.

Other considerations

Windows CE provides an important storage system For example, when some platforms running Windows CE provide 4MB physical memory, Windows CE supports an important 2GB address space. Each process is connected to its own 32MB physical space. When it needs to generate memory paging Interrupt (this may affect the thread execution time), and the physical memory performs thread code or data memory paging.
Memory paging Input and output will be more real-time than Process priority Low. Memory in real-time process paging You can still appear freely, but this should ensure that backstage Actual memory management gain real-time system Priority. Real time threads should be locked in memory to prevent these insignificant memories paging Block its operation, they may occupy the actual memory management System.
Windows CE allows mapping, which prevents multiple processes from sharing the same physical memory , which will result in fast mapping between collaborative processes or drives data transfer Memory mapping can dramatically enhance real-time operations.

Interrupt processing

The interrupt handling mechanism of WinCE is based on IRQS ISRS and ISTS
Real time applications are set up within a specified time interval to respond to external events. Real time applications use interrupts as a way to ensure that external events operating system How to learn. In Windows, kernel And OEM adaptation layer (OAL) are set to optimize the interruption and scheduling of other parts of the system. Windows CE balances operations and makes execution easier by dividing the interrupt process into two parts: Interrupt service program (ISR) and interrupt service thread (IST).
Each hardware interrupt request line (IRQ) is connected to an ISR. When the interruption is established and occurs, kernel Call the registered ISR for this, and the ISR is Interrupt processing The kernel mode part of is saved as short as possible. It will first kernel Put it on the appropriate IST.
ISR executes its minimum processing and returns an ID number to kernel , the kernel checks the returned interrupt ID number, sets related events, and interrupts the service thread to wait for events. When kernel When setting events, the IST stops waiting and starts executing. Most of the additional interrupt processes and interrupt processing actually occur in the IST. The two highest thread priorities (levels 0 and 1) are usually specified as ISTS to ensure that these threads run fast enough.
As mentioned earlier, the ISTS at the highest level cannot be occupied by other threads. These threads continue to execute until they stop or give up.
Windows CE cannot support group interruption, which means that when the previous Interrupt processing The other receives services differently, that is, when kernel If an interrupt occurs at the ISR, it will continue to execute until the ISR ends before starting the ISR for the new IRQ, which will cause Hardware interrupt Delay, delay and response time between and ISR start Interrupt response

Interrupt response

In the following, the Interrupt Latency phrase mainly refers to the relatively interrupt processing response, that is, the time from the processing interrupt to the processor until the interrupt starts processing.
Windows CE Interrupt response time It refers to the thread whose lock exists in memory (when the memory response does not exist). This makes it possible to calculate the worst event response—— Interrupt service program (ISR) The total time to start and interrupt service thread (IST) to start D, until the total time for interrupt processing can be determined by calculating the time required in ISR and IST.
The general formula for ISR response is defined as follows:
ISR start time=value1+dISR_Current+sum (dISR_Higher)
Value1=by kernel Response value obtained during processing
DISR_Current=When the interrupt arrives program ISR duration in. This value ranges from 0 to the longest ISR duration in the system
Sum (dISR_Higher)=the total duration of all higher ISRS before the start of ISR, that is, interrupts arriving between time vahe1+dISR cumeneu
For example, consider a Embedded system Because ISR is set to the highest level, the value of ISRS dISR Higher is 0. When there is no other ISRS minimum response program The lowest response is value1 plus the longest ISR cycle in the system. When the interrupt arrives, it is the longest ISR in the system that starts executing.
IST response cycle is defined as follows:
IST start time=value2+sum (dIST)+sum (dISR)
Value2=by kernel Response value processed
Sum (dIST)=the sum of all ISR and IST occurrences, starting priority ISTS and thread context conversion time.
Sum (dISR)=the sum of the duration of other ISRS running between the interrupt (?) ISR and its IST.
The simplest example - an embedded system with a key level ISR and a key level thread (no other zero priority thread) - no other ISTS can interrupt between ISR and IST, but other ISRS can be processed between the start of a key level ISR and its related IST.
Because ISRS can be processed once it is available, it is easy to imagine a pathological situation, involving the generation of a continuous ISRS flow, resulting in uncertain delays. The start of IST is impossible because the OEM controls the completion of interrupts in the system. Because OEM( OEM )Is specific operating system Design traditional Windows CE version. OCM optimizes the system design by taking advantage of the limitations of the target operating environment.
To reduce response time, OEM controls ISR and IST processing time Interrupt priority Thread priority. The value1 and walue2 in the formula represent Windows CE kernel This allows the OEM to control the time sharing according to the purpose. The research involves these confirmed values.

Ensure real-time operation

Two different ways are used to ensure Windows CE operation:
*Internal inspection or analysis by the Windows CE development team kernel code,
*OEM and ISV (independent Software Vendors) use some tools that will be provided in the future Windows CE version Embedded Toolkit (for VCFT) to ensure specific configurations.
Windows CE's embedded toolkit for VC++includes the following tools:
*(One for time-sharing research kernel Tool version and Intrtinrt.ext Application software To observe the maximum, minimum and average time of the interruption process.
* Microsoft Can also develop other time-sharing tools for customer needs.
The Windows CE development team has checked kernel The code can be characterized by the worst case time, which is independent of the number of system objects.
To take advantage of this check, kernel Represented as a set of KCALLS or system calls, they are the kernel in the kernel shutdown priority program , and other threads are not allowed to run, the worst event time. At this time, the real-time process and standard run, which can be represented as the worst event KCALL time in the kernel (note: these times do not affect ISRS, only affect threads, such as ISTS).
Through inspection, the development team found that there was no non persistent cycle in KCALLS, which enabled all KCALLS to be represented as one-way branches and code paths, and ensured that it was possible to find the worst event time through KCALL independent of the input parameters.
Finding the actual worst event time includes using In strum entered kemal, which is only one Kernel version It is edited and used after setting the application environment, KCALL_PROFACE=1, to ensure the additional time-sharing function. This instrumented kernel is different from the debug kernel. Instrumented is used for a retail kernel, and it is used to obtain time-sharing values. This is often a taboo for shipping products. The only difference between the retail kernel and the instrumented kernel is its equipment.
The Instrumented kernel records all KCALL times, including minimum, maximum and average times, and can print them to the debug interface by calling the dedicated API function Dum Pk call profile. The Instrumented kernel usually runs in a strong state, and then calls the Dumpkcall profile to obtain the time.
Interrupt test Application software Intrtime.exe, The interrupt time-sharing delay information is collected in the Windows CE standard version, and the application software controls the system time in the test. Therefore, when the system needs a time controller, it is not suitable for use. For example, this application program Cannot be compared with kernel The instrumented version is used together because it also requires time control.

create shortcut

You are right. Windows CE can also use shortcuts.
Shortcuts It is a very small file that can be linked to other files. You can use the. lnk file to point to the file located in the Windows folder. If you don't use the. lnk file, you can only use the file System files (. dat) Make a full copy of the files in the Windows folder outside the ROM.
The following steps list how to create a desktop Shortcuts After you create this file, you need to add it to the runtime image. In most cases, you need to copy this file to a place outside the Windows system.
Create a desktop Shortcuts The method is as follows:
1. Select New Project or File from the File menu in Platform Builder
2. Select the Files tab in the New Project or File dialog box
3. Select Text File Type
4. In the File name text box, enter<File Name>. lnk, where<File Name>; It can be entered as required, the same below. A new file is created and opened
5. In<File Name>. lnk, enter the link command
The. lnk file is a text file containing the command line and the linked target. It has a command line length and a command line. You can also pass Parameter transfer To the linked target, this is optional. However, if Shortcuts If the module is replaced in Coredll, this behavior may also be changed.
By default, a. lnk file uses the following format.
[The length of the ASCII string of the following command line and parameter] # [Command line [parameter]]
For example, you should be able to run MyApp.exe with two parameters program , a MyApp.lnk file can contain this statement:
40#\Windows\MyApp.exe parameter1 parameter2
6. Select Save As from the File menu
7. Save this file in the OAK section of BSP for compiling into operating system Image. Use the Save As dialog box to navigate to% _WINCEROOT% public <Platform Name><Windows CE Version><BSP Name> OAK Files and select Save
You have created Shortcuts File, you can now add it to the OS by editing Project.bib, or add it to your platform component tree. If it is the former, just open the Project.bib file and add the following line of code in the FILES section:
MyApp.LNK $(_FLATRELEASEDIR)\MyApp. LNK NK S
In this example, MyApp. LNK is put into the memory block of NK, and the optional parameter S defines it as System files Property.

Difference from Linux

Announce
edit
This section will discuss the business model, learning and development difficulties, hardware support, stability, help for engineers' future development, and help for R&D center's future development.
Advantages of embedded Linux OS compared with Windows CE
First: Linux is open source code, and many Linux enthusiasts around the world are strong technical supporters of Linux developers; Windows CE 6.0 kernel All open, GUI not open. Second: Linux kernel Small, high efficiency; Compared with Windows CE, it uses too much RAM. The third Linux is Open Source The OS is highly competitive in price and suitable for China's national conditions. Windows CE requires a copyright fee. The fourth Linux not only supports x86 chips, but also is a cross platform system. When replacing the CPU, you will not encounter the problem of replacing the platform. Fifth, Linux kernel The architecture of the Internet is very complete in terms of network. It provides 10 megabit, 100 megabit and gigabit Ethernet networks, as well as wireless networks, Token rings( Token Ring )With the support of fiber optics and even satellites, Windows CE has powerful network functions.
Weaknesses of embedded Linux OS compared with Windows CE
First: LINUX development is difficult and requires high technical strength. WINCE development is relatively easy and the development cycle is short, kernel Perfect, mainly application layer development. Second: LINUX core debugging tools are not complete, debugging is not convenient, and there is still no good user graphical interface. WINCE has rich GUI and powerful development tools; Third, LINUX system maintenance Difficult. Linux usually occupies a large amount of memory when using a more complete GUI. You can remove some useless functions to reduce the memory used, but if you are not careful, new problems will arise.