Re: CE5 hangs in KitlInit
- From: "Dean Ramsier" <ramsiernospam@xxxxxxxxxx>
- Date: Tue, 8 Aug 2006 09:02:01 -0400
The flag is passed from the IDE to the bootloader when using PB to download
the image. It is then the responsibility of the loader to pass that flag
along to the kernel through some kind of platform specific mechanims. The
boot args structure is one example of what that might look like. If you
don't download an image from PB, then you won't get that setting from PB.
There is no real difference between CE4.2 and CE5 loaders. The example
loaders from MS look different primarily because they've changed their
source code structure with the PQOAL. It's really nothing more than code
refactoring. You can use it or not, it's up to you. The basic tasks
required of the loader to communicate with PB have not changed.
The main problem you have is a disconnect between the platform specific
portions of your bootloader and OAL. All communication between the loader
and OAL is platform specific. How you do it is up to you, but you have to
ensure that both pieces are in sync. You can use the PQOAL or not in CE5.
If you do then you need to decide if you want to implement anything that
requires communication with the loader. If so, you need to implement the
corresponding code in the loader.
--
Dean Ramsier - eMVP
BSQUARE Corporation
"Ulrich Eckhardt" <eckhardt@xxxxxxxxxxxxxx> wrote in message
news:7j0mq3-7nt.ln1@xxxxxxxxxxxxxxxxxxxxxxxxx
Dean Ramsier wrote:
1) There is a flag in the PB Connectivity Options dialog, Core Service
Settings that can control whether Kitl connects in Active (wait for PB to
connect) or Passive (don't connect until a client requests it) mode. The
setting for this check box is passed to the bootloader as part of the
flags that come down at the end of a bootloader download.
Your bootloader can choose whether to honor this flag and pass it on to
the kernel for use in OEMInit.
Hmmm, I'm not sure I understand: do you mean that the flag is passed along
when writing the bootloader to flash or when I use PB with EBOOT to load a
kernel? I guess the latter is the case, because the former doesn't involve
PB at all.
FWIW, the bootloader I use is EBOOT from CE4.2(not CE5!) because I need to
still be able to boot CE4.2 images. I might upgrade at a later stage.
3) It's probably trying to connect, with nothing available to connect to.
If you have kitl enabled, make sure that PB and your device is configured
to handle the connection.
Okay, I found some code in OALKitlStart that tries to read an OAL_KITL_ARG
structure from the bootargs, but it always returns NULL because this
structure simply doesn't exist in the CE4.2 EBOOT arguments. It then used
the default flags that KITL is activated and DHCP used
(OAL_KITL_FLAGS_ENABLED and *_DHCP).
Now, I simply added OAL_KITL_FLAGS_PASSIVE to the flags, and now it boots.
However, now I have another problem: even when booting via PB, I don't get
the bootmessages - probably right so, because it says that the connection
is made on demand, i.e. when a debug break is triggered.
I now looked at the old bootloader's code, and I found in the BOOT_ARGS
structure the field ucEshellFlags which seems to have EDBG_FL_CLEANBOOT
when booting via CompactFlash.
It works now, though I'm not 100% sure I'm doing the right thing. Should
probably use the CE5 EBOOT...
thanks
Uli
.
- References:
- CE5 hangs in KitlInit
- From: Ulrich Eckhardt
- Re: CE5 hangs in KitlInit
- From: Dean Ramsier
- Re: CE5 hangs in KitlInit
- From: Ulrich Eckhardt
- CE5 hangs in KitlInit
- Prev by Date: Re: Easy driver development
- Next by Date: Re: USB Bluetooth adapter not working
- Previous by thread: Re: CE5 hangs in KitlInit
- Next by thread: Is there a bug when using HitachiSH4 and PCMCIA????
- Index(es):
Relevant Pages
|