11 May 2004 03:04 PM |
|
Hi,
I built the webserver configuration as an image for flash successfully, downloaded and burned it. I then issued the appropriate exec command to start up the wince boot and it booted fine, I could point my browser to the IP I had statically assigned and saw the Logic image/page. However, when I tried to experiment with the "Connecting to Images Already Stored in Flash" portion of the app note, after making the necessary changes to PlatformBuilder , and resetting the target device, configuring the network interface via ifconfig, when I invoked bootme I got the following error:
error: sendto()
And PB, of course, remains waiting for the target to connect. This happens everytime I try the process since flashing the image.
Any ideas?
Thanks,
/michel
|
|
|
|
mikee@logicpd.comNew Member Posts:
12 May 2004 10:43 PM |
|
michel.
Have you installed Microsoft QFE 031017_KB830089? This sounds like the Platform Builder re-connect issue that is fixed by that QFE. Please see the topic entitled "Reconnect Issues Windows CE" in this discussion group. This link should get you directly there: http://www.logicpd.com/su.../viewtopic.php?t=118
Try that and then let me know what happens.
--mikee
|
|
|
|
13 May 2004 05:58 AM |
|
Hi,
I thought I installed the latest QFEs but I'll check to make sure.
Thanks,
/michel
|
|
|
|
14 May 2004 08:33 AM |
|
Hi,
I downloaded and applied all the latest QFEs but the problems still exists. I don't believe the QFE refered to in the previous post is the issue anyway - the IP of the target board doesn't change (don't know about the port). In any case, I see that the download starts (the progress bar shows up and starts to display bars) but then stops and I get the "error::sendto()" on the output of my Tera Term display from the target board.
Is there any more debug information I can some how "turn on" to see what else is going on?
Thanks,
/michel
|
|
|
|
mikee@logicpd.comNew Member Posts:
14 May 2004 10:45 AM |
|
michel,
Can you verify that you still have other types of network connectivity to the device? For instance, can you ping from the device to a host and from a host to a device? If you have a TFTP server, maybe you can download an image via TFTP or do an MD5SUM calculation over the network. Where I'm going with this, is that I want to make sure that we didn't somehow hurt LoLo's networking capability after you flashed the image.
To do an MD5SUM calculation over a TFTP server, do the following:
losh> md5sum /tftp/ip_address:file
For example, my machine is 192.168.1.34 and I have a file named FOO.BIN accessable to the TFTP server running on my machine. I can use the command:
losh> md5sum /tftp/192.168.1.34:FOO.BIN
to verify my network connectivity.
Also, can you just boot the image from flash? To do this, use the exec command with the address of the image followed by the boot string. An example would be something like:
exec 0x00101000 - dbg_serial:A400_UART:dbg_enet:91C111:dbg_enet_base:0x70000000:dbg_enet_irq:0x00000007:
Please let me know how this goes.
--mikee
|
|
|
|
14 May 2004 12:25 PM |
|
Hi,
After a reset of the board (that has the debug version of the webserver app in memory) at the losh prompt I can configure the network interface and do pings both way (board <-> development system).
I don't have an ftp server on my development system at the moment so can't experiment with that.
(Note: very long cut&paste output from debug terminal.)
Below is a cut&paste from the debug terminal:
1. First part is the boot up, netconfig, download, and burn.
2. after burn, i ping just to make sure network is still good.
3. then i tell wince to boot
Wince Boots just fine. So now we redo the process.
1. reboot the board
2. at losh prompt, do netconfig, do a ping to prove connectivity
3. tell wince to boot, it _does boot_ but fails to connect with PB (of course)
So all is well?
/michel
Device's name is LoCE_16287.
Sent BOOTME
Sent BOOTME
Sent BOOTME
Sent BOOTME
Sent BOOTME
Sent BOOTME
Sent BOOTME
Sent BOOTME
Got a response from a host ip: 10.0.0.1 port: 2730
Connecting to Platform Builder
F
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
....................................................................
image launch addr: 0x00101000
Verifying checksums: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Checksums good.
BOOTME: Got jump command
losh>
losh> burn
burning 7810428 bytes from c00c0000
flash_cfi_seek: pos: 00100000
flash_cfi_seek: pos: 00100000
burn good (7810428 bytes)
losh> ping 10.0.0.1
Pinging 10.0.0.1 1 times from 10.0.0.2
Ping Reply from 10.0.0.1
losh> ping 10.0.0.1 3
Pinging 10.0.0.1 3 times from 10.0.0.2
Ping Reply from 10.0.0.1
Ping Reply from 10.0.0.1
Ping Reply from 10.0.0.1
losh>
losh> exec 0x00101000 - dbg_serial:A400_UART:dbg_enet:91C111:dbg_enet_base:0x70000000:dbg_enet_irq:0x00000007:rtc:rtc_a400_int:share_eth:1
kernel cmdline: 'dbg_serial:A400_UART:dbg_enet:91C111:dbg_enet_base:0x70000000:dbg_enet_irq:0x00000007:rtc:rtc_a400_int:share_eth:1:kitl:true:ip_addr:
10.0.0.2' at c00c0100
disabling mmu.
LoCE start
rf: 0
Debug serial initialized. Using driver A400_UART
Windows CE Kernel for ARM (Thumb Enabled) Built on Nov 7 2003 at 18:57:31
ProcessorType=0922 Revision=0
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 801011b8
===================================================================
WinCE firmware init (LoCE).
Kernel Arguments: dbg_serial:A400_UART:dbg_enet:91C111:dbg_enet_base:0x70000000:dbg_enet_irq:0x00000007:rtc:rtc_a400_int:share_eth:1:kitl:true:ip_addr
:10.0.0.2.
image_size: 0x1E00000
ram_size: 0x1800000
link_for_flash: 1
relocate_from_flash: 0
rom_offset: 0x80000000
===================================================================
Cold-boot: erasing object store.
Initializing interrupts.
CPLD Revision 0x34.
Card Engine Rev-B.
Interrupt initialization complete.
Initializing system-tick.
System-tick initialized.
RTC initialized. Using driver rtc_a400_int
Multiple XIP regions not defined or fixup failed.
Initializing KITL.
Remote host present.
Debug enet initialized. Using driver 91C111
Debug enet base read as 0x70000000
Debug enet base mapped to virtual address 0xBFE00000.
Debug enet irq read as 0x00000007
Hooking platform interrupts.
CPLD Revision 0x34.
Card Engine Rev-B.
OEMKitlInit()
SmSC Ethernet controller detected: 0xBFE00000
MAC Address: 00:08:EE:00:3F:9F
91C111: Unable to AutoNegotiate
+pckt_list_init(): 0x82002000 : 0x00002800
Device Name: LoCE_16287, IP: 10.0.0.2, Port: 981.
KITL Buffers at 0x82005000 len 0x20000
KITL Interrupt using SysIntr: 16.
share_dbg_enet read as 0x00000001
Initializing VBridge.
VBridgeInit()...TX = [16384] bytes -- Rx = [16384] bytes
Tx buffer [0xA242F0C0] to [0xA24330C0].
Rx buffer [0xA242B0A0] to [0xA242F0A0].
VBridge:: NK add MAC: [0-8-EE-0-3F-9F]
VBridge initialized.
KITL Ethernet transport initialized.
Host connected.
Host IP: 10.0.0.1, port 2729
KeyIndex 0 = -1
KeyIndex 1 = -1
KeyIndex 2 = -1
KeyIndex 3 = -1
KeyIndex 4 = -1
KeyIndex 5 = -4194305
KeyIndex 6 = -4194305
KeyIndex 7 = -1
+KITLRegisterDfltClient, service:0
+KITLRegisterDfltClient, service:1
KITLGlobalState == 0x61
KITL initialized.
Firmware initialization complete.
driver globals at 0x82000000.
Waiting for service 'DBGMSG' to connect..., fUseSysCalls = 0
ProcessAdminMsg: Receive Config message for service DBGMSG
ProcessAdminMsg: Receive Config message for service PPSH
ProcessAdminMsg: Receive Config message for service DBGMSG
ProcessAdminMsg: Receive Config message for service DBGMSG
ProcessAdminMsg: Receive Config message for service PPSH
ARMInit done.
+KITLRegisterDfltClient, service:2
ProcessAdminMsg: Receive Config message for service KDBG
ProcessAdminMsg: Receive Config message for service KDBG
ProcessAdminMsg: Receive Config message for service KDBG
KITL: Leaving polling mode...
KITL Checking client registrations
+RegisterClientPart2: Id 0x00000000
KITL Timer thread started, (hTh: 0x03BFFF86, pTh: 0x83BFCAF8)
-RegisterClientPart2
+RegisterClientPart2: Id 0x00000001
-RegisterClientPart2
KITL Creating IST
KITL Interrupt thread started (hTh: 0x63BEF9F2, pTh: 0x83BEF7B4), using SYSINTR 16
Enabling adapter ints...
Enabling debug ethernet interrupts.
Enabling SmSC 91C111 receive interrupt.
VBridge:: VB_INITIALIZED returns [1]
VBriVBridgeInit()...TX = [16384] bytes -- Rx = [16384] bytes
Tx buffer [0xA242F0C0] to [0xA24330C0].
Rx buffer [0xA242B0A0] to [0xA242F0A0].
dgeInit()...TX = [16384] bytes -- Rx = [16384] bytes
Tx buffer [0xA242F0C0] to [0xA24330C0].
Rx buffer [0xA242B0A0] to [0xA242F0A0].
VMINI enabled its interrupt.
VBridge:: Current VMini packet filter = [0xB]
0x83b59400: IPTimer: setting IPTimer of NTE B6430 to 0
++++ what happens on 2nd attempt to connect from PB ++++++++++
osh> ifconfig sm0 10.0.0.2 255.255.255.0 10.0.0.1 ; ifconfig sm0 up;
losh> ping 10.0.0.1
Pinging 10.0.0.1 1 times from 10.0.0.2
Ping Reply from 10.0.0.1
losh> ping 10.0.0.1 2
Pinging 10.0.0.1 2 times from 10.0.0.2
Ping Reply from 10.0.0.1
Ping Reply from 10.0.0.1
losh> exec 0x00101000 - dbg_serial:A400_UART:dbg_enet:91C111:dbg_enet_base:0x70000000:dbg_enet_irq:0x00000007:rtc:rtc_a400_int:share_eth:1
kernel cmdline: 'dbg_serial:A400_UART:dbg_enet:91C111:dbg_enet_base:0x70000000:dbg_enet_irq:0x00000007:rtc:rtc_a400_int:share_eth:1' at c00c0100
disabling mmu.
LoCE start
rf: 0
Debug serial initialized. Using driver A400_UART
Windows CE Kernel for ARM (Thumb Enabled) Built on Nov 7 2003 at 18:57:31
ProcessorType=0922 Revision=0
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 801011b8
===================================================================
WinCE firmware init (LoCE).
Kernel Arguments: dbg_serial:A400_UART:dbg_enet:91C111:dbg_enet_base:0x70000000:dbg_enet_irq:0x00000007:rtc:rtc_a400_int:share_eth:1.
image_size: 0x1E00000
ram_size: 0x1800000
link_for_flash: 1
relocate_from_flash: 0
rom_offset: 0x80000000
===================================================================
Cold-boot: erasing object store.
Initializing interrupts.
CPLD Revision 0x34.
Card Engine Rev-B.
Interrupt initialization complete.
Initializing system-tick.
System-tick initialized.
RTC initialized. Using driver rtc_a400_int
Multiple XIP regions not defined or fixup failed.
Initializing KITL.
Remote host not present. Debug support not available.
Firmware initialization complete.
driver globals at 0x82000000.
Booting Windows CE version 4.20 for (ARM)
&pTOC = 8010165c, pTOC = 8031f148, pTOC->ulRamFree = 8243a000, MemForPT = 00000000
Old or invalid version stamp in kernel structures - starting clean!
Configuring: Primary pages: 6083, Secondary pages: 0, Filesystem pages = 3041
Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 8243b000, extension: 00002000, length: 017c3000
Sp=ffffc7cc
ARMInit done.
Windows CE KernelInit
Updated eptr->e32_vsize to = 000a2000
Scheduling the first thread.
0x83bff024: KernelInit2: pCurThread=83bff024 hCurThread=03bff262 hCurProc=03bff002, KernelInit = 80135d0c
0x83bff024: Detecting VFP...0x83bff024: VFP Not Found!
0x83bff024: Updated eptr->e32_vsize to = 00016000
0x83bff024: Debugger 'kd.dll' loaded
0x83bff024: Entering ConnectDebugger
0x83bff024: ERROR: d:\mckendric\private\winceos\coreos\nk\kernel\kwin32.c line 649: 0x83bff024: ConnectDebugger failed
0x83bff024: first = 01fa0000, last = 02000000, SharedDllBase = 03870000
0x83bee89c: FileSystem Starting - starting with clean file system
0x83bee89c: Initobj : Error, continuing (1)...
0x83bee89c: Initobj : Error, continuing (1)...
0x83bee89c: FSREG: Logging in default user.
0x83bee89c: SetCurrentUser: Logging out (nobody), logging in default
0x83bee89c: FS: Using default path "\profiles\"
0x83bee89c: SetCurrentUser: User hives not supported -- using same registry for all users
0x83bee89c: FS: Using default path "Windows\"
0x83bee89c: FS: Using default path "Windows\"
0x83bee89c: Filesystem initialized!
+++++++ PB connect to flashed image ++++++++++++++++++++
losh> ifconfig sm0 10.0.0.2 255.255.255.0 10.0.0.1; ifconfig sm0 up; bootme &
losh>
Device's name is LoCE_16287.
Sent BOOTME
Sent BOOTME
Sent BOOTME
BOOTME error::sendto()
losh> ping 10.0.0.1
Pinging 10.0.0.1 1 times from 10.0.0.2
Ping Reply from 10.0.0.1
losh>
|
|
|
|
mikee@logicpd.comNew Member Posts:
14 May 2004 12:50 PM |
|
Michel,
That's pretty bizarre. Everything looks just fine according to your output. Do you disconnect Platform Builder before you try and connect again? And also, have you made the changes inside Platform Builder to tell it to skip the download and just jump to the image?
I'm going to bring this thread to the attention of one of our application engineers and see if they can help out a bit.
Thanks for your patience,
--mikee
|
|
|
|
14 May 2004 01:17 PM |
|
Hi Mike,
Yes, am i disconnecting religiously!
Thanks for any help you can bring to bear on this, I'm basically stuck.
/mihcle
|
|
|
|
AnonymousPosts:
14 May 2004 01:27 PM |
|
Currently you're not sending "kitl:true" or "ip_addr" in the boot string and so will never connect.
#define HAL_STR_KITL "kitl"
#define HAL_STR_KITL_IP_ADDR "ip_addr"
Lolo needs that when booting cold. Your second boot debug messages immediately tell you "Remote host not present. Debug support not available." because it is bailing due to lack of kitl:true and an ip address.
Hope this helps,
Aaron Stewart
Technical Support Engineer
Logic Product Development
|
|
|
|
14 May 2004 02:40 PM |
|
Hi Aaron,
Not sure what you are telling me to do here. Are you saying for me to add to the exec command the following:
"kitl:true ipaddr:10.0.0.1" (example using IP of my PC running PB)
Is there any documentation on these additional boot parameters? It doesn't mention them in your white papers on wince sample apps.
What is the meaing of the "#defines".
BTW, I was able to "fake the process out" by downloading the RAM version and then booting the previously programmed image in Flash - wince booted and connected to PB. But it obviously takes a bit longer.
Thanks,
/michel
|
|
|
|
AnonymousPosts:
14 May 2004 02:49 PM |
|
sorry for not making it more clear. Here's an example bootstring for you.
exec dbg_serial:A400_UART:dbg_enet:91C111:dbg_enet_base:0x70000000:dbg_enet_irq:0x00000007:rtc:rtc_a400_int:share_eth:1:kitl:true
Also if you reference the LoCE BSP User Guide available on the A400 product downloads page that has examples and descriptions of bootstring usage.
Aaron
|
|
|
|
17 May 2004 08:23 AM |
|
Hi Aaron,
Thanks for making it clearer. BTW, I find no mention of the "kitl" nor "ip_addr" boot line parameters in the LoCE BSP User Guide (Sept 2003), is there a newer version somewhere?
I'll try and see what happens!
/michel
ps
in another thread I asked what bootline parametes are appropriate for a Retail build of the web-server sample app? any help?
|
|
|
|
17 May 2004 01:23 PM |
|
Hi,
After thinking about your response, I'm confused. My problem (the sendto() error) happens _before_ I try to boot up into Wince. In the cut& paste post earlier, the section that you refer to where the Remote Host not available message is printed was done intentinally - I did not attempt to have PB connect to the target, all I did was boot the flashed image via an exec command. I was just trying to prove that the image that was in Flash was ok.
/michel
|
|
|
|