synonymwince(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-bitEmbedded 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
WindowsCEoperating systemIs a member of the Windows family, designed specifically forPocket PC(HPCs) andEmbedded deviceThe system environment used.In this wayoperating systemCan make the complete mobile technology compatible with existing WindowsdesktopTechnical integration.Windows CE is designed for small devices (typically with limited memoryDiskless system)Common tooperating system, Windows CE can be located in thekernelandHardwareThe 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 NToperating systemHAL confusion).
And othersMicrosoftWindowsoperating systemDifferent, Windows CE does not mean that the same standard is applicable to all platformsSoftware。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 canSoftwareMake 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 storagescriptandoperating systemOperation 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 codeMicrosoftSelf developed embedded new typeoperating systemAlthough 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 basedApplication Program InterfaceAnd 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 platformApplication softwareIt can continue to be used on the Windows CE platform with simple modification and migration.Windows CE is not designed for a single device, soMicrosoftThe products using Windows CE operating system are roughly divided into three product lines,Pocket PCHandheld 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 basedoperating systemIn fact, it is simply a simplified version of Windows 95.In the mid-1990s, Casio launched the first model to use Windows CE 1.0operating systemThe 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 timePalmThe 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-MicrosoftStand up and quicklyoperating systemThe 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 sensitiveMicrosoftNaturally, we will not let such a huge market gooperating systemOn 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 PDAsoperating systemNew standards.Although CE2.0 is still better than Pilot'soperating systemThe space required is much larger, but it has a Windows interface. It is estimated that few people who can use PC will not use itMicrosoftThe 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 isMicrosoftWindows 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 paidSoftwareThe 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 workSoftwareThe pocket version of is installed in the Pocket PC, and its entertainment performance is greatly enhanced.Of course forMicrosoftOf 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 2002MicrosoftPocket PC 2002 Phone Editionoperating systemThe first PPC mobile phone in China, Dopod 686, was launched in October 2002. Later, Panda launched CH860 and Lenovo launched ET180pocket pcThe product appears.
4.0-4.2
Windows CE. NET (Windows CE 4.0) isMicrosoftThe first one launched in January 2002NEToperating systemFrom its name, we can know that it belongs to MicrosoftNET.WinCE. NET is the upgrade of WinCE 3.0, and it also addsNET Framework compact version, supporting Bluetooth andNETapplication programdevelopment.
Windows CE. NET 4.2 is Windows CENET 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,MicrosoftAnnounces Windows CE5.0 expansion of open program source code.In thisOpen SourceUnder the authorization of the plan, Microsoft will open 2.5 million lines of source codeprogramAs 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 useoperating system。
six
In November 2006, Microsoft's latest embedded platform, Windows Embedded CE 6.0, was officially launched.As the industry leadersoftware tool, Windows Embedded CE 6.0 will build real-time for multiple devicesoperating 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,MicrosoftWindows Embedded CE 6.0 will be opened 100% unreservedly in the "Microsoft Shared Source program" for the first timekernel,(GUIgraphical user interfaceNot open) is 56% higher than that of previous versions of Windows Embedded CE.The Shared Source Program provides a comprehensivesource codeAccess 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-purposeComputer platform, designed to achieve a unified experience, device manufacturers can use the Windows Embedded CE 6.0 toolkit todesktopThe device builds a customized operating system image.By obtaining Windows Embedded CEsource codeSome parts of, such as: file system, deviceDriverAnd other core components,EmbeddedDevelopers 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.
MicrosoftVisual Studio 2005 Professional is also available as part of Windows Embedded CE 6.0.This pairMicrosoftIt is another unprecedented breakthrough.Visual Studio 2005 Professional Edition will include a powerful plug-in called Platform BuilderEmbeddedPlatform provided“Integrated development environment”。thisIntegrated development environmentIt 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 RedesignedkernelIt has the concurrent processing capacity of 32000 processors, with each processing capacity of 2GBvirtual memoryAddressing spaceAt the same time, it can maintain the real-time response of the system.This allows developers to integrate a large number of powerfulapplication programIntegrate 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 7kernelIt 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 andMPEG-4And 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. PerfectOfficeAnd 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 IEbrowserThe engine supports tab, zooming and other functionsAdobeFlash10.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 inkernelSome have made great progress: all system components have been changed from EXE to DLL and moved to kernel space
Newly designedvirtual memoryArchitecture, 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 elementvirtual memoryThe 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 trustedSoftwareIt 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.staydevelopment environment On,MicrosoftAlso available for compatibility withNET Framework:NET Compact Framework,Let's be learningNET or already ownedNETprogramDevelopers of development technology can quickly and smoothly carryWindows CE .NETDevelopment on equipment of the systemapplication program。
For handheld computersPocket PCAnd smart phonesSmart PhoneThe Windows CE system on is calledWindows Mobile, the latest mature version is Windows Phone 8.1.
Architecture
Announce
edit
Built on Windows CEEmbedded system It can be roughly divided into four levels, from the bottom up: hardware layer, OEM layeroperating systemLayer and application layer.Different layers are provided by different manufacturers. Generally, hardware layer and OEM layer are provided by hardware OEM manufacturers;operating systemLayer 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 andSoftware、operating systemandapplication programSeparation, 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 CPUstorage, I/O ports, expansioncard Embeddedhardware system , is Windows CEoperating systemAn indispensable carrier.one side,operating systemProvide 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 toEmbedded system The application is the core. The hardware in the embedded system is usually customized according to the application needs. Therefore, all kinds of hardwareArchitectureThe difference between them is very big."Smaller, faster, cheaper" is almost allEmbedded system Hardware design objectives.
OEM layer
The OEM layer is logically located in hardware and Windows CEoperating systemA layer of hardware related code between.Its main function is to abstract the hardware, abstract a unified interface, and then Windows CEkernelThese 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 includesEquipment drivePackage (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 sameprogramInterface for other windowsoperating systemDevelopment functions, for example, Windows CE version 1.01 supports about 1000Microsoft500 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.andreal-time system Developers can use the embedded toolkit of VDFF 5.0 tooperating systemTransfer to a specific platform, and develop attachments for this platformEquipment driveAnd real-time functions.
Detailed introduction of the system
Announce
edit
Thread priority level
Windows CE has priorityMulti task operating system, which allows multiple functions, processesTime systemWindows 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 availablesystem resourceLimit.
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 andEquipment driveLevel 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 threadsThese 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 CEkernelTo 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 themutex , 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 thekernelThe thread can be converted to level 0. If the priority is 0, the threadRunning memorypagingCode, 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 specifiedreal-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 Windowsoperating systemSimilarly, Windows CE isThread synchronizationIt provides a rich "waiting object", including key departments, eventsmutex , which allows a thread to slow down its operation and wait until the specified event occurs.
Windows CE willmutex 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, schedulingprogramAdjust these sequences.
In addition to waiting objects, Windows CE supports standard Win32 time API functions, which come fromkernelApplications,SoftwareInterrupts 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 CEkernelThe Win32 API functions QueryPerformanreCounter and QueryPerFormanteFrequency are also supported.The OEM must provide hardware andSoftwareYes, it provides a high time resolution and other aspects of the OAL interface.
Other considerations
Windows CE provides an importantstorage 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 memorypagingInterrupt (this may affect the thread execution time), and the physical memory performs thread code or data memory paging.
MemorypagingInput and output will be more real-time thanProcess priorityLow.Memory in real-time processpagingYou can still appear freely, but this should ensure thatbackstageActualmemory management gainreal-time system Priority.Real time threads should be locked in memory to prevent these insignificant memoriespagingBlock its operation, they may occupy the actualmemory management System.
Windows CE allows mapping, which prevents multiple processes from sharing the samephysical memory, which will result in fast mapping between collaborative processes or drivesdata transferMemory 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 eventsoperating systemHow to learn.In Windows,kernelAnd 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,kernelCall the registered ISR for this, and the ISR isInterrupt processingThe kernel mode part of is saved as short as possible.It will firstkernelPut it on the appropriate IST.
ISR executes its minimum processing and returns an ID number tokernel, the kernel checks the returned interrupt ID number, sets related events, and interrupts the service thread to wait for events.WhenkernelWhen 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 previousInterrupt processingThe other receives services differently, that is, whenkernelIf 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 causeHardware interruptDelay, delay and response time between and ISR startInterrupt 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 CEInterrupt response timeIt 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:
Value1=bykernelResponse value obtained during processing
DISR_Current=When the interrupt arrivesprogramISR 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 aEmbedded system Because ISR is set to the highest level, the value of ISRS dISR Higher is 0.When there is no other ISRS minimum responseprogramThe 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.
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 specificoperating systemDesign 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 timeInterrupt priorityThread priority.The value1 and walue2 in the formula represent Windows CEkernelThis 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 teamkernelcode,
*OEM and ISV (independentSoftwareVendors) 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 researchkernelTool version and Intrtinrt.extApplication softwareTo observe the maximum, minimum and average time of the interruption process.
*MicrosoftCan also develop other time-sharing tools for customer needs.
The Windows CE development team has checkedkernelThe code can be characterized by the worst case time, which is independent of the number of system objects.
To take advantage of this check,kernelRepresented as a set of KCALLS or system calls, they are the kernel in the kernel shutdown priorityprogram, 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 oneKernel versionIt 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 testApplication softwareIntrtime.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, thisapplication programCannot be compared withkernelThe instrumented version is used together because it also requires time control.
create shortcut
You are right. Windows CE can also use shortcuts.
ShortcutsIt 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 fileSystem files(. dat) Make a full copy of the files in the Windows folder outside the ROM.
The following steps list how to create adesktopShortcuts。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.
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 passParameter transferTo the linked target, this is optional.However, ifShortcutsIf 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 parametersprogram, 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 intooperating systemImage.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 createdShortcutsFile, 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 asSystem filesProperty.
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.0kernelAll open, GUI not open.Second: LinuxkernelSmall, high efficiency;Compared with Windows CE, it uses too much RAM.The third Linux isOpen SourceThe 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, LinuxkernelThe 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,kernelPerfect, mainlyapplication layerdevelopment.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, LINUXsystem maintenanceDifficult.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.