Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 17 May 2004 01:23 PM by  mpinton
Flashed image and bootme failure
 12 Replies
Sort:
You are not authorized to post a reply.
Author Messages
mpinton
New Member
New Member
Posts:


--
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.com
    New Member
    New 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
    mpinton
    New Member
    New Member
    Posts:


    --
    13 May 2004 05:58 AM
    Hi,
    I thought I installed the latest QFEs but I'll check to make sure.
    Thanks,
    /michel
    mpinton
    New Member
    New Member
    Posts:


    --
    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.com
    New Member
    New 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
    mpinton
    New Member
    New Member
    Posts:


    --
    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.com
    New Member
    New 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
    mpinton
    New Member
    New Member
    Posts:


    --
    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
    Anonymous
    Posts:


    --
    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
    mpinton
    New Member
    New Member
    Posts:


    --
    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
    Anonymous
    Posts:


    --
    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
    mpinton
    New Member
    New Member
    Posts:


    --
    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?
    mpinton
    New Member
    New Member
    Posts:


    --
    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
    You are not authorized to post a reply.