Ethernet Download Hangs and Eboot Crashes.
Hai Greats,
Platform : MIPS.
Platform Builder : Windows CE 5.0
While downloading the Nk.bin (size around 10 MB) from platform builder
through ethernet , the download starts well. In the target, after
receiving some 32 packets, the download hangs and eboot stops
execution. While debugging the code, it was found that Eboot crashes
(no execution further, but the code in the flash is present for next
time boot) in the function "EbootEtherReadData".
All at a sudden the first while loop in this function does not work and
it seems that the Program Counter of the processor is loaded with the
address where no code is present.
It be helpfull if I could get some clue from the gurus.... .
Thanks in advance.
Yours,
Arun. Tag: Size limit with KLibAllocShareMem Tag: 91799
SDMemory.dll
Hi
I am developing SD card driver in wince 5.0 (platform pxa255)
I am confused about the relation between sdbus driver (sdbus.dll) and
sdmemory.dll
sdbus.dll is loading already but i dont know anything abt sdmemory.dll
Do i need to load it with some registry settings or sdbus.dll will load
it for me
I have written one card detect progrm and now i am able to get card
insertion interrupt
Can anybody tell me when sdmemory.dll will be loaded
John Tag: Size limit with KLibAllocShareMem Tag: 91795
Cannot eboot debug build
I'm using an Intel 854 platform which has an onboard RTL8139 NIC card. In
order to debug using KITL, i've added a second RTL8139 based NIC card (a
D-Link DFE-538TX) to the PCI slot. If i use loadcepc, i can download the
image just fine but as it starts to load up, it hangs. Attached are the last
few lines of the PB output. If i download and boot using the on-board NIC,
it works just fine. The very next line would be where it begins loading the
filesystem. Any ideas?
Binary Image should be loaded at 0x80220000 / Data relocated at 0x81ea8000
Loaded symbols for
'C:\WINCE500\PBWORKSPACES\DEBUGTEST\RELDIR\TATUNG_5000STB_X86_DEBUG\NK.EXE'
Loaded symbols for
'C:\WINCE500\PBWORKSPACES\DEBUGTEST\RELDIR\TATUNG_5000STB_X86_DEBUG\KD.DLL'
Loaded symbols for
'C:\WINCE500\PBWORKSPACES\DEBUGTEST\RELDIR\TATUNG_5000STB_X86_DEBUG\OSAXST1.DLL'
Loaded symbols for
'C:\WINCE500\PBWORKSPACES\DEBUGTEST\RELDIR\TATUNG_5000STB_X86_DEBUG\OSAXST0.DLL'
Loaded symbols for
'C:\WINCE500\PBWORKSPACES\DEBUGTEST\RELDIR\TATUNG_5000STB_X86_DEBUG\HD.DLL'
4294767313 PID:36df002 TID:36df1de 0x836df030: first = 01e20000, last =
02000000, SharedDllBase = 02270000
4294767314 PID:36df002 TID:36df1de 0x836df030: >>> Loading module
coredll.dll at address 0x03F50000-0x03FF2000 (RW data at
0x01FFE000-0x01FFF765)
Loaded symbols for
'C:\WINCE500\PBWORKSPACES\DEBUGTEST\RELDIR\TATUNG_5000STB_X86_DEBUG\COREDLL.DLL'
4294767321 PID:36df002 TID:36df1de 0x836df030: Did not find emulation code
for x86... using floating point hardware. Tag: Size limit with KLibAllocShareMem Tag: 91791
Syntax for tftp.exe
How to use the tftp.exe to upload the NK.bin to target device.Means
example syntex
My PC ip address is 10.100.131.94
and target address is 10.100.131.83.
For generting the NK.bin I modify the EbootInitTftpSimple (pEdbgAddr,
htons(69), htons(69),
NK.bin");
Please help me this regards.
Thanks,
Gouri. Tag: Size limit with KLibAllocShareMem Tag: 91790
FAT Read Buffer Length
I see an enormous amount of discussion on the BIOSLOADER having a bug in it
which will cause problems unless the FAT read bugger length is set to 0x3000
instead of the default 0x4000.
Has this been fixed in any recent patches? The reason that i ask is because
if i change mine to 0x3000, compile it and load it onto my DOM, the system
constantly reboots itself and never loads completely. Tag: Size limit with KLibAllocShareMem Tag: 91789
USB Host Controller CE 4.1 vs. CE 5
Hi All,
I have been tasked with getting the USB Host Controller for the PXA270 to
run under CE 4.1. (I know, I would be better off making the "leap" to CE 5
but its really not my call and I've lost the arguement twice over.) I have
been fairly successful in getting most of the code to compile, with the
exception of 2 functions. These don't exist in the DDK lib for CE 4.1 and I
don't see any source code in CE 5 that tells me how they work. Does anybody
out there have any intimate knowledge of the functions
"GetDeviceHandleFromContext" and "GetDeviceInformationByDeviceHandle"? I
really think if I can just implement a 4.1 version of these two functions
I'll be on my way. Thanks in advance to anyone who responds.
Regards! Tag: Size limit with KLibAllocShareMem Tag: 91787
how to register my custom source filter in winCE 5.0 ?
hi all,
i m developing a custom source filter for my application. i m using
winCE 5.0 version of platform builder. when i m trying to compile my
source filter i m getting these 2 errors in my .def file:
SourceFilter.def : error LNK2001: unresolved external symbol
DllCanUnloadNow
SourceFilter.def : error LNK2001: unresolved external symbol
DllGetClassObject
so can anybody tell me how to solve these errors. plz help me 2 solve
this. Tag: Size limit with KLibAllocShareMem Tag: 91783
Execute a command during a process of Build (Build System with DIRS,SOURCES)
Hi,
i would like to know if it is possible to execute a command as a
preprocess during build with use of files 'dirs' or 'sources' or
another. For example :
dirs :
| direcory1
| compilation of sources specified by 'sources'
| directory2
| execution of the command 'todobefore.bat'
| compilation of sources specified by 'sources' Tag: Size limit with KLibAllocShareMem Tag: 91781
question about bootpart / master boot record's location
hi
I am using the APIs of bootpart to create partitions in the bootloader.
and I notice that the MBR(master boot record) is located in block 0. To
create a new MBR, this block will be erased first.
My project use nand flash with large size, and in the very first area, there
store the boot codes. These code is to load bootloader into ram. So these
area should not be erased.
Can I put the MBR to another block? I wonder if the storage manager will
find it.
thanks
Ryo Tag: Size limit with KLibAllocShareMem Tag: 91774
Hardware Register Access in an installable ISR
Hi there
I have a question about IISR and Hardware Access, in an normal Driver i use
MmMapIoSpace for hardware register access (GPIO Regs as a sample).
But how can i access such a Hardware register in an IISR.
Because MmMapIoSpace is for userMode and a IISR Runs in KernelMode or im
wrong?
Thanks for your help
Patrick Tag: Size limit with KLibAllocShareMem Tag: 91771
windows CE prevailing rate
hello
i have about 3 years of windows CE drivers experience, i am currently
employed
by a startup company in Southern California, i am looking for a new job
and i need to know what is the average rate for someone with my
expertise?
i have worked with windows CE device drivers (USB, display, PM, SD,
serial) mostly
debugging and porting from 4.2->5.0, i also developed some applications
i have ARM/X86 experience, i have received good reviews by my managers.
what is the salary range i should look for? my current pay is about 50k
which i think is kind of low
for someone with Win-CE experience in expensive Socal
Regards
Derrick Tag: Size limit with KLibAllocShareMem Tag: 91768
Why does the wince4.2 ceplayer delay several seconds before playing wmv files?
Hello all:
My OS is wince4.2. I use ceplayer to show WMV files on my device
about S3C2440. The WMV
file is stored in the nandflash.
After select and open a wmv file by ceplayer, it will delay several
seconds before ceplayer begin play the wmv file.
So, I wanna to know why does ceplayer delay? Pls give me some
advices.
Thanks in advance Tag: Size limit with KLibAllocShareMem Tag: 91764
Why does the OS CE4.2 boot so slowly, when large numbers of datas in the nandflash?
Hello all:
My device is about S3C2440, it has a large page(2k byte/page)
nandflash, The OS is
WinCE4.2 and the BSP is SMDK2440, so My bootlaoders are nboot and
eboot.
If I store large numbers of datas in the nandflash, then restart the
device, the OS
CE4.2 boots so slowly, this will take up more than ten seconds. But if
the nandflash is
empty, or a small quantity of datas are stored in the nandflash, the OS
boots so quickly.
This was the serial port data during the boot:
Windows CE Kernel for ARM (Thumb Enabled) Built on Mar 13 2003 at
22:52:56
ProcessorType=0920 Revision=0
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable =
8c301480
Windows CE Firmware Init
INFO: Initializing system interrupts...
INFO: Initializing system clock(s)...
INFO: Initializing driver globals area...
OEMInit Done...
Sp=ffffc7cc
FMD::FMD_Init
FMD::FMD_Init Done ;;; here, it is waiting, and this will take
up most time.
The registry in the platform.reg used are as follows:
; Bind BINFS to the block driver
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDrv]
"DefaultFileSystem"="BINFS"
"PartitionDriver"="mspart.dll"
"AutoMount"=dword:1
"AutoPart"=dword:1
"MountFlags"=dword:11
"Folder"="ResidentFlash"
"Name"="Microsoft Flash Disk"
"BootPhase"=dword:0
Why does the OS CE4.2 boot so slowly, when large numbers of datas in
the nandflash?
Perhaps, CE5.0 maybe has not this problem? Pls give me some advices.
Thanks a lot for your answers. Tag: Size limit with KLibAllocShareMem Tag: 91762
Warnings and Messages in Platform Builder 5.0
I am having trouble bringing up a Windows CE image in our test bed. The test
bed comes from PhyTec and uses a PXA270 processor. I can build the image in
Platform Builder, but I recieve the following warning:
makeimg: Warning Localization FAILED: Could not find
C:\WINCE500\PBWorkspaces\Phytec_Tutorial\RelDir\phyCore-PXA270-DK_ARMV4I_Release\tsvc_dst.DLL|EXE|CPL
I researched this on MSDN and the topic indicated that this is a component
of the timesvc module that is part of the Simple Network Time Protocol
(SNTP). I searched for timesvc in the Catalog and it highlighted the SNTP
Automatic Updates and Server Sychronization Catalog item so I added this to
my OS design, but I'm still getting the error. Does anyone know why?
Another problem I am having is that when I download the NK.bin file it seems
to download fine but when the image begins loading I recieve three messages
and the system locks up:
OEMIoControl: Unsupported Code 0x101008c â?? device 0x0101 func 35
OEMIoControl: Unsupported Code 0x10100d0 â?? device 0x0101 func 52
OEMIoControl: Unsupported Code 0x10100f8 â?? device 0x0101 func 62
I know that these ioctl codes are defined in
$(_WINCEROOT)\PUBLIC\COMMON\OAÂK\INC but I'm not sure why I'm getting them or
if they are the reason I cannot load an image. Can anyone help?
Thanks. Tag: Size limit with KLibAllocShareMem Tag: 91759
Bootloader modification???
Hi,
I would like to make modifications to an existing bootloader (ARMV4I). My
problem is I don't know how to do this using PB. I am ok when it comes to
writing source code however I am having problems when trying to use PB. I
have tried following the steps in the article on the MSDN website
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcehardware5/html/wce50howHowtoDevelopaBootLoader.asp?frame=true&hidetoc=true)
however I am unable to set up the settings (Step 2 in the article).
Can anyone explain the steps of how I can modify an existing bootloader from
a BSP and build a new CE OS image?
Also, is there some way that this can be accomplished using PB 5 IDE?
Thank you,
RH Tag: Size limit with KLibAllocShareMem Tag: 91754
kernel startup is not being called
I am using wince 5.0 os image.while flashing the image ,After the launch the
system hangs.The debug statements displayed in the hyperterminal is
Now programming Flash ...
Flash programmed successfully!
Completed Update CE image in Flash -- Lauch At:0x80100000 RomAddr:0x80000
Offset 0xc!!!
After this the system is hanging.what may be the problem?pls guide me.. Tag: Size limit with KLibAllocShareMem Tag: 91746
IOCTL_NDIS_REBIND_ADAPTER and MultiCast
Hello,
Working on our platform I have noticed that it seems our bound multicast
sockets lose the ability to receive multicast packets after we execute
an IOCTL_NDIS_REBIND_ADAPTER on the interface. It would appear the
multicast membership is revoked at that point by the TCP/IP stack.
They may seem like a 'Well duh' situation but I was wondering if there
was a way to detect this via winsock ? The scenario is :
- We have a multicast server running
- The user/a program/DHCP server changes the IP address of the interface
- Our server stops receiving multicast packages.
How do we detect/update the running server and perhaps 'rejoin' the
multicast group ? Is there an API call or socket condition that
indicates this ?
Am I making any sense ?
Thanks,
Jason Tag: Size limit with KLibAllocShareMem Tag: 91731
Windows CE and Ethernet
Hello together,
I am using a GEODE processor and an intel 8255xer ethernet device.
If I boot with a connected ethernet cable, everything is working fine.
But if I plug in the cable after booting WinCE, no Ethernet connection will
be found, sometimes if I wait a realy long time after plugin the cable, the
connection can be established.
Ipconfig -renew has no effect.
Thanks for your help
Albert Tag: Size limit with KLibAllocShareMem Tag: 91728
How can I set POOM databases to persistent storage and use them from there ?
Hello to all,
I read that Windows Mobile 5.0 has POOM databases on persistent
storage, and that it uses the EDB.
I want to enable this feature on my custom built Windows CE 5.0 runtime
images.
I created a Windows CE 5.0 runtime image that contains also EDB but the
POOM databases are still CEDB and are stored in RAM.
How can I set POOM databases to be on persistent storage and use EDB ?
Best regards,
Florin Tag: Size limit with KLibAllocShareMem Tag: 91719
SCard Lib : Power Management Ready?
Hi folks, I wrote a pscr driver that work 99% fine. The 1% left is related
to a suspend/resume issue. On an application, I am using
SCardGetStatusChange to track the card state. If I configure the
scard_readerstate structure so that SCardGetStatusChange wait for an
insertion event and put the device in supsend. Once resumed, if I insert a
card SCardGetStatusChange doesn't returned. I need to restart the
application so it works again.
On the driver side I am detecting the insertion / removal of a card by
hardware interruption which is signaled by a utility FPGA. In the driver, I
am always detecting the card state. On reception of a card interruption, I
am updating the ReaderCapabilities.CurrentState to SCARD_SWALLOWED or
SCARD_ABSENT and call SmartCardCompleteCardTracking().
The only case that need to restart the application is if the suspend occurs
during the SCardGetStatusChange if it is just before or after everything
worked perfectly.
Regards,
Keaven Tag: Size limit with KLibAllocShareMem Tag: 91716
Windows CE onto Flash drive?
Hello,
I'm trying to install windows CE 4 onto an embedded system.
Things look to work well, i can download an image to the CEPC.
CE loads, and works.
Now starts the problem. I do not have a regular harddisk installed, but a
FLASH drive (DiskonChip). Thus everytime I reboot, the memory is empty, and
CE is gone.
How Can I load the image of CE on the Flashdrive? Tag: Size limit with KLibAllocShareMem Tag: 91715
Russian Localisation
Hi All,
I have built a platform and set the Russian locale.But in my device
im not able to view Russian fonts.Can anyone help me?
Regards,
Ravi Tag: Size limit with KLibAllocShareMem Tag: 91702
What kind of Cryptographic Provider fit DRM's license??
Dear All,
We are trying to add DRM feature into WindowsCE 5.0
And Microsoft want us to get Code Signing Digital ID frim VeriSign
When I purchase Microsoft Authenticode Code Signing Digital ID frim
VeriSign.
Need to select a Cryptographic Service Provider shown as following
image link:
http://img.photobucket.com/albums/v231/bravesheng/CSP.jpg
1. Microsoft Base Cryptographic Provider v1.0
2. Microsoft Enhanced Cryptographic Provider v1.0
3. Microsoft Strong Cryptographic Provider
Which CSP was recommended for us?
Thanks for your help. Tag: Size limit with KLibAllocShareMem Tag: 91700
AT91SAM9261-EK CETK Results set for this BSP
Hi,
The contractor that we will hire to port this BSP (created by and sold
by Adeneo) would like to see the CETK test results for the BSP so they
know the quality of the drivers, and so they can accurately quote us a
price to port to our hardware platform.
I have contacted Adeneo, and been told that they no longer have these
results.
Does anyone on here have these results for this BSP ?
Joe Tag: Size limit with KLibAllocShareMem Tag: 91699
how to synchronization time through ActiveSync ?
Hello everybody :
I want to know if a program in Wince can get the Computer's time
through ActiveSync connection ?how to do ? thanks!
Calvin.Liu
27/10/2006 Tag: Size limit with KLibAllocShareMem Tag: 91694
Greek Language Localisation
Hi All,
I want to localise my application in Greek.I built the platform with
support for Greek Locale but in my device im not able to see Greek fonts.can
anyone help me?
Thanks,
Rajesh Tag: Size limit with KLibAllocShareMem Tag: 91687
Allocating and accessing physically contiguous memory in user mode in WinCE 6.0 Beta
Hi,
I'm currently working in 6.0 Beta.
I want to allocate a physically contiguous memory chunk for my
application. Earlier in 5.0, I could easily do it through
AllocPhysMem()/MmMapIoSpace() calls. But now in 6.0, these calls don't
work in User mode.
One approach I tried was by developing a Kernel mode memory allocator
driver which allocates the contiguous chunk. But the virtual address I
get through that is valid in Kernel space only and I'm unable to use it
in the application space. I have tried
SetProcPermissions()/ReadProcessMemory() type of calls but to no avail
!
If anyone has faced this issue before and know the solution, would be
great if he can share that.
thanks and regards,
Somraj Mani Tag: Size limit with KLibAllocShareMem Tag: 91685
Downloading nk.bin to Target device without PB?
Hello,
I would like to download the nk.bin file to the target device without the
use of Platform Builder. I am working on PXA 27X and BSP is Mainstone II
.Does anyone know just exactly how that could be
accomplished?
Any help would be greatly appreciated.
Thanks,
gouri Tag: Size limit with KLibAllocShareMem Tag: 91681
Software based input panel driver
Does anyone have this problem, I can create an input
panel and do a .show from within an application
and the SIP works fine but at the OS level ie clicking
on a text box in control panel to specify an ip
address or something does not pop up the sip
automatically, I can manually pop it up but
my application does not have the tool bar
showing. I have the AYGShell included in the image
and it worked fine in CE4.2 but has not worked in CE5.0
ever. My PB catalog Software-based Input Panel driver
has a red exclamation point next to it as well as the
IMM input Method Manager in the International folder.
Anyone have a fix?
TIA
Ken Tag: Size limit with KLibAllocShareMem Tag: 91671
Intel PSM 3.7 - Corrupted file system
Hello,
we are having strange problems with the file system on the PSM (3.7). It
becomes corrupted; files disappear, same file name repeated several times in
the same directory, empty directories that can not be removed, files can't be
opened, and so on...
The power is on all the time, so the corruption is not caused by power
failure. When powering off the system after a failure, and then on again, the
PSM usually does not mount.
We do not access the flashes at all, except via the PSM file system (the CE
image is copied to RAM, and runs from RAM all the time).
Our app creates about 180 files, then occasionally another 180, followed by
deleting the first 180. Each file is one round-robin - written from start to
end, then updated from beginning again. Not very complicated.
Another thing; the app (exe) is loaded from the PSM file system too...
Are there any known issues with the PSM that may explain / solve these
problems?
(We have tried to use the 3.8 version of the libs, still using WCE420, but
had the same results... We are using a PXA270 based system.)
Thanks in advance,
Johan
--
Johan Ekstrom Tag: Size limit with KLibAllocShareMem Tag: 91667
bootme problem
I build a bootloader, it can send bootme well and the PB5.0 can
reply to it too. But here is a stange problem, bootloader can accept
destination 59.77.17.255 UDP packet but can't accept destination
59.77.17.100
UDP packet, which is its IP. Anytime the program comes to
EbootTFtpReceiver,
the packet must be 59.77.17.255 destination, so can't go on. It seems
to me that, if
IP is 59.77.17.255 every thing works as normal, but if it's
59.77.17.100,
bootloader works as if there is no frame arrived. Anyone can help me? I
have
debugged it for ond day.
The code below is cut from my sourcecode. I add a lot
of EdbgOutputDebugString which is used for debug, don't care about it.
UINT16
LAN91CGetFrame(UINT8 *pBuffer, UINT16 *pLength){ UINT8 *pos =3D
pBuffer;
UINT16 code, pointer; UINT32 length, count; EdbgOutputDebugString
("+
LAN91CGetFrame"); // Make sure that bank 2 is actual OUTPORT16(&
g_pLAN91C->BANKSEL, 2); length =3D 0; while
((INPORT16(&g_pLAN91C->INTR)
& INTR_RX) !=3D 0) { EdbgOutputDebugString ("+LAN91CGetFrame while\r\n")
; // Setup pointer address register pointer =3D PTR_RCV |
PTR_READ
; // Read status OUTPORT16(&g_pLAN91C->PTR, pointer);
code =3D INPORT16(&g_pLAN91C->DATA); pointer +=3D sizeof(UINT16);
if ((code & (STAT_ALGNERR|STAT_BADCRC|STAT_LONG|STAT_SHORT)) =3D=3D 0)
{ // Get packet size OUTPORT16(&g_pLAN91C->PTR,
pointer)
; length =3D (INPORT16(&g_pLAN91C->DATA) & 0x07FF) - 6;
pointer +=3D sizeof(UINT16); // Copy packet count =3D
length
; while (count > 1) {
OUTPORT16(&g_pLAN91C->PTR,
pointer); *(UINT16*)pos =3D INPORT16(&g_pLAN91C->DATA)
; pointer +=3D sizeof(UINT16); pos +=3D
sizeof(
UINT16); count -=3D sizeof(UINT16); }
//
Get control word (which can contain last byte)
OUTPORT16(&g_pLAN91C
->PTR, pointer); code =3D INPORT16(&g_pLAN91C->DATA);
pointer +=3D sizeof(UINT16); if ((code & CTRL_ODD) !=3D 0)
{ length++; *pos =3D (UINT8)code;
} } // Release the memory for the received frame
switch (
GET_CHIP_ID(g_chipRevision)) { case CHIP_ID_LAN91C111:
OUTPORT16(&g_pLAN91C->MMUCR, MMUCR_111_REM_REL_RX); break;
default: OUTPORT16(&g_pLAN91C->MMUCR,
MMUCR_REM_REL_TOP
); } while ((INPORT16(&g_pLAN91C->MMUCR) & MMUCR_BUSY) !=3D
0)
; // If length is non zero we get a packet if (length >
0) break
; } EdbgOutputDebugString ("hahahaha\r\n"); *pLength =3D
(UINT16)
length; return (*pLength);}pfnEDbgGetFrame =3D
(PFN_EDBG_GET_FRAME)
LAN91CGetFrame; BOOL OEMEthGetFrame(BYTE *pData, // OUT -
Receives
frame data UINT16 *pwLength) // IN - Length of Rx
buffer
{ EdbgOutputDebugString ("+OEMEthGetFrame\r\n"); return
(pfnEDbgGetFrame(
pData, pwLength));}BOOL EbootSendBootmeAndWaitForTftp (EDBG_ADDR
*pEdbgAddr,
UCHAR VersionMajor, UCHAR VersionMinor,
char *
szPlatformString, char *szDeviceName,
UCHAR CPUId
, DWORD dwBootFlags){ DWORD dwCurSec =3D OEMEthGetSecs () -
BOOTME_INTERVAL
; USHORT wLen, wDestPort, wSrcPort, wUDPDataLen, *pwUDPData; int
nRetries =3D 0; EdbgOutputDebugString
("+EbootSendBootmeAndWaitForTftp\r\n")
; while (!fTftpLinked) { EdbgOutputDebugString ("+while (!
fTftpLinked)\r\n"); if ((nRetries < MAX_BOOTME_CNT) && (OEMEthGetSecs
() -
dwCurSec >=3D BOOTME_INTERVAL)) { nRetries ++;
dwCurSec
+=3D BOOTME_INTERVAL; // send a bootme message
EbootSendBootme (pEdbgAddr, VersionMajor, VersionMinor,
szPlatformString,
szDeviceName, CPUId, dwBootFlags); } // get another frame
and
pass it to TFTP handler wLen =3D sizeof (gFrameBuffer); if
(
OEMEthGetFrame (gFrameBuffer, &wLen)) { // frame available?
switch (FRAMETYPE (gFrameBuffer)) { case 0x0800: // IP
packet EdbgOutputDebugString ("+FRAMETYPE IP\r\n"); if
(!
EbootCheckUDP(pEdbgAddr, gFrameBuffer, &wDestPort, &wSrcPort,
&pwUDPData, &
wUDPDataLen)) { // UDP? // EDBG command? (should
only
occur if eshell asked us to jump to existing image)
if (!
EbootProcessEDBG (pEdbgAddr, &gHostAddr, gFrameBuffer, pwUDPData,
wUDPDataLen
, &fTftpLinked, &gpCfgData)) { // no, pass it to
TFTP EbootTFtpReceiver (pEdbgAddr, gFrameBuffer,
wDestPort, wSrcPort, pwUDPData, wUDPDataLen);
} } break; case 0x0806: //
ARP
packet EdbgOutputDebugString ("+FRAMETYPE
ARP\r\n"); if (
EbootProcessARP (pEdbgAddr, gFrameBuffer) =3D=3D PROCESS_ARP_RESPONSE)
{ EdbgOutputDebugString( "Some other station has IP
Address
: %s !!! Aborting.\r\n", inet_ntoa(pEdbgAddr->dwIP));
return FALSE; } break; default
: break; } } }
EdbgOutputDebugString (
"-EbootSendBootmeAndWaitForTftp\r\n"); return TRUE;}// This routine
handles the multiplexing of all active TFTP links. It returns 0 if
there was
no valid link formed,// or 1 of there was.WORD EbootTFtpReceiver(
EDBG_ADDR *
pMyAddr, BYTE *pFrameBuffer, UINT16 wDestPort, UINT16 wSrcPort, UINT16
*
pwUDPData, UINT16 cwUDPDataLength ) { int i; UINT16 iLinkSlot =3D
MAX_TFTP_LINKS;EdbgOutputDebugString ("+EbootTFtpReceiver\r\n"); //
Check to
see if this is for a link that is currently in use for( i =3D 0; i <
MAX_TFTP_LINKS; i++ ) { // Here I don't compare the destination (Odo)
port,
only the source (host) because // this could be a repeat open packet,
which
we don't want to cause a second link. // This could happen if a second
open
packet comes because we will have changed the // destination port with
the
acknowledge. if (TFtpLinks[i].State !=3D TFTP_STATE_IDLE && wSrcPort =3D=
=3D
TFtpLinks[i].DestAddr.wPort && wDestPort =3D=3D
TFtpLinks[i].SrcAddr.wPort) {
iLinkSlot =3D i; break; } else if (TFtpLinks[i].State =3D=3D
TFTP_STATE_IDLE)
iLinkSlot =3D i; } // If we broke out of the loop early, then the packet
is for
a link that is already open if (i < MAX_TFTP_LINKS) { // iLinkSlot is
the
index of the link this packet belongs too TFtpStateMachine( wSrcPort,
iLinkSlot, pwUDPData, cwUDPDataLength ); } // Check to see if someone
is
trying to start a new connection, // If so, guarantee that there are
always
TFTP_TX_LINKS link(s) available to transmit information else if
(wDestPort =3D=3D
wOdoWellKnownServerPort && MAX_TFTP_LINKS - nNumTFtpLinksInUse >
TFTP_TX_LINKS
) { // iLinkSlot is the index of a link that is in the IDLE state,
giving
the number of a free link // slot that can be used, the wDestTID and
the
TFTP Message TFtpdFormNewLink( pMyAddr, pFrameBuffer, iLinkSlot,
pwUDPData )
; return 1; } else { for( i =3D 0; i < MAX_TFTP_LINKS; i++ )
{ EdbgOutputDebugString("TFTP link[%u]: State:%u,
DestAddr.wPort: %
u, SrcAddr.wPort: %u\n",
i,TFtpLinks[i].State,
ntohs(TFtpLinks[i].DestAddr.wPort),
ntohs(
TFtpLinks[i].SrcAddr.wPort)); } EdbgOutputDebugString("
TftpReceiver, port: 0x%X, wkp:
0x%X\n\r",wDestPort,wOdoWellKnownServerPort)
; } return 0;} //
TFtpReceiver()//---------------------------------------
---------------------------------------//// Function Name:
EbootCheckUD(...)
// Description..: This routine will check a UDP frame that has been
received
. // It will make sure that it was for our IP address
and
that // the checksums are right and that it's a UDP
packet.
If // something is wrong, the packet will be discarded
and
the // routine will return non-zero. If everything is
right
, // then all the port and IP information will be
filled out
and // the routine will return 0. Note that if we are
doing
the // DHCP process, the DHCP server will send the
OFFER
packet to // the IP address that it would like to give
us.
We have to // be able to accept a packet for any IP
address
in that // case. This condition is signaled to the
routine
by // fPromiscuousIP =3D=3D 1, which is set using
SetPromiscuousIP()//// Inputs.......: EDBG_ADDR * pntr to
address
// BYTE * pntr to frame//
UINT16 * pntr to dst addr// UINT16 *
pntr to src addr// UINT16 ** pntr to pntr to
data
// UINT16 * pntr to data length// Outputs
.=2E....: 0 on success, non zero on
failure////-------------------------------
-----------------------------------------------UINT16 EbootCheckUDP(
EDBG_ADDR *pMyAddr, BYTE *pFrameBuffer
, UINT16 *wDestPort,
UINT16
*wSrcPort, UINT16 **pwData,
UINT16 *cwLength ) { IPHeaderFormat *pIPHeader;
UDPPseudoHeaderFormat UDPPseudoHeader; UDPHeaderFormat *
pUDPHeader; // Note that I don't do any checking that depends on a
length
field // in the packet until after the CRC is verified for that
data
. // This prevents the code from running past the end of buffers,
etc
. // when a bad packet is received.EdbgOutputDebugString
("+EbootCheckUDP\
r\n"); pIPHeader =3D (IPHeaderFormat *)(pFrameBuffer + sizeof(
EthernetFrameHeader)); // Make sure that it was for our IP address,
unless
we're // doing DHCP (indicated by fPromiscuousIP =3D=3D 1) if( !
fPromiscuousIP && pIPHeader->dwDestIP !=3D pMyAddr->dwIP ) {//
EdbgOutputDebugString( // "!CheckUDP: Not our IP
(0x%X)\n",pIPHeader->
dwDestIP);EdbgOutputDebugString ("zjwzjwzjw return 1\r\n");
EdbgOutputDebugString("%s\r\n", inet_ntoa(pIPHeader->dwDestIP));
EdbgOutputDebugString("%s\r\n",
inet_ntoa(pMyAddr->dwIP));if(fPromiscuousIP)
{ EdbgOutputDebugString ("DHCP is ON ! WRONG!!!\r\n");} return(
1 )
; } // Make sure that it is a UDP packet if(
pIPHeader->bProtocol !=3D
17 ) { EdbgOutputDebugString( "!CheckUDP: Not UDP (proto =3D
0x%X)\n"
, pIPHeader->bProtocol ); return( 2 ); } //
Check the
IP header checksum if( CRC( (UINT16 *)pIPHeader,
sizeof(IPHeaderFormat),
NULL, 0 ) !=3D 0 ) { EdbgOutputDebugString( "!CheckUDP: IP
header
checksum failure\n" ); return( 3 ); } // Build the UDP
Pseudo
Header UDPPseudoHeader.dwSrcIP =3D pIPHeader->dwSrcIP;
UDPPseudoHeader.
dwDestIP =3D pIPHeader->dwDestIP; UDPPseudoHeader.bZero =3D 0;
UDPPseudoHeader.bProtocol =3D 17; // UDP Proto is 17
UDPPseudoHeader.
cwTotalUDPLength =3D htons( htons(pIPHeader->cwTotalLength) -
sizeof(
IPHeaderFormat )); // Check the UDP checksum, I'm using the
cwTotalUDPLength // calculated from the IP header info because we
know
that // it's not corrupted and won't give an outrageous length for
the
packet pUDPHeader =3D (UDPHeaderFormat *)((BYTE *)pIPHeader+sizeof(
IPHeaderFormat)); if( pUDPHeader->wCRC !=3D 0 && CRC( (UINT16
*)&
UDPPseudoHeader, sizeof(UDPPseudoHeader), (UINT16
*)pUDPHeader
, ntohs(UDPPseudoHeader.cwTotalUDPLength) ) !=3D 0 ) {
EdbgOutputDebugString( "!CheckUDP: UDP header checksum failure\n" );
return( 4 ); } // Now we know we have a good packet, fill out the
fields *wDestPort =3D pUDPHeader->wDestPort; *wSrcPort =3D
pUDPHeader->
wSrcPort; *pwData =3D (UINT16 *)((BYTE *)pUDPHeader +
sizeof(UDPHeaderFormat)
); *cwLength =3D htons(pUDPHeader->cwTotalUDPLength) -
sizeof(UDPHeaderFormat
); // Indicate success return( 0 );} Tag: Size limit with KLibAllocShareMem Tag: 91664
Problem Running ARMV4I-based emulator from platform builerder after
Hi,
After I installed wince 6.0 on a PC with wince 5.0, I can't run any
emulators from Platform builder any more. According to wince 6.0
documentation, wince 6.0 breaks the x86 windows ce 5.0 emulator, and
recommends ARMV4I-based device emulator. I've downloaded and installed
ARMV4I-based device emulator. However, when I try to launch any
emulator here is what I get:
(CoreCon) 09:24:56 10/26/2006 Central Standard Time: Failed to connect
debug message service! Please check the transport settings.
(CoreCon) 09:24:56 10/26/2006 Central Standard Time: Transport service
failed to connect
(CoreCon) 09:24:56 10/26/2006 Central Standard Time: Warning: One or
more services failed to connect. Make sure that the service is properly
configured.
My Target->Connectivity Settings are as follows:
Target Device: CE Device <---- I've tried others - same result
Download: Emulator
Emulator: Transport
Debugger: KdStub
Any help will be appreciated.
Thank you in advance.
Vadim. Tag: Size limit with KLibAllocShareMem Tag: 91655
Wince500 Cloning warnings
I cloned ceshell and now get these rather irritating warnings, is their
anyway of remeding this, is there anyway of supressing 4099 warnings, I can
supress other warnings but not 4099.
BUILD: [01:0000001466:PROGC ] Linking
E:\WINCE500\platform\XSc1bd\target\ARMV4I\retail\ceshell.dll
BUILD: [01:0000001486:WARNN ] uuid.lib(docobj_i_guid6.obj) : warning
LNK4099: PDB 'dummy.pdb' was not found with
'E:\WINCE500\PBWorkspaces\My_Project\WINCE500\XSc1bd_ARMV4I\cesysgen\sdk\lib\ARMV4I\retail\uuid.lib'
or at 'E:\WINCE500\platform\XSc1b
d\target\ARMV4I\retail\dummy.pdb'; linking object as if no debug info
BUILD: [01:0000001487:WARNN ] uuid.lib(servprov_i_guid0.obj) : warning
LNK4099: PDB 'dummy.pdb' was not found with
'E:\WINCE500\PBWorkspaces\My_Project\WINCE500\XSc1bd_ARMV4I\cesysgen\sdk\lib\ARMV4I\retail\uuid.lib'
or at 'E:\WINCE500\platform\XSc
1bd\target\ARMV4I\retail\dummy.pdb'; linking object as if no debug info
BUILD: [01:0000001488:WARNN ] uuid.lib(shobjidl_i_guid0.obj) : warning
LNK4099: PDB 'dummy.pdb' was not found with
'E:\WINCE500\PBWorkspaces\My_Project\WINCE500\XSc1bd_ARMV4I\cesysgen\sdk\lib\ARMV4I\retail\uuid.lib'
or at 'E:\WINCE500\platform\XSc
1bd\target\ARMV4I\retail\dummy.pdb'; linking object as if no debug info
BUILD: [01:0000001489:WARNN ] uuid.lib(shobjidl_i_guid7.obj) : warning
LNK4099: PDB 'dummy.pdb' was not found with
'E:\WINCE500\PBWorkspaces\My_Project\WINCE500\XSc1bd_ARMV4I\cesysgen\sdk\lib\ARMV4I\retail\uuid.lib'
or at 'E:\WINCE500\platform\XSc
1bd\target\ARMV4I\retail\dummy.pdb'; linking object as if no debug info
BUILD: [01:0000001490:WARNN ] uuid.lib(shobjidl_i_guid9.obj) : warning
LNK4099: PDB 'dummy.pdb' was not found with
'E:\WINCE500\PBWorkspaces\My_Project\WINCE500\XSc1bd_ARMV4I\cesysgen\sdk\lib\ARMV4I\retail\uuid.lib'
or at 'E:\WINCE500\platform\XSc
1bd\target\ARMV4I\retail\dummy.pdb'; linking object as if no debug info
BUILD: [01:0000001491:WARNN ] uuid.lib(shguids_guid100.obj) : warning
LNK4099: PDB 'dummy.pdb' was not found with
'E:\WINCE500\PBWorkspaces\My_Project\WINCE500\XSc1bd_ARMV4I\cesysgen\sdk\lib\ARMV4I\retail\uuid.lib'
or at 'E:\WINCE500\platform\XSc1
bd\target\ARMV4I\retail\dummy.pdb'; linking object as if no debug info
BUILD: [01:0000001492:WARNN ] uuid.lib(shguids_guid133.obj) : warning
LNK4099: PDB 'dummy.pdb' was not found with
'E:\WINCE500\PBWorkspaces\My_Project\WINCE500\XSc1bd_ARMV4I\cesysgen\sdk\lib\ARMV4I\retail\uuid.lib'
or at 'E:\WINCE500\platform\XSc1
bd\target\ARMV4I\retail\dummy.pdb'; linking object as if no debug info
BUILD: [01:0000001493:WARNN ] uuid.lib(shguids_guid25.obj) : warning
LNK4099: PDB 'dummy.pdb' was not found with
'E:\WINCE500\PBWorkspaces\My_Project\WINCE500\XSc1bd_ARMV4I\cesysgen\sdk\lib\ARMV4I\retail\uuid.lib'
or at 'E:\WINCE500\platform\XSc1b
d\target\ARMV4I\retail\dummy.pdb'; linking object as if no debug info
Regards Tag: Size limit with KLibAllocShareMem Tag: 91653
Help~~I have trouble adding Audio driver to the kernel.
Hi~, I am using Windows CE 5.0 and Sharp SDKLH7A404. Is there any
relationship between the Audio driver and the Storage manager? Because if I
don't add the storage manager to the kernel, the Audio driver will not be
added to the kernel even if I add the Audio item to the project.
Below is the section in my
platform.bib(WINCE500\PLATFORM\SDKLH7A404\FILES)of Audio driver:
; @CESYSGEN IF CE_MODULES_WAVEAPI
IF BSP_NOAUDIO !
IF IMG_NOAUDIO !
wavedev.dll $(_FLATRELEASEDIR)\audio.dll NK SH
ENDIF
ENDIF
; @CESYSGEN ENDIF CE_MODULES_WAVEAPI
If I don't add storage manager to the kernel, this section in
platform.bib(WINCE500\PBWorkspaces\MyPrj\RelDir\SDKLH7A404_ARMV4I_Release)
becomes:
; @CESYSGEN IF CE_MODULES_WAVEAPI
; @CESYSGEN ENDIF CE_MODULES_WAVEAPI
Will the compiler check CE_MODULES_WAVEAPI is defined? Thanks in advanced. Tag: Size limit with KLibAllocShareMem Tag: 91651
Remote tools connection problems
Hi
I'm new to WinCE, and I cannot get the remote tools to work....
I'm creating a CEPC, tiny kernel platform, choose debug version, connect to
my board, and download the image to the board. I can set breakpoints,
"break", "step" and "go" in the debugger, but I cannot get connection to the
remote tools.
In the Platform Settings, build options, I've enabled:
"Enable CE Target Control Support"
"Enable EBoot Space in Memory"
"Enable Full Kernel Mode"
"Enable kernel Debugger"
"Enable KITL"
I'm using "KITL Transport for windows CE", and "CESH Server for Windows CE",
in the Device Properties, in the "Windows CE Platform Manager Configuration",
but I can not get a connection to the target. Also after trying to get a
connection, the debugger does not work any more, until I reset the target.
Any ideas to what I'm missing?, or what I can check?, any suggestions are
most welcome!
best regards
Torben Tag: Size limit with KLibAllocShareMem Tag: 91646
Wince 6.0 Does not run for ARM Device Emulator
Hi,
I am working with WinCE 6.0 RTM. I am trying to build Tiny kernel Image
for ARM Device Emulator with Target Control Shell. When i execute the
image, i get
Data Abort Exception in FileSys.dll
Please help.
Regards,
Rishabh Tag: Size limit with KLibAllocShareMem Tag: 91643
Memory slider
Windows CE 5 -> Control Panel -> System -> [Memory tab]: here you can move
slider increasing "Storage Memory" vs "Program Memory".
My problem is: when I launch my (very) big cab from SD card (that copies
many Mb into RAM) sometimes occurs an error because there isn't free memory
but this isn't true because from Panel Control I can verify there is enough
memory. The problem is slider should move itself to increase free "Storage
Memory" (decreasing free "Program Memory").
What's the behaviour of memory slider? Have I to move it by my program code?
:-O
Mhaxx Tag: Size limit with KLibAllocShareMem Tag: 91642
Wince 6.0 Does not run for ARM Device Emulator
Hi,
I am working with WinCE 6.0 RTM. I am trying to build Tiny kernel Image
for ARM Device Emulator with Target Control Shell. When i execute the
image, i get
Data Abort Exception in FileSys.dll
Please help.
Regards,
Rishabh Tag: Size limit with KLibAllocShareMem Tag: 91640
I2C and receiving data from slave devices
Hi,
We are developing a I2C bus driver on an xscale board running CE 5.0.
Master mode was easy to handle. The question is about Slave mode.
Suppose there are 2 devices on the bus which can initiate slave
transaction. How does the driver know which slave device caused the
interrupt? Is there anyway to know the slave address of the
interrupting device.
Or is it that the xscale has to poll the slave devices (master receive)
asking them if they have anything to send?
Which one is the better way? or if there is third one.
Thanks,
Gromit Tag: Size limit with KLibAllocShareMem Tag: 91632
about Wince IME
Hi,
Could you tell me how SIP and IME works together in WinCE?
Thanks a lot!!
Best Regards
Merry Tag: Size limit with KLibAllocShareMem Tag: 91628
How to auto mount a PART_DOS32 patition in WinCE4.2 with 2k byte/page nandflash?
Hello all:
My device is about S3C2440, it has a large page(2k byte/page)
nandflash(SAMSUNG K9F4G08,
512M), My OS is WinCE4.2 and the BSP is SMDK2440, so My bootlaoders are
nboot and eboot.
Using the BootPart library in eboot, the nandflash in my device has
two partions:BINFS
and FAT32. After the OS is running, I go to the storage manager in
control pannels and can
see two parts(part00, part01) in the list box, the Properties of each
Partition are OK, as
follows:
part00 size 18432 sectors
type 0x21
file system binfs.dll
flag 0x00000000
part01 size 242496 sectors
type 0x0B
file system fatfsd.dll
flag 0x00000000
However, the PART_DOS32 partition(part01) is not mounted by
WinCE4.2, and can not see
the folder "ResidentFlash". If select the Property of part01, the
Partition Properties
dialog correctly displays fatfsd.dll as the file system, but clicking
the mount button just
opens a message box that sais "Unable to mount partition". Even firstly
click the format
button, it shows ok, secondly click the mount button again, it also
shows "Unable
to mount partition".
The registry in the platform.reg used are as follows:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Support BINFS Section
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Add BinFS to partition table
[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
"21"="BINFS"
[HKEY_LOCAL_MACHINE\System\StorageManager\BINFS]
"Folder"="BINFS"
"FriendlyName"="Bin FileSystem"
"Dll"="binfs.dll"
; MountFlags:
; 0x10 specifies that this file system is to be mounted as an external
; ROM filesystem shadowing the \windows directory
; 0x1 specifies that the mountpoint \BINFS is to be hidden
;
"MountFlags"=dword:11
"BootPhase"=dword:0
;
; Entries to load the block driver that BINFS uses
; This is dependent on what device is used
;
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FlashDrv]
"DriverPath"="Drivers\\BlockDevice\\FlashDrv"
"LoadFlags"=dword:1
"MountFlags"=dword:11
"BootPhase"=dword:0
[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\FlashDrv]
"Prefix"="DSK"
"Dll"="FLASHDRV.dll"
"Order"=dword:0
"Ioctl"=dword:4
"Profile"="FlashDrv"
"FriendlyName"="MS Flash Driver"
"MountFlags"=dword:11
"BootPhase"=dword:0
; Bind BINFS to the block driver
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDrv]
"DefaultFileSystem"="BINFS"
"PartitionDriver"="mspart.dll"
"AutoMount"=dword:1
"AutoPart"=dword:1
"MountFlags"=dword:11
"Folder"="ResidentFlash"
"Name"="Microsoft Flash Disk"
"BootPhase"=dword:0
; Keep FATFS from trying to shadow \Windows
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDrv\FATFS]
"MountFlags"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
"MountFlags"=dword:0
How to auto mount the PART_DOS32 partition in WinCE4.2 with large
page nandflash? Pls
give me some advices.
Thanks a lot for your answers. Tag: Size limit with KLibAllocShareMem Tag: 91627
Bad (slow) performance on SOAP/TCPIP call
Hi,
I have implemented a COM (EXE) server on Windows CE5.0 side.
I have created the WSDL and WSML files so that I can access it through SOAP.
CE = web serverice side
I have created a C# client on the desktop (XP SP2) side. XP = client side
So far everything works fine. No problems.
However each SOAP call that I do takes between 300..500msec for a very
simple call.
I basically call a function that passes a long as parameter and returns a
long.
Debugging with Ethereal learned me that a lot of time is wasted on the ACK
of a TCP message.
Each TCP message needs to be ACK'd at some time. By default Windows CE AND
Windows XP don't ACK immediately,
instead they wait a while (± 100msec). This is what is called TCP Delayed
Acknowledge.
It is used to reduce TCP traffic (for slower machines) when a lot of TCP
communication takes place.
It gives little performance degradation when your TCP messages are long,
but it degrades performance dramatically if you have a lot of short TCP
messages
Therefore you can disable this mechanism on the XP side by setting the
following registry key
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{Adapter}\TcpAckFrequency] = 1
Now Windows XP shall always ACK an incoming TCP message immediately (I know
what I a am doing, despite the warnings in MSDN)
This eliminates long delays from the XP side. This way I can reduce the SOAP
call to 100..300msec.
The CE side has a similar registry key, but it can not be set lower than
2(00)msec.
HKEY_LOCAL_MACHINE\Comm\PCI\<Adapter Name>\Parms\Tcpip\TcpDelAckTicks = 2
[2..6]
Does anybody know how this can be disabled or at least improved on the CE
side?
What about TcpInitialRTT, TcpWindowSize, ... registry settings?
Note: I think there is a mistake in the documentation. The path should be
HKEY_LOCAL_MACHINE\Comm\PCI\...
instead of HKEY_LOCAL_MACHINE\Comm\...
If I could disable Delayed ACK on CE, the SOAP call should only take a few
(10)msecs.
I have a point to point ethernet connection between my CE device and XP
station. I will use SOAP to make a lot of short calls (>10 per second). In
fact trying to replace DCOM. The same call through DCOM only takes <1msec.
This Ethereal log shows the problem (XP side already patched)
1 0.000000 192.168.2.40 -> 192.168.2.48 : SOAP call start
POST /GateWS.wsdl HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client
Protocol 2.0.50727.42)
VsDebuggerCausalityData:
uIDPo4U3sU1zR4NBkL1wmIt6a6sAAAAAacrC7fa2F0eOgFppIbo6yAnlJKGeJlZIoKd361WHvZMACAAA
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://tempuri.org/action/GateWS.DialGate"
Host: 192.168.2.48
Content-Length: 561
Expect: 100-continue
Connection: Keep-Alive
2 0.110646 192.168.2.48 -> 192.168.2.40 : http> 1267 ACK Seq=0 Ack=414
Win=5426 Len=0
3 0.110701 192.168.2.40 -> 192.168.2.48 : Continue
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://tempuri.org/wsdl/"
xmlns:types="http://tempuri.org/wsdl/encodedTypes"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<q1:DialGate xmlns:q1="http://tempuri.org/message/">
<Chevron xsi:type="xsd:int">16</Chevron>
</q1:DialGate>
</soap:Body>
</soap:Envelope>
4 0.113160 192.168.2.48 -> 192.168.2.40 : Immediate reply from host
HTTP/1.0 200 OK
Date: Thu, 26 Oct 2006 03:47:06 GMT
Connection: keep-alive
Server: Microsoft-WinCE/5.0
Content-Type: text/xml; charset="UTF-8"
Content-Length: 323
Expires: -1;
5 0.113183 192.168.2.40 -> 192.168.2.48 : 1267 > http ACK Seq=975 Ack=185
Win=64842 Len=0
6 0.113301 192.168.2.48 -> 192.168.2.40 : Reply from host to client
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAPSDK1:DialGateResponse xmlns:SOAPSDK1="http://tempuri.org/message/"/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
7 0.113316 192.168.2.40 -> 192.168.2.48 : 1267 > http ACK Seq=975 Ack=508
Win=64519 Len=0
Note the delay of 110msecs between 1 and 2. The rest of the flow is quite
fast. The SOAP call took 113msecs where it could be don in ±3msecs.
The problem is that each time a new SOAP call is made the reply port changes
(1267 -> 1268 -> ...)
and the whole story starts again, with each time the initial delay.
Please advice...
Werner Tag: Size limit with KLibAllocShareMem Tag: 91626
Incremental platform builds
In PB5.0 IDE we perform incremental builds of our workspace by
1. rightclicking the %_targetplatroot% folder (FileView-tab)
2. selecting the 'Build and Sysgen' option.
This works fine and fast almost everytime. However, when I switch from
one workspace to another and perform the same operation, PB starts
performing a clean build in the %_targetplatroot% folder! Can someone
explain me the logic of this and maybe tell me how to bypass this?
Thanks,
Wesley
Following is the PB output:
Sysgening platform C:\WINCE500\platform\MYPLATFORM
C:\WINCE500\PBWorkspaces\MPA1_5.0>if not "" == "" goto done
C:\WINCE500\PBWorkspaces\MPA1_5.0>set
___OAKROOT=C:\WINCE500\platform\MYPLATFORM\oak
C:\WINCE500\PBWorkspaces\MPA1_5.0>if not exist
C:\WINCE500\platform\MYPLATFORM\oak\oakver.bat goto endif_20
C:\WINCE500\PBWorkspaces\MPA1_5.0>if not exist
C:\WINCE500\platform\MYPLATFORM\dirs goto done
C:\WINCE500\PBWorkspaces\MPA1_5.0>if "platform" == "public" C:
C:\WINCE500\PBWorkspaces\MPA1_5.0>if "platform" == "private" C:
C:\WINCE500\PBWorkspaces\MPA1_5.0>if "platform" == "platform" C:
C:\WINCE500\PBWorkspaces\MPA1_5.0>cd C:\WINCE500\platform\MYPLATFORM
C:\WINCE500\PLATFORM\MYPLATFORM>set ___CLEANFLAG=
C:\WINCE500\PLATFORM\MYPLATFORM>if not "platform" == "platform" goto
endif_11
C:\WINCE500\PLATFORM\MYPLATFORM>if exist
C:\WINCE500\platform\MYPLATFORM\MPA1_5.0.bif goto endif_13
C:\WINCE500\PLATFORM\MYPLATFORM>del
C:\WINCE500\platform\MYPLATFORM\*.bif
C:\WINCE500\PLATFORM\MYPLATFORM>echo current
1>C:\WINCE500\platform\MYPLATFORM\MPA1_5.0.bif
C:\WINCE500\PLATFORM\MYPLATFORM>echo CEBUILD: Building platform clean
due to change of project
CEBUILD: Building platform clean due to change of project
C:\WINCE500\PLATFORM\MYPLATFORM>set ___CLEANFLAG=-c
C:\WINCE500\PLATFORM\MYPLATFORM>echo CEBUILD: Building -c
(C:\WINCE500\platform\MYPLATFORM)
CEBUILD: Building -c (C:\WINCE500\platform\MYPLATFORM)
C:\WINCE500\PLATFORM\MYPLATFORM>build -c
.... Tag: Size limit with KLibAllocShareMem Tag: 91621
I am trying to replace "ndisuio.dll" retail version with the debug version.
These are the steps I am doing:
1=2E Starting command window with Debug BaseOSEnv.bat.
2=2E In that window running sysgen -p common ndisuio.
3=2E Copy ndisuio.dll to flatreleasedir. The size of ndisuiio.dll is
68KB.
4=2E Running makeimg.
5=2E Looking at the image with ImgExp.exe shown that:
=B7 ndisuio.dll size is 20KB and not 60KB.
=B7 The data of the dll is older then debug dll.
Do you have a suggestion for me what to try next? Tag: Size limit with KLibAllocShareMem Tag: 91618
I am trying to replace "ndisuio.dll" retail version with the debug version.
These are the steps I am doing:
1=2E Starting command window with Debug BaseOSEnv.bat.
2=2E In that window running sysgen -p common ndisuio.
3=2E Copy ndisuio.dll to flatreleasedir. The size of ndisuiio.dll is
68KB.
4=2E Running makeimg.
5=2E Looking at the image with ImgExp.exe shown that:
=B7 ndisuio.dll size is 20KB and not 60KB.
=B7 The data of the dll is older then debug dll.
Do you have a suggestion for me what to try next? Tag: Size limit with KLibAllocShareMem Tag: 91617
boot.bib
In the boot.bib file why nk.exe is used as module name
MODULES
; Name Path Memory Type
; ----------- --------------------------------------------- -----------
nk.exe
$(_TARGETPLATROOT)\target\$(_TGTCPU)\$(WINCEDEBUG)\EBOOT.exe EBOOT Tag: Size limit with KLibAllocShareMem Tag: 91609
update OS on custom device
Hi All,
Are there any ideas as how I can run OS updates to a custom device after it
is released? For example, at what sequence would the updates have to be
written? I am thinking that it would have to be done straight after the
bootloader startup and before the kernel address is loaded/jumped to. Is
this correct? What would need to be done? I am unclear how updates are
performed across a custom device. Any ideas?
Thanks,
RH Tag: Size limit with KLibAllocShareMem Tag: 91607
about DHCP
Hello,
1. Enviroment: CEPC or Cirrus Logic EDB9315A with DHCP enable, LAN with a
DHCP server on it.
2. During eboot seesion, DHCP requesting is always OK!
3. During kernel starting, DHCP is ALWAYS fail!!!
4. When downloading debug-version(KITL enable) nk.bin into EDB9315A board,
kernel debugger can connect to the target although DHCP was fail. With
ipconfig on command line of the target, ip is 169.254.46.157, and my host ip
is 192.168.201.131. I am confused with it. Thanks for anybody for any
comments!
Thanks in advance
Chengshi
x10@emtronix.com.cn Tag: Size limit with KLibAllocShareMem Tag: 91604
Hi,
What is the size limit - if any - of the shared memory space allocated by
KLibAllocShareMem?