The Software 3. Psion Teklogix 7535
Reklama
Reklama
T
HE
S
OFTWARE
3
3.1 Overview Of The 7535’s Software . . . . . . . . . . . . . . . . . . . . 29
3.2 The Boot Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.2 Boot Types . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.2.1 Cold Boot . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.2.2 Warm Boot. . . . . . . . . . . . . . . . . . . . . . . 31
3.2.3 Other Power Transitions . . . . . . . . . . . . . . . . . . . 31
3.2.3.1 Suspend . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.3.2 Resume . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.4 User Interface . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 The Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.2 System Structure . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.2.1 The System Monitor . . . . . . . . . . . . . . . . . . 34
3.3.2.2 The Desktop . . . . . . . . . . . . . . . . . . . . . . 36
3.3.2.3 The User Interface . . . . . . . . . . . . . . . . . . . 38
3.3.2.4 Navigation . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.2.5 Colour Schemes . . . . . . . . . . . . . . . . . . . . 39
3.3.2.6 Differences. . . . . . . . . . . . . . . . . . . . . . . 40
3.3.2.7 Error Messages . . . . . . . . . . . . . . . . . . . . 40
3.4 Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5 The Filesystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.6 Locations Of Applications . . . . . . . . . . . . . . . . . . . . . . . . . 41
7535 Hardware Reference Guide 27
Chapter 3: The Software
Overview Of The 7535’s Software
3.1 Overview Of The 7535’s Software
This chapter describes features of the boot process and operating-system software that are specific to the 7535.
The 7535 uses a custom build of Microsoft’s Windows CE.NET 4.2, with OS-native device drivers for its custom hardware. It can accept executables written for the Intel
X-Scale PXA255 processor, or (with the appropriate runtime engine) .NET CIL executables or Java bytecode executables.
The Psion Teklogix-developed ‘BooSt’ bootloader and mini-OS is used to perform initial hardware configuration and load system software.
The system software design supports the services required by applications. The operating system environment and standard development tools provide the standard services; an application may interface with Psion Teklogix’ custom hardware and software interfaces via the Psion Teklogix Mobile Devices SDK.
3.2 The Boot Process
3.2.1 Overview
The 7535 handheld terminal has both a main processor and a peripheral controller.
When the terminal is booted, the peripheral controller boots into BooSt, then runs its own software. This software is stored in the peripheral controller’s onboard flash memory.
The main processor uses BooSt as a bootloader and Windows CE .NET 4.2 as the primary operating system.
The image for the main processor’s software, including BooSt and Windows CE
.NET, are stored in the terminal’s flash memory. The main processor cannot boot directly from the flash; a more complex boot process is required. The peripheral controller loads a small amount of code into the main processor’s instruction cache, enabling it to start its own boot loader.
3.2.2 Boot Types
The boot process is the series of steps between pressing the on key on the 7535 to when the main operating system is ready for user input. There are three possible times that this may happen:
7535 Hardware Reference Guide 29
Chapter 3: The Software
Boot Types
• the first time the terminal is turned on at the factory (‘initial software load’)
• the terminal is turned on after it is powered down (‘cold boot’)
• the terminal is turned on after it was suspended (‘resume from suspend’).
The most common type of boot is the resume from suspend. When the 7535 is turned off, it enters a ‘suspended’ state, where its main processor is stopped, but retains the contents of its RAM.
Cold boot only occurs if the terminal is intentionally rebooted or if both the main battery and the backup super-capacitor become fully discharged.
The first-time software load, as the name suggests, only happens once, at the factory, and is not discussed further here.
On a cold boot or resume from suspend, the peripheral controller boots using the bootloader image in its flash.
Note: The following descriptions assume no errors during the boot process.
3.2.2.1
Cold Boot
During a cold boot, the peripheral controller is the first device powered up. It performs the following steps:
1. Boots the bootloader image located in its own flash.
2. Turns on an LED to confirm the button press by the user.
3. Powers up the main processor but leaves it in reset.
4. Initializes the main processor.
5. Continues running its own software.
Once out of reset, the main processor performs the following tasks:
6. Initializes the 7535’s SDRAM and flash memory.
7. Loads its copy of the bootloader from the NAND flash into RAM.
8. Communicates back to the peripheral controller that everything is okay.
9. Jumps to the bootloader.
30 7535 Hardware Reference Guide
Chapter 3: The Software
Other Power Transitions
The bootloader performs minimal initialization and waits until it gets a ‘Go’ message back from the peripheral controller, after which it:
10. Fully initializes itself.
11. Writes a message on the terminal screen and the console port.
12. Loads the OS image into RAM.
13. Runs the OS image.
While the Windows CE image is being loaded into RAM, a splash screen is displayed on the terminal’s display.
A cold boot can also be triggered by selecting Blue + 0 to get the start menu, then selecting Shut Down, Cold Reset.
3.2.2.2
Warm Boot
The warm boot is a complete cycle transition from Run to Suspend to Run. When transitioning from Run to Suspend, all applications are closed, but working RAM is not cleared and the file system is preserved. A warm boot resumes with working
RAM and a file system, whose contents have been preserved from a previous session.
A warm boot can be triggered by selecting Blue + 0 to get the start menu, then selecting Shut Down, Warm Reset.
3.2.3 Other Power Transitions
3.2.3.1
Suspend
A transition to the Suspend state (stopping the microprocessor) occurs when:
• There is a timeout of the user-input inactivity timer, or
• External power is removed, and the battery is low.
Suspend is the usual state of the terminal when it is ‘turned off’. It can be triggered by the user in two ways:
• by pressing Blue + 0 to get the start menu, then selecting Shut Down,
Suspend.
7535 Hardware Reference Guide 31
Chapter 3: The Software
User Interface
• by pressing the OFF key-combination Blue + Enter.
If the unit is running on battery power, and the remaining battery power drops to critical levels as reported by the battery pack, the system will transition gracefully to the Suspend state, and no data will be lost.
If the unit is running on external power without a battery installed, and external power is removed, the system will make a ‘non-graceful’ transition to the Suspend state. The object store is preserved, the file system in flash is intact, but registry changes that have not been stored in the registry files in flash are lost, running applications are lost, unsaved data is lost. Restart from this state is a cold boot.
3.2.3.2
Resume
During a Resume transition from the Suspend state, the boot process starts in the same way as a cold boot. When going into Suspend, the main operating system writes a value into the Power Management Scratch Pad register. This value can be
“run the main operating system on resume” or “run the boot loader on resume”.
When a value is read from this register on resume that corresponds to the value for
“run the main operating system on resume”, the bootloader jumps to the OS image in RAM, and the boot continues. If the value read corresponds to the value “run the boot loader on resume”, the bootloader continues to run, giving the user a command prompt.
The user can go to the bootloader’s command prompt manually by:
• pressing and holding the Scan, Blue, and Enter keys simultaneously for 6 seconds
• selecting Blue + 0 to get the start menu, then selecting Shut Down,
Bootloader.
3.2.4 User Interface
During the boot process, indicators let the user know what is happening:
• When the user presses the ON button, the four LEDs turn on momentarily to confirm the button press.
• When the bootloader is loaded and running on the main processor, a message is displayed on the terminal’s screen and on the console port.
32 7535 Hardware Reference Guide
Chapter 3: The Software
User Interface
• When the main operating system is loaded and run, a splash screen is displayed on the terminal’s screen.
• At the end of the boot process, the 7535’s shell is displayed on the screen.
Status messages are written to the 7535’s serial console ports during the boot process. The peripheral controller and the main processor console ports are multiplexed on the same physical port. They use different command prompts to let the user know which processor is displaying the status message.
The peripheral controller can display the following messages on the console port:
• Starting BooSt
• No image in the NAND flash
• No/Invalid image on CF card
• PXA250 jumping to BooSt
The main processor (the PXA250) can display the following messages on the console port:
• Starting BooSt
• Recovering from sleep
• PXA250 jumping to Windows CE
• Going to BooSt prompt
• Valid image in flash date code = <date code>
• Invalid image in flash
• Valid image on CF card date code = <date code>
• Invalid image on CF card
The user has also been given the ability to adjust when certain transition times are affected. This is done using the Power Properties applet in the Windows Control
Panel. One of two power schemes, ‘AC Power’ or ‘Battery Power’ can be chosen.
The following options can be changed by the user:
• Switch To Suspend
This is the amount of time the unit is idle before the unit executes the Runto-Suspend transition. This setting is on the Schemes tab of the Power Prop-
erties dialog. Possible settings are: Never, 1, 2, 3, 4, 5, 10, and 30 minutes.
7535 Hardware Reference Guide 33
Chapter 3: The Software
The Shell
• Suspend Threshold
This is the percentage of battery charge left when the unit executes the Runto-Suspend transition. This setting is on the Suspend Threshold tab of the
Power Properties dialog. Possible settings are: 0 to 50 percent, in 5% steps.
3.3 The Shell
3.3.1 Overview
The shell is responsible for providing an interface to the user for access to the terminal’s applications, files, and configuration. It also monitors and provides notifications to the user about the system state.
3.3.2 System Structure
The shell is the first user application run by the system. It registers several windows with the operating system and has several responsibilities defined by the OS. These responsibilities include monitoring system memory and power levels. Along with the tasks that are required by the OS, the shell is responsible for providing the user with usability features. These features include a notification area, a window that displays currently running tasks and a method to run applications.
The shell is a multithreaded application. Information is passed between the threads using Windows CE graphical window and event system (GWES) and shell-defined message types. Certain parts of the shell must register with the OS to receive special messages.
3.3.2.1
The System Monitor
The system monitor task contains one window to receive messages and can potentially be multithreaded. Each thread can be used to monitor a system resource. The initial design has only one thread that monitors system memory and power. This thread is woken up periodically and checks the system resources.
34 7535 Hardware Reference Guide
Chapter 3: The Software
System Structure
Memory Monitoring
When the free memory drops below a configurable limit, the shell sends a ‘hibernate’ message to the last used application window. Application windows are supposed to reduce their memory consumption when they receive this message. If the free memory situation has not improved, the system monitor will send hibernate messages to the other windows.
Power Monitoring
The power monitor provides two different means of feedback to the user.
The first method of feedback is a battery-gauge icon in the system tray. This icon, which resembles a battery, shows the level of charge left in the main battery.
When the battery is fully charged the icon is completely green, when the battery is completely discharged, the battery is red. The other levels in between vary in the amount of green and red in the battery icon (for example, at 60% charge level the battery is 3/5 green and 2/5 red). The shades of red and green will be chosen so that they display as light and dark on a monochrome display.
The battery-gauge icon is replaced with a icon displaying a power connector when the terminal is connected to external power and is not charging. It is replaced with an icon displaying a battery with a lighting bolt when the terminal is connected to external power and the battery is being charged.
The second method of feedback is the display of popup messages when the main battery level drops below a certain limit or the battery life has been exceeded.
Security Monitoring
The system monitor thread is also responsible for the current security level on the terminal.
The terminal has three security levels: User, Teklogix, and Supervisor. The system monitor task monitors the security level and will display an icon in the system tray if the terminal is in the Teklogix or Supervisor level. Any application that needs to set or get the current security level should do it through a shell API that will be handled by the system monitor task.
7535 Hardware Reference Guide 35
Chapter 3: The Software
System Structure
3.3.2.2
The Desktop
Desktop
System Tray
Task Bar
The desktop provides the user with a starting point to access the terminal’s file system (through a link to Windows Explorer), and configuration (through a link to the Control Panel).
The user may also put any applications or files in the
\Windows\desktop
folder and they will be displayed on the desktop. This gives the user quick and easy access to files and applications they might use frequently.
Important: This folder resides in RAM, and its contents will be lost during a cold boot.
The desktop window is also implicitly registered with the OS by naming itself
‘DesktopExplorerWindow’. The OS uses it to hide applications. Because Windows
CE does not support true minimization, any minimized windows are just placed behind the desktop.
The Taskbar
The taskbar is a window drawn across the bottom of the terminal’s screen. The taskbar has its own thread, and runs its own window, the system tray window, and the task manager dialog box.
36 7535 Hardware Reference Guide
Chapter 3: The Software
System Structure
The taskbar registers itself with the OS. The OS sends the taskbar two kinds of special messages:
• application creation and destruction events.
• certain key presses and key sequences.
Application creation and destruction events can be used for displaying buttons on the taskbar for running applications.
Key presses and key sequences can be used by the shell for any purpose.
The taskbar displays the Task Manager on receiving Alt + Esc, cycles running application windows on receiving Alt + Tab; and it displays the start menu on receiving a Menu (Blue + 0) key press. This start menu can be used to access certain shell features.
The taskbar is also responsible for displaying the start menu when the Menu key combination is pressed.
The System Tray
The system tray is a window within the taskbar. It registers a callback with the OS.
Once registered the OS will forward messages sent by applications to display notification icons (
Shell_NotifyIcon()
) to the system tray.
The system tray task processes these messages and draws the notification icons in the system tray window. The system tray also forwards any mouse or touch events on the icons back to the window that registered them. The system tray also displays the current time in its window when configured to do so.
7535 Hardware Reference Guide 37
Chapter 3: The Software
System Structure
The Task Manager
The task manager is a dialog box that is created on startup but is only displayed when the user requests it (by pressing Blue + 0, then T, or by pressing Alt + Esc, or by selecting Start Menu, Task Manager). When it is displayed, it lists the currently running applications. It allows the user to start a new application, close a running application, or bring a running application to the foreground.
When attempting to close an application, the task manager sends it a close message.
If the application does not close, the task manager checks to make sure they can close this application and ask the user if they really want to kill it. If the user answers yes, the task manager kills the application’s process.
3.3.2.3
The User Interface
The desktop contains icons for shortcuts to the most commonly access files and folders. At the bottom of the desktop is the taskbar. On the right side of the taskbar is the system tray. The system tray window does not have an outline but is only as tall as the taskbar and as wide as the icons it is displaying. The taskbar and the system tray can be configured to display on any edge of the screen.
38 7535 Hardware Reference Guide
Chapter 3: The Software
System Structure
3.3.2.4
Navigation
The shell and the standard start menu are fully navigable using the keyboard. The following table outlines special keys and key combinations for the shell.
Operation Key Or Key Combination
Navigation Arrow pad
Open / Forward / Exit and save Enter
Close / Exit and don't save
Back
Esc
Bksp
Focus Cycle (dialog boxes)
Select / Button press
Start Menu
Task Manager
Tab
Space
Blue + 0
Blue + 0, then T;
Alt + Esc
Cycle Tasks
Go to System Tray
Show Desktop
Change security level
Show power information
Blue + 0, then C;
Alt + Tab
Blue + 0, then Y
Blue + 0, then D
Blue + 0, then S
Blue + 0, then P
The shell is fully navigable by touch, except there is no means of bringing up the start menu.
3.3.2.5
Colour Schemes
The shell uses system-defined colour types to display the desktop and the taskbar.
The user can use the Appearance tab of the Display control-panel applet to adjust these colours. Applications can use the Windows system-colours API to change them.
7535 Hardware Reference Guide 39
Chapter 3: The Software
Power Management
3.3.2.6
Differences
The customized Psion Teklogix shell is an enhanced version of the Handheld PC
(HPC) shell, which is similar to the shell on the desktop version of Windows. There are some modifications to account for differences between the typical HPC and the
7535’s screen size and requirements. The major differences between the HPC shell and Psion Teklogix’ shell on the 7535 are:
• The HPC shell is optimized for 480x240 pixel displays, while Psion Teklogix’ shell is optimized for both 240x320 and 320x240 displays.
• The HPC shell has a 26-pixel taskbar, Psion Teklogix’ shell reduces this to
18-pixels to maximize the desktop (work) area.
• Psion Teklogix’ shell does not have a start button. Any important links should be on the desktop.
• Psion Teklogix’ shell does not have tabs on the taskbar for the running applications.
• Psion Teklogix’ shell uses the Menu key-combination (Blue + 0) to display a start menu with shortcuts to frequently used features.
3.3.2.7
Error Messages
The shell uses the Windows CE standard error messaging system to display major errors and uses on screen message boxes to display runtime errors.
3.4 Power Management
The Power Manager acts as a mediator between devices, applications, and defined
OS power states. It implements the following set of rules for facilitating communication between those three parties:
• OS power states impose maximum power consumption limits on all devices.
• Applications impose minimum power consumption limits on specific devices to obtain minimum performance levels.
• The Power Manager allows devices to intelligently manage their own power as long as they keep their power levels between the maximum and minimum limits.
40 7535 Hardware Reference Guide
Chapter 3: The Software
The Filesystem
• If the minimum power consumption limit is set higher than the maximum, the power of the device will remain elevated for as long as the application requires the device.
• If the OS transitions to a suspended power state, application-imposed minimum power limits will be set aside while the OS is suspended.
3.5 The Filesystem
The filesystem of the 7535 appears as one unified space. However it is composed of several different types of memory: internal RAM, internal flash, and installed memory cards.
When the 7535 cold-boots, the bootloader installs the operating system into RAM.
The resulting filesystem—the
\Windows
,
\Program Files
,
\My Documents
directories and so on—resides in RAM, and is cleared during a cold boot.
Note: In normal usage, the 7535 is not cold-booted. Unlike many computers, the unit is merely suspended when it is not in use, and the RAM retains its contents.
The 7535’s internal nonvolatile flash memory and any available memory cards are made available to this filesystem. That part of the 7535’s internal flash memory available to the user appears as the
\Flash Disk folder. Each partition on a memory card appears as a separate folder under the root folder. (Most memory cards have one partition by default; this can be changed through the Storage Manager.)
Memory-card folders are named as follows:.
Type Of Card Name Of First Or Only Partition
SD Card or
MMC
Compact Flash card
\SD-MMC Card
\CF Card
Name of Second And Later
Partitions
\SD-MMC Card2
,
\SD-MMC Card3
...
\CF Card2
,
\CF Card3
...
3.6 Locations Of Applications
Applications may be located in several places in the 7535.
7535 Hardware Reference Guide 41
Chapter 3: The Software
Locations Of Applications
An application can be installed either to RAM or to flash memory. If the application is installed to RAM, it is completely lost when the unit is cold-booted.
The default directory for files installed through ActiveSync’s Application Manager is
\Program Files\<appname>
, where
<appname>
is the name of the program. On the 7535, this directory resides in RAM and will be lost during a cold or warm boot.
The application may be installed into flash, but only if the application can be run from some folder other than the
\Windows
folder, which is not placed in the flash file system.
If the application is installed into the 7535’s internal flash memory in the folder
\Flash Disk
, the application will remain in the 7535, even after a cold or warm boot.
Application executables placed in
\Flash Disk\Startup
will be automatically started when the operating system starts after a cold boot. This will not happen after a resume from suspend.
Applications may be placed as
.cab
files in
\Flash Disk\Startup
. When the
7535 cold-boots, it will automatically install any
.cab
files located in this folder.
Applications may also be placed in memory cards.
42 7535 Hardware Reference Guide
Stáhnout
Reklama