|
Embedded
Windows FAQ
Frequently Asked Questions
about Developing for Windows CE on ADS Products
The following is an index of the topics covered in
this FAQ:
Getting
Started with Windows CE
Q:
Why should I use Windows CE?
Windows
CE lets you use a programming environment and tools that are familiar
to millions of Windows programmers. It uses a large subset of the
Windows NT API, so simple NT applications can be converted to CE
with very few changes. CE is especially attractive for small to
moderate production runs, as the up-front tool cost is lower.
Q:
Where can I find out more about Windows CE?
A:
Take a look at Microsoft's introduction
to Windows CE. There you will find data sheets, product specifications
and other information about the advantages of Windows CE.
Q:
What versions of CE do you support?
A:
Versions 2.11, 2.12 and 3.0.
Q:
Where can I get information about Windows CE 3.0?
A:
Check out the Windows CE features at Microsoft's
CE site .
Application
Development Tools
Q:
What is the quickest way to begin application development on the
ADS Graphics Client and Thin Client?
To
get going quickly, ADS recommends the following procedure:
1.
Develop and compile an application on the host PC
2.
Copy the application to an ATA card
3.
Insert the ATA card in your Thin Client or Graphics Client.
4.
Execute the application directly from the card.
For
application development and debugging, you will eventually want
to take advantage of Microsoft ActiveSync to establish a serial
or Ethernet connection for remote debugging.
Q:
I already have an application written in Visual C++ or Visual BASIC
for Windows NT. How hard is it to convert it for use with Windows
CE?
A:
If you have the CE tools, you can usually run your application on
an ADS device the same day you receive it! It is simply a matter
of installing the CE tools (below) and selecting the ARM platform
as your compiler target. Since CE uses an extensive subset of the
Windows NT API, your application is likely to be able to run the
first time you recompile it for ARM.
Q:
What tools do I need to begin development on the ADS Thin Client
or Graphics Client?
A:
To best make use of the capabilities of the ADS Thin Client and
Graphics Client, you should have the following hardware and software
installed. Items shown as "optional" are not required, but are highly
recommended.
|
Hardware:
|
ADS Thin Client or Graphics Client Evaluation System (fully
populated with flat panel display)
|
|
|
16MB (minimum) ATA Flash card (PCMCIA Type II); for uploading
new images to the device
|
|
|
Device that can read and write ATA cards (e.g. laptop or
PC-installed reader/writer)
|
|
|
Null-modem serial cable
|
|
Software:
|
Microsoft eMbedded Visual Tools (free from Microsoft)
|
|
|
Microsoft SDK for StrongARM SA-1100 (downloadable from
ADS and Microsoft)
|
|
Ethernet Debugging tools (optional):
|
Ethernet card in host PC
Ethernet hub, preferably with switch to disconnect from
area network
Two Ethernet cables, RJ45
Microsoft ActiveSync software (downloadable from Microsoft)
|
Q:
Does ADS have an SDK (Software Development Kit) for the Thin Client
and Graphics Client?
A:
The Jupiter SDK from Microsoft works well for application development
on ADS products. ADS also has an SDK for CE 2.12.
Q:
Is remote debugging available for Windows CE?
A:
Yes. ADS offers serial and Ethernet debugging for the Thin Client
and Graphics Client. Using Visual C++ and Visual BASIC, you can
quickly transfer files and step through application code. The CE
Toolkit also provides remote process viewer, registry editor, screen
capture and heap walker utilities.
Flat
Panels
Q:
We would like to interface to a different flat panel display. What
do we need to do?
A:
Please consult the ADS sales group for our list of supported panels.
ADS can quickly supply evaluation systems for all panels that are
already supported. If a panel is not yet supported, you must send
a panel to ADS for first-time configuration. Non-recurring configuration
charges may apply.
Q:
What is Vee?
A:
Vee is a contrast adjustment for some LCD panels. Not all panels
use Vee. It is a voltage often considerably higher than the logic
on your system, and can be positive or negative polarity. Warning!
Applying incorrect polarity or Vee overvoltage can permanently damage
a panel.
Q:
How can I adjust Vee on my Graphics Client?
A:
Vee can be adjusted in two ways. If JP12 is set for manual adjustment
of Vee, you can rotate potentiometer VR1. If JP12 is set for computer
control of Vee, you can adjust Vee using the Smart IO driver. Documentation
about the IO drivers is available from ADS.
System
Hardware
Q:
Where can I get 2mm ribbon cables for connecting to the Graphics
Client Plus?
A:
Samtec builds cables that connect to the J2 and J7 sockets on the
Graphics Client. Samtec has an excellent samples page at http://www.samtec.com/service/samples.asp.
Just supply your shipping address and contact information.
The
following two cables are 24 inches long with connectors on both
ends. Other lengths can be ordered.
J2: TCSD-15-D-24.00-01-N
J7. TCSD-20-D-24.00-01-N
Q:
I want to supply backup power to my Graphics Client. How can I do
this?
A:
There are several ways to provide backup voltages to the Graphics
Client. The way you do it depends on how you plan to use your system.
Do you envision that the display of your device will be turned on
all the time? Will your device go to sleep when not in use? Is the
power supply to your board always going to be available, or do you
expect that it can get cut off at any time? Can your software application
recover from complete power failures? These are questions that we
ask when assisting customers select a backup power source.
If
there is a chance that all external power will be disconnected from
your device, there are several ways to protect your data:
1.
Store all important data in non-volatile (flash) memory (or on an
external server in a client/server application). When power is restored,
your application can read from non-volatile memory and resume where
it left off.
2.
Connect a battery to the VPERM power input on J5.6; voltage can
be between 5 and 12 volts. When power fails, the board will go to
sleep but memory will be retained using the VPERM supply. Within
one or two seconds of being awakened, Windows CE will resume operation
where it left off.
3.
Connect a 3V battery (+/- 0.1V) to J3. Operation when the power
fails will be the same as described in case 2.
When
the Graphics Client is asleep and main power is not available, the
board draws about 4mA of current. You must size your battery accordingly.
ADS does not currently have any specifications for batteries or
chargers to use with Graphics Client.
Q:
What PCMCIA voltages do the Thin Client and Graphics Client support?
A:
The PCMCIA slots conform to Type II specifications for 5V cards.
They also have 12V power for legacy flash cards. In addition, the
Graphics Client Plus supports 3.3V PCMCIA cards.
Q:
I ran a benchmark on two different configurations of your board
and got different results. Why is this? What speed are you running
the processor?
A:
The Graphics Client can be software-configured to run at speeds
up to 220 MHz (the SA1110 on the Graphics Client Plus runs at up
to 206 MHz). The benchmark differences are most likely due to the
panel size, color depth and refresh rate of the panel you are using,
since the StrongARM display uses the same memory bus as applications.
Flash
Disk
Q:
How is the flash memory used by Windows CE?
A:
The CE bootloader divides flash memory into two 8 MB partitions.
The first partition stores the CE image and isn't available to the
user. Second partition appears in CE as the "FlashFX Disk" folder
off the root of the CE file system. You can read and write to it
using standard file system calls and navigate through it with Windows
Explorer. If you place an application in the Startup folder of the
flash disk, that application will execute when CE boots.
Q:
How many write/erase cycles can I perform on the flash disk?
A:
The flash is rated for 100,000 erase cycles per block. The "Flash
FX Disk" file system rotates through all available flash memory
when writing files, so all available flash is exercised. Flash blocks
are 128 kb in size, and the file system cluster size is 1024 bytes.
With this information, you can compute how long the flash memory
will be expected to last.
E.g.:
An application wants to write a 14.5 kb block of data to the flash
disk once every minute. If the application occupies 4 MB of the
flash disk, how long can the flash be expected to work reliably?
You
would calculate as follows: The file will take up 15 kb of disk
space, which means that you will be able to write about 8.5 such
files in every block of flash. There are 32 blocks of flash available
for the data (32 x 128k = 4 MB), so you can reliably perform about
27 million copies of the data (8.5 x 32 x 100,000). This would
allow the data to be updated once every minute for over 50 years.
Note:
Make sure to take into account any reductions in flash memory that
will occur from file growth on the flash disk. For longest service
life of the flash memory, limit files from growing beyond a predetermined
size.
|