Wednesday, 31 March 2010

Windows CE Live Chat Transcript March 2010

Hello guys,

Just in case you missed the Live chat yesterday you can find the transcript of yesterday's chat here.

davbo-msft (Moderator): Hello Guest - the chat will start at 9am
davbo-msft (Moderator): We are pleased to welcome our Experts for today’s chat. I will have them introduce themselves now.

Karel Danihelka [MS] (Expert)[18:02]: Hi everyone, my name is Karel Danihelka and I am developer in partner response team.

Sing Wee [MS] (Expert)[18:02]: Hi, I'm Sing Wee, part of the CoreOS/BSP Test Team.

GLanger_MS (Expert)[18:02]: Hi, I'm Glen Langer, program manager on the Core Team.

Karel Danihelka [MS] (Expert)[18:04]:
Q: [1] I need to implement hardware timers on my windows CE 6.0 device to trigger events at microsecond intervals. Where should i start?
A: Until you are using CPU with GHz frequency your only chance is use interrupt handler and implement all funcionality there. But it will be really tricky and may reduce system performance. If period will be near to millisecond timeframe you can use normal thread wait for event pattern.

Karel Danihelka [MS] (Expert)[18:05]:
Q: [2] I want to partition my NAND Flash device. One partition to use for hive ragistry and the other for the apps and data. The only way to do it is programmatically or setting some registry values ?
A: It need to be set in registry - generally you need mark this partition as boot partition.

Karel Danihelka [MS] (Expert)[18:07]:
Q: [4] My CPU is Intel celeron M processor 1Ghz.
A: In this case you can try use normal approach - in interrupt handler return SYSINTR and start thread in device driver which will spin thread waiting on event attached to this SYSINTR.

Karel Danihelka [MS] (Expert)[18:08]:
Q: [8] If i need to implement it using interrupt handlers, What are all the files that I should look at?
A: Good quesiton - I would recommend documentation and there was BSP development book to download for free.

mikehall_ms (Moderator)[18:08]:
Q: [6] Hi guys, what's the formal way to report bugs back to the core team / product team? The mechanism of calling the support phone number every time is really onerous and time-consuming. Is there another mechanism?
A: Using product support is the formal way to report bugs/issues - Product support can then create an issue that can be tracked.

Karel Danihelka [MS] (Expert)[18:09]:
Q: [7] But the operation for creating the partitions ?
A: This is tricky - if you will make it autopartition & autoformat it will be created by filesystem. But generally it depends on your boot loader.

mikehall_ms (Moderator)[18:10]:
Q: [5] Is Windows Phone 7 related to Windows CE? If so, can you tell me what version of Windows CE is the basis? Is it in fact the new version of Windows Mobile?
A: At MIX 2010 Charlie Kindel presented a session that described some of the core technologies that make up Windows Phone 7 Series, including the underlying operating system (Windows CE) and the new ISV programming model based on Silverlight and .NET - check out the Mix Online Videos to get more information.

davbo-msft (Moderator)[18:10]:
Q: [5] Is Windows Phone 7 related to Windows CE? If so, can you tell me what version of Windows CE is the basis? Is it in fact the new version of Windows Mobile?
A: This forum is to discussed released products in the industry. Windows Mobile & Windows CE are based on the same Windows CE Kernel/system. Windows CE is focused on deliverying the OS for embedded customers in the market where Windows Mobile is focused on deliverying compelling Windows Phone platform.

davbo-msft (Moderator)[18:11]:
Q: [5] Is Windows Phone 7 related to Windows CE? If so, can you tell me what version of Windows CE is the basis? Is it in fact the new version of Windows Mobile?
A: http://en.wikipedia.org/wiki/Windows_CE Wikipedia gives a good breakdown of the version history.

Travis Hobrla [MS] (Expert)[18:13]:
Q: [10] I created a OS design with KITL and kernel debugger enabled. But I am unable to connect to the target for debugging. I am getting the following error when i try to connect with the device. PB Debugger Cannot initialize the Kernel Debugger.
PB Debugger Debugger could not initialize connection.
PB Debugger The Kernel Debugger is waiting to connect with target.
PB Debugger The Kernel Debugger has been disconnected successfully.
A: One possibility is that a rogue cesvchost.exe has co-opted the debugger. I am assuming this is CE 6.0? Can you try exiting visual studio and manually killing the cesvchost.exe process from the Task Manager?

davbo-msft (Moderator)[18:14]:
Q: [6] Hi guys, what's the formal way to report bugs back to the core team / product team? The mechanism of calling the support phone number every time is really onerous and time-consuming. Is there another mechanism?
A: For info on contacting Microsoft support refer to the support page on the Embedded website: http://msdn.microsoft.com/en-us/windowsembedded/dd 897633.aspx

