Thursday, 27 August 2009

Windows CE: Sources File restrictions take II:

Hi folks,

you might remember my post from December 2008 where I talked about the SOURCES macro restrictions. Upon popular request I am going to extend that post now.

In particular I am going to talk about the restriction that one can only specify files, to be compiled, that reside in the same folder or one folder up from the location of the SOURCES file (e.g. SOURCES=myFile.c or SOURCES=..\myFile.c). Again this restriction only applies to the SOURCES macro and NOT to the assembly file macros (ARM_SOURCES, SH_SOURCES, x86_SOURCES, or MIPS_SOURCES).

Now let’s focus on what causes this restriction and how to solve the problem of compiling files that reside somewhere else in your system other than in the same directory or one directory above the location of the SOURCES file.

Cause:
SOURCES files are an integral part of the Windows Embedded CE build system and they are used in multiple places for instance as includes in makefiles. Unfortunately, this results in multiple parsers for SOURCES files which are not compatible with one another. Therefore the above mentioned restriction is incidental.

Solution:
But what do you do if you do have to compile files that are not in the same directory or one directory above the SOURCES file? How now brown cow?

You can simply create an interface file (myFile_i.c) in which you include the files to be compiled (#include <some_path>\myFile.c). All you have to do now is specify that interface file in your SOURCES macro (SOURCES=myFile_i.c). Et voilá, your problem is solved.

Have fun!
Read more! Post this to a friend!

Tuesday, 25 August 2009

Building Solutions with Windows Embedded CE 6.0 R2

Hi folks,

Microsoft has updated it's Windows Embedded Videos with a whole series around the official Training "Building Solutions with Windows Embedded CE 6.0 R2".
Joe Broxson, Technical Manager at Adeneo, leads through the training which up to now was only available either as an online training or as a classroom training which both cost money.

So the question is: Why do all these companys such as Hilf, BSquare, MicroConsult, Feabhas, EB and lots more who can be found here: Windows Embedded Training Partners offer trainings for money? Do we, or should I better say, you really need them?

My answer is: Yes, you do!

Allthough this learning material is a great asset to anybody who is starting to use Windows Embedded CE it misses two major aspects which can be crucial to the success of a project or at least to a good start of the project:

- Interaction with the Expert

and

- Access to many years of experience.

Both aspects, together with the possibility to conduct the training with the customers specific Hardware - let me say that out loaud: YOUR HARDWARE - being the main benefit of a classroom training.

The benefit of the online training that I see is that you can go better prepared to a class training knowing some of the questions you want to ask. As a trainer myself, I have in the past often heard from attendees during the Q&A at the end of a Training session that they don't know what to ask as they have to "digest" the information first - perhaps now a thing of the past - I would hope so.

Let me know your thoughts and comments.

So long and thanks for all the fish!



Read more! Post this to a friend!

Thursday, 20 August 2009

Hot news from Nürnberg … (again)

today’s temperature in my office at

image

was

image 

and this is an exact information  - just for Damian :)

Greeting to all Windows Embedded developers and I hope that you have also nice weather like us here in Nürnberg.

Just have fun!


Read more! Post this to a friend!

Microsoft Technical Chat on August 25, 2009

Hi guys,

just a quick reminder: the next MS technical chat on Windows Embedded CE and Windows Mobile takes place on August 25th, 2009 at 9:00 - 10:00 A.M. Pacific time

To join this chat, please log on via the main MSDN chat page at:
http://www.microsoft.com/communities/chats/default.mspx

So don't forget to put the date in your schedule and join the live chat.

And in case you miss the chat – don't worry – we will be putting the chat transcript online straight after the chat.


Read more! Post this to a friend!

Tuesday, 18 August 2009

Windows CE QFEs for month of July 2009 arrived

Hi folks,
the latest Windows CE updates have been recently released and are available for download. Some critical issues (especially the fix in kernel at Windows CE 6.0 and FSD fixes for Windows CE 5.0 and 6.0) have been resolved so get them now! More information for each update is provided in the Readme document available after the individual update(s) has been installed.

Windows CE 5.0 Platform Builder Monthly Update (July 2009)
Download this set of updates for Windows CE 5.0 Platform Builder released during the period of July 1 - July 31, 2009. These updates are fixes for Windows CE operating system problems you run into during the development and maintenance of your custom platform.

Download Link:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=c794fdc7-add2-4cc4-b6a3-3cb6326ff0d4

Fixes made in this update:

Component: FSD
090707_KB973001 - For the long file names containing multi-byte characters, FATFSD may generate the same short file name from multiple files in a directory. An error may occur when trying to open this file on Windows XP.

Component: RDP
090724_KB957381 - This update addresses a number of RDP issues.
Component: TimeSVC

090716_KB972358 - This update adds new time zones (Paraguay, UTC, Kamchatka, and Magadan), corrects time zone display strings, and updates TZI data to reflect current governmental DST timings.

Windows Embedded CE 6.0 Monthly Update (July 2009)
Download this set of updates for Windows Embedded CE 6.0 released during the period of
July 1 - July 31, 2009. These updates are fixes for Windows Embedded CE operating system problems you run into during the development and maintenance of your custom platform.

Download Link:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=64bc9f44-e8ca-44f6-94e1-08206876ec23

Fixes made in this update:

Component: COMM
090722_KB973651 - A real world usage scenario that is impacted by the current behavior.

Component: DirectX
090702_KB973000 - DirectDraw may fail to load on system with "old-style" list containing non-standard FourCC codes.

Component: FP_VOIP
090717_KB973139 - This update addresses VOIP build issue and incorrect format in the sources file.

Component: FSD
090709_KB973109 - File system corruption may occur if a non-zero sized file is truncated to 0.

Component: Kernel
090713_KB972555 - This update addresses an issue that causes uncached KPage access.

Component: RDP
090717_KB957382 - This update addresses a number of RDP issues.

Component: TimeSVC
090714_KB971994 - This update adds new time zones (Paraguay, UTC, Kamchatka, and Magadan), corrects time zone display strings, and updates TZI data to reflect current governmental DST timings.

Component: WSDAPI
090717_KB972647 - This update addresses an issue with WSDAPI.


Keep your OS up to date!
Read more! Post this to a friend!

Thursday, 13 August 2009

Windows Embedded CE: We call it a Klassiker (Part IV)

Hi folks,

imagine the following scenario:
You created a Windows Embedded CE OSDesign and successfully built (Build -> Build Solution from the PlatformBuilder menu) your image. So far so good, but now you realized that you have a couple of catalog items selected that you don’t need and since it is always a good idea to decrease your image size if possible you deselect those catalog items. Now you build your image again (possibly only parts of your image as you want to save time) but afterwards all the deselected components are still included in your image!

So what went wrong?
You should have simply used Rebuild, or more precisely Clean Sysgen, as the entries for the now deselected components are still in your .bib and .reg files from the first build.

Have fun!
Read more! Post this to a friend!

Wednesday, 12 August 2009

Windows Embedded CE: Build system considerations

Hi folks,

today I want to focus on the Windows Embedded CE build system. Well not on the whole build system but on one particular aspect, namely “how does Windows Embedded CE know which folders are in the PUBLIC tree and how can I make sure that my own folder in the PUBLIC tree will be included in the Windows Embedded CE build system

The answer is fairly simple: There is an environment variable in Windows Embedded CE which holds all components from the PUBLIC tree that are included in the build. This environment variable is called _DEPTREES (= Dependency trees).

I bet now you wanna know how this _DEPTREES environment variable is set:
  • For each folder that is by default in the PUBLIC tree the build system (more precisely the file wince.bat) checks if a makefile exists. If so, the folder is added to the _DEPTREES variable.

  • For each 3rd party folder in the PUBLIC tree the build system checks if a cebasesysgen.bat file is present. If so, the folder is added to the _DEPTREES variable

  • Lastly the _TGTPROJ folder is added to the _DEPTREES variable

  • Of course it is also possible to edit the _DEPTREES variable manually. This can be done by adding something like set _DEPTREES=%_DEPTREES% myComponent to wince.bat. NOTE: opening a build window from within PlatformBuilder (Build -> Open Release Directory in Build Window) and typing set _DEPTREES=myComponent will overwrite all previously set components!

