duminică, 6 noiembrie 2011

Can you see with your tongue?

Can You See With Your Tongue?
Seeing with your tongue may indeed happen to a certain level because of a property of the brain called "plasticity" which is in fact the ability of a brain region to interpret sensors from different sources and adapting itself to them such that for instance it is possible to "see" using our auditory cortex.
This plasticity of the brain may allow humans to enhance their senses in a way that may be a little scary to imagine right now and would be more or less associated to science-fiction. However, this is a road in defining what and who we are and understanding how the sensory, cognitive and emotional interleave.
The more answers we have, the more of this behavior we can replicate in machines. This is a long and open matter of discussion, which I think will represent the challenge of this century. Having thinking machines will mean a great shift in how we see society in the present days and it's hard to grasp at this point.
Meanwhile, noteworthy discoveries in how the brain works are the foundation bricks to an uncertain building.
So, can you see with your tongue?

sâmbătă, 17 septembrie 2011

Res2Res Error Adding Resources

Upon compiling a new OS design for the Device Emulator, the following error may occur during Sysgen:

ERROR: Res2Res: Res2Res:  ERROR: Line: 267  File: c:\ce1\tools\ostools\wincetools\rescommon\checksum.cpp
ERROR: Res2Res: Res2Res:  ERROR: Line: 267  File: c:\ce1\tools\ostools\wincetools\rescommon\checksum.cpp
Res2Res: Error adding resources (-1)
NMAKE : fatal error U1077: 'res2res' : return code '0xffffffff'
Stop.
NMAKE : fatal error U1077: 'C:\WINCE600\sdk\bin\i386\nmake.exe' : return code '0x2'
Stop.

-------------------------------------------

The same issue may provide the following error code: Res2Res: Error adding resources (110) NMAKE : fatal error U1077: 'res2res' : return code '0x6e' Stop. NMAKE : fatal error U1077: 'C:\WINCE600\sdk\bin\i386\nmake.exe' : return code '0x2' Stop.

To solve the res2res related error, I have opened the project property pages and chose not to localize the build. I have also cleared all locales and only selected the English(United States) locale.

atls.lib Error when Building Device Emulator OS

When building a Device Emulator OS design project, it is common to receive an error in the build process that refers to atls.lib. Visual Studio simply writes BLDEMO: There was an error in the build process. The true cause of the error is found in the build.log file, typically located in C:\WINCE600.
At the end of the build.log file, the following lines point to the error cause:
NMAKE : fatal error U1073: don't know how to make 'C:\WINCE600\OSDesigns\OSDesign1\OSDesign1\Wince600\DeviceEmulator_ARMV4I\cesysgen\oak\lib\ARMV4I\retail\atls.lib'
Stop.
NMAKE : fatal error U1077: 'C:\WINCE600\sdk\bin\i386\nmake.exe' : return code '0x2'
Stop.
To solve the build error, the Active Template Library needs to be included in OS using the  Catalog view. Just type ATL in the Catalog view search bar and check the "Active Template Library(ATL)" entry.
After adding the reference to ATL, run the Sysgen build command to generate the OS image.

joi, 15 septembrie 2011

Debug Windows CE Applications Via TCP/IP

It is sometimes required to debug application on Windows CE devices without an ActiveSync connection, but over TCP/IP. In order to enable debugging using Visual Studio 2005, a few setup steps are required.
1. Create a OS image or copy the files listed below in the \Windows folder. It is more convenient to create a OS image in the case that Windows CE is loaded in RAM and the copied files would be deleted upon a subsequent restart. These files can be typically found in C:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\<Target CPU>, where target CPU can be for instance armv4i. There you will need to find these files:
- clientshutdown.exe
-CMAccept.exe
- ConmanClient2.exe
- eDbgTL.dll
- TcpConnectionA.dll

2. In Visual Studio, navigate to Tools|Options|Device Tools|Devices. Select the "Windows CE 5.0 Device" from the list of devices and click Properties.
3. In the Properties window, select TCP Connect Transport under Transport and then click Configure.
4. Under Configure TCP/IP Transport, select the IP address of the device. In my case this is 192.168.55.100. Click OK to close this window and the other windows and return to Visual Studio.
5. On the device side, open the command prompt, change the directory to \Windows were you have already copied the files specified on step 1 and execute ConmanClient2.exe. After that, execute CMAccept.exe. Alternatively, you can open the Windows folder using Explorer and double click on these files in the specified order.
6. Within three minutes of performing these steps, connect to the device using Visual Studio - that is, start debugging your application against the Windows CE environment.

That's it, you are ready to go!