Sing Wee [MS] (Expert)[18:16]:
Q: [13] Do u mean ISR/IST implementation? How can i register an interrupt? What kind of interrupt should i register?
A: A good introduction to interrupts in WinCE 6.0 can be found here (aside from the documentation on MSDN): http://download.microsoft.com/download/9/c/f/9cffa a58-4000-48d6-a4b2-5fed9e4e6410/Chapter%206%20-%20 Developing%20Device%20Drivers.pdf

mikehall_ms (Moderator)[18:16]:
Q: [15] What will be different in Windows Compact 7 from CE 6.0?
A: Unfortunately we cannot discuss unreleased products on this chat - keep an eye on the Windows Embedded web site and blogs to keep up to date with product announcements.

Travis Hobrla [MS] (Expert)[18:16]:
Q: [18] I am using CE 6.0. There is no cesvchost process running in my system.
A: What operating system are you using?

Karel Danihelka [MS] (Expert)[18:16]:
Q: [12] So...I have to modify file system code to create 2 partition at system startup ?!! I haven't understood....
A: You don't need to modify code, there are registry settings to achive this (look to documentation). But you may need to create partition table in boot loader. Unfortunatelly there isn't simple way how to do it.

davbo-msft (Moderator)[18:18]:
Q: [9] I would like to get a handle to a Silverlight screen section, is that possiable?
A: Windows Embedded CE 6.0 R3 includes Sliverlight for Windows Embedded. Refer to New Features overview on the embedded web site. http://www.microsoft.com/windowsembedded/en-us/pro ducts/windowsce/default.mspx. Silverlight - The power of Silverlight brought to Windows Embedded CE to create rich applications and user interfaces is new part of Windows CE Embedded.
mikehall_ms (Moderator)[18:20]:
Q: [21] The link for developing device drivers is not working. can u please check that?
A: http://msdn.microsoft.com/en-us/library/ms923714.a spx

davbo-msft (Moderator)[18:20]:
Q: [9] I would like to get a handle to a Silverlight screen section, is that possiable?
A: Sorry misunderstood the question I thought you were asking if embedded CE could handle Silverlight. Please repost so that the question goes back into the active queue because once answered no way to put the status back to open.

Travis Hobrla [MS] (Expert)[18:21]:
Q: [20] sorry! Windows XP SP3
A: Can you try exiting VS2005 and confirming cesvchost.exe is not running, then renaming C:\Documents and Settings\USERNAME\Local Settings\Application Data\Microsoft\CoreCon\1.0 to 1.0_backup, then restarting VS2005?

Sing Wee [MS] (Expert)[18:24]:
Q: [14] Can I have the book's name please?
A: I believe the downloadable version is related to the last link I sent. If you go to the following website, I believe you can download the whole thing: http://msdn.microsoft.com/en-us/windowsembedded/ce /cc294468.aspx

davbo-msft (Moderator)[18:24]:
Q: [16] If one has an image on a Silverlight page, it seems to be cached. How would one refresh that cache after changing the underlying image?
A: change the URI of the image or use a writeable bitmap if they want to manually toggle the pixels

Sing Wee [MS] (Expert)[18:25]:
A: Whoops, hit [ENTER] too early. On the right side, you'll see there an "Exam Preparation Kit" link that can be downloaded in several different languages.

Sing Wee [MS] (Expert)[18:25]:
Q: [14] Can I have the book's name please?
A: Whoops, hit [ENTER] too early. On the right side, you'll see there an "Exam Preparation Kit" link that can be downloaded in several different languages.

Karel Danihelka [MS] (Expert)[18:26]:
Q: [22] I have a NAND Flash on my target device. On this flash I have the hive registry and an application.I have observed that when the NAND flash is fully, the system startup time is longer....is there a degradation of NAND use that influences the startup time ? Why ?
A: Yes - on boot flash abstraction library (old one) read metadata from all sectors to rebuild physical - logical mapping table.

davbo-msft (Moderator)[18:27]:
Q: [9] I would like to get a handle to a Silverlight screen section, is that possiable?
A: Need addition info on this question. Can you provide more details on what you are trying to do in Silverlight?

davbo-msft (Moderator)[18:27]:
Q: [16] If one has an image on a Silverlight page, it seems to be cached. How would one refresh that cache after changing the underlying image?
A: Additonal Info: if you want to manually touch the pixels use WriteableBitmap
if you want to use the underlying HWND then use IXRVisualHost::GetHWND()

davbo-msft (Moderator)[18:28]:
Q: [25] Writable bitmap, is there an example of the syntax?
A: if you want to manually touch the pixels use WriteableBitmap
if you want to use the underlying HWND then use IXRVisualHost::GetHWND()
davbo-msft (Moderator)[18:29]:
Q: [27] I would like to get a handle to a Silverlight screen section, is that possiable?
A: Can I get more information about this question about what you are trying to accomplish in Silverlight?