Have fun!
Read more! Post this to a friend!

Windows 7 for Embedded Systems soon to be launched

Hi folks,

the latest version of one of the not so well known members of the Windows Embedded family, Windows 7 for Embedded Systems (FES) is to be launched at a series of events from September 14th to October 22nd, co-hosted by Microsoft, Intel and Avnet.
Due to the current feedback on Windows 7, Windows 7 FES will surely replace Windows Vista FES.

So what is this Windows FES? Another embedded operating system? And if yes, how does it fit inbetween Windows Embedded CE and Windows Embedded Standard?

So to answer the first question: No, Windows FES is not really another "embedded" operating system. It is merely a different licensing model of Microsofts desktop operating system, allowing OEMs to use the fully functional version when footprint is not an issue (lucky guys ;-).

The next version of Windows Embedded Standard 2010, codename Quebec, is also based on Windows 7 however can be componentized to suit the OEMs specific needs and to reduce the footprint of the OS on the device.

To find out more about the "Embedded Revolution" have a look here: http://embeddedrevolution.com/

So long and thanks for all the fish!
Read more! Post this to a friend!

Tuesday, 4 August 2009

PNDs and Power Consumption

Recently, I was asked about the power consumption of navigation devices (PNDs) and which components lead to a sometimes very disappointing experience with the battery power of PNDs.

As a frequent user of PND devices I have to live with one of the disadvantages with PNDs: which is you always have to have the power line connected - hanging down infront of the windshield and always getting in the way when shifting gear.

So lets have a look at the different reasons for a poor cable-free experience and possible remedies:
  1. Hardware
  2. Yes, believe it or not very often enough the reason is a bad choice of hardware, i.e. battery.
    Due to the price decline in the PND area manufacturers are caught in the vicious circle of bringing cheaper devices to the market - and sometimes getting the device to market, cheap and fast, is more important than a rich user experience.

    The bad thing about this is that often enough the experience is blamed on the underlaying software technology or the guys who put the software together.

    From a consumer point of view: There is nothing you can do about it other than throw it away and buy a new one.

  3. Software
  4. If it's not the hardware then it obviously has to be the software which in some cases gives the consumer a possibility to improve the experience, depending on which part of the software is consuming the power.

    Many PNDs nowadays have additional hands-free functionality via Bluetooth. Now it goes without saying that Bluetooth itself has a high consumption, however on some devices the bluetooth hardware is still active when the device is on stand-by. In this case you can check the documentation or forums of the device and in most cases you will find a means of turning BT off when the device is on stand-by.

    Power consumption, of course, is also affected thru power management. Depending on the device this can be something which a consumer can directly influence, i.e. by changing display settings such as brightness. Most devices support switching between day and night view which is beneficial for power consumption.
    Sometimes, however, the internal power management is simply faulty and it depends on the manufacturer if they will supply a respective firmware update which solves the problem.
If you're having problems with your PND, then the best thing I can recommend is to check the respective forums ... you'll be surprised how much help and information you will get there.

So long and thanks for all the fish!
Read more! Post this to a friend!

Webcast announcement about using Gestures in Windows Mobile 6.5


Hello guys,

in one of my previous posts, I wrote about the documentation about using gesture APIs in Windows Mobile 6.5.

If you need more information about gestures APIs, then just attend the upcomming Microsoft webcast at on Wednesday, August 26, 2009 10:00 AM Pacific Time (US & Canada).
with Alex Yakhnin. In this webcast Alex Yakhnin introduce you to the new gesture APIs and show how to use them.

Are you interessted?

Here are the dates again and the link for the registration:
Title: Developing for Windows Mobile 6.5 Devices: Using the Gesture APIs (Part 1 of 2) (Level 400)
Date: Wednesday, August 26, 2009 10:00 AM Pacific Time (US & Canada)
To register for this webcast, click on this link.

Join it!
Read more! Post this to a friend!