davbo-msft (Moderator)[18:31]:
Q: [28] IXRVisualHost::GetHWND() exactly what I needed Thanks,
A: Your welcome

Sing Wee [MS] (Expert)[18:31]:
Q: [30] ok. thanks for the book's link
A: No problem.

Travis Hobrla [MS] (Expert)[18:32]:
Q: [26] Typically for SoC devices you name your hardware specific libraries in the form "SOCDIRNAME_LIBNAME". In our platform "OMAP35XX_TPS659XX_TI_V1" if you do this we cause the catalog parser to die... For example if we have a library "Musbfn_OMAP35XX_TPS659XX_TI_V1.dll" entering this in the catalogs pbcxml file in a <module> section causes the XML parser to fail with :
Error 3 The 'urn:Microsoft.PlatformBuilder/Catalog:Module' element is
       invalid - The value '012345678901234567890123456789.dll' is invalid
       according to its datatype
       'urn:Microsoft.PlatformBuilder/Catalog:CatalogFile Name' - The actual
       length is greater than the MaxLength value.
A: There are a couple workarounds I can think of. I believe the Module element is only used when doing SYSGEN parsing to make sure dependent SYSGENs are present when the item is selected, so I believe it is optional to the catalog. The other obvious workaround is to shorten the soc name. I realize neither of these solutions is ideal. This is not something we anticipated when we tested CE6.0, sorry.

Travis Hobrla [MS] (Expert)[18:33]:
Q: [29] I am getting this error only when I select the KdStub as the debugger in Target device connectivity.
A: Right, but KdStub is the debugger that you should use. Have you tried the steps I suggested?

Travis Hobrla [MS] (Expert)[18:36]:
Q: [31] If I select Active KTIL, My OS doesn't boots. It says "loading NK.EXE at 0x<xxxxx> location" after that nothing comes in the debug log.
A: Can you look at the serial debug output and see what is happening there? Often it can give you a clue to the KITL driver malfunctioning.

Travis Hobrla [MS] (Expert)[18:38]:
Q: [32] I have tried that and I am getting the same error.
A: I am assuming you have a device created in Target -> Connectivity Options in Platform Builder. What are the Kernel download / Kernel transport for your device?

Travis Hobrla [MS] (Expert)[18:40]:
Q: [34] KITL: *** Device Name CEPC56059 ***
WARN: KITL will run in polling mode
VBridge:: built on [Jul 10 2009] time [10:20:14]
VBridgeInit()...TX = [16384] bytes -- Rx = [16384] bytes
Tx buffer [0xA1B84860] to [0xA1B88860].
Rx buffer [0xA1B88880] to [0xA1B8C880].
VBridge:: NK add MAC: [0-60-65-2-DA-FB] Connecting to Desktop KITL: Connected host IP: 1 Port: 1086 .. this is the output of the serial debug
A: This looks reasonable and does not give clues as to why boot would halt at that point. If you capture a network trace or turn on KITL debug zones via dpCurSettings in kitl.dll, do you see KITL active after this?

Travis Hobrla [MS] (Expert)[18:41]:
Q: [35] Both is happening via Ethernet.
A: Only thing I have left to suggest is a Platform Builder installation Repair, then.

Karel Danihelka [MS] (Expert)[18:42]:
Q: [19] Hi, I saw that the ATADISK is quite generic and des not have any optimizations. Do you have any advice to consider while tryin to improve the performance of it?
A: If I remember correctly sample code has support for some specific hardware controllers (little obsolete now). This should be good start point (if you will not decide take existing driver as sample and write you own).

Travis Hobrla [MS] (Expert)[18:44]:
Q: [36] I didn't do that. I have to try.
A: I think that's the next valid step. You need to figure out whether KITL is hanging or the device - use instrumented serial debug messages and network trace to determine this.

Sing Wee [MS] (Expert)[18:46]:
Q: [34] KITL: *** Device Name CEPC56059 ***
WARN: KITL will run in polling mode
VBridge:: built on [Jul 10 2009] time [10:20:14]
VBridgeInit()...TX = [16384] bytes -- Rx = [16384] bytes
Tx buffer [0xA1B84860] to [0xA1B88860].
Rx buffer [0xA1B88880] to [0xA1B8C880].
VBridge:: NK add MAC: [0-60-65-2-DA-FB] Connecting to Desktop KITL: Connected host IP: 1 Port: 1086 .. this is the output of the serial debug
A: Neo, have you by any chance tried looking into your firewall to see if it might be blocking traffic on any particular ports? Wireshark/netmon might be able to help you here if that's the issue.

davbo-msft (Moderator)[18:48]:
Q: [38] I lost spell check, how can i get it back
A: Hello - can you give additional details about your question? Is this related to a Windows CE Embedded application?

masatos_MSFT (Expert)[18:51]:
Q: [23] When attempting to run the CETK cellcore tests the documentation states the pre-requisites include "stinger.ini", "ltk.ini" but windows CE doesn't provide these or document what they fully need to contain. Implicitly you also need "datatrans.xml" which isn't supplied. If you get around this error and steal these from Windows Mobile instead, when you try and run the CETK tests you get a data abort in radiometricsdll.dll. How should we invoke the cellcore parts of CETK?
A: Hi Pev, what version of Windows CE and CETK are you using? I do not have the expertise to answer this question, but can find somebody who can.
Travis Hobrla [MS] (Expert)[18:52]:
Q: [44] I don't see a kitlcore.dll in my OS. is my debug image fails to load because of that?
A: kitl.dll should be all that's needed, kitlcore.lib is linked into that.

Travis Hobrla [MS] (Expert)[18:55]:
Q: [43] I've got a platform (not developed by myself) where I2C bus support has to be provided through the OAL as the kernel needs to talk to devices such as the power management IC and gas gauge so a 'proper' I2C driver hanging off device manager isn't possible. This happens to be a polled driver, so obviously it hits the system hard when either under lots of traffic or an error condition occurs and the driver constantly polls. I originally thought that there was no straightforward way to make such code interrupt driven in the kernel (as it's a cludge) but I realised that that's exactly what ETHDBG drivers do. Is there any reason why I shouldn't have a go at implementing a similar mechanism for our kernel resident I2C driver? If not, are there any obvious pitfalls - I've not seen any other BSP's do this in the past...
A: You can make a 'proper' driver that calls down into the OAL to do the actual I2C transactions. Alternatively you can build an interrupt-based version in the OAL where you handle everything in the ISR. There is nothing wrong with that so long as the rest of your drivers and app threads can handle longer times with interrupts off while you are servicing I2C interrupts.

Sing Wee [MS] (Expert)[18:55]:
Q: [47] I am having trouble with my mouse, I have the microsoft wireless mobile mouse 3000, when I push the scroll button I am suppose to have autoscroll instead it shows other web pages,Can you help me out tell me what to do!!!
A: Sorry, this current chat is about Windows Embedded Compact. Hope you're able to find an answer to your question elsewhere.

davbo-msft (Moderator)[18:56]:
Q: [40] Is the Silverlight Animation "Spline" a BezierSpline?
A: Spline - http://msdn.microsoft.com/en-us/library/ee501495.a spx
masatos_MSFT (Expert)[18:58]: Thanks for the info Pev. I will follow up with the CETK experts here and get back to you.

davbo-msft (Moderator)[18:59]:
Q: [48] Spline- bad link
A: http://msdn.microsoft.com/en-us/library/ee501495.a spx

davbo-msft (Moderator)[19:00]:
Q: [49] Sorry, got to tirm the ">"
A: No Worries http://msdn.microsoft.com/en-us/library/ee501495.a spx

davbo-msft (Moderator)[19:00]: Hello everyone, we are just about out of time.
Thank you for joining us for our Windows Embedded CE 6.0 chat today!

davbo-msft (Moderator)[19:01]:
Q: [11] hi everybody. I would like to know if there is something know about a bug in RTC API (VOIP), especially when using SIP. According the to the analysis with application verifyier there is a heap link in rtcdllmedia.dll. All of the unreleased chunks seem to have a size of 6560 bytes.
A: I will follow up with the Networking Team for a response.

davbo-msft (Moderator)[19:01]:
Q: [17] Hi, we've problems with debugging of applications (= breakpoints in Platform Builder will be ignored) over KITL on Windows CE 5.0, if the PDB files are large (over 60MB). Are there any limitations to size of the PDB files?
A: I will follow up with the tools team for a response and post with the transcript.

Sing Wee [MS] (Expert)[19:01]:
Q: [50] I am unable to use the target control in my development environment. any ideas?
A: Make sure you have SYSGEN_SHELL=1 set in your build environment.

davbo-msft (Moderator)[19:03]:
Q: [33] what are the main differences between Object Store and RAM disk ?
They are both in RAM...are there performance differences ? access
differences ?
A: I will follow up with the Core Team and get a response posted with the transcript to MSDN

davbo-msft (Moderator)[19:04]:
Q: [52] Is there any way to extract the default command lines of the tests in CETK? I want to have it running unconnected from the desktop.
A: I will follow up w/ the CETK team and get a response posted with the transcript to MSDN.

davbo-msft (Moderator)[19:05]:
Q: [45] Hi masatos, I'm using Windows Embedded CE 6.0 with R3 and patched to feb 2010's QFE's (with it's associated CETK version) this is a machine with only CE 6.0 on (no conflicts with earlier CE or WM...)
A: I will follow up with the CETK team and get a response posted with the transcript to MSDN.

Have fun!

No comments: