HostWeb Forums » Microsoft Personal Operating Systems » microsoft.public.windowsce.embedded » How can I implement BL_JUMP mode in eboot to jump to a existing OS

Topic: How can I implement BL_JUMP mode in eboot to jump to a existing OS

Reply | New Topic | This is SPAM | This is Offensive

Submitted: 5/3/2007 9:32:03 AM

By: Anonymous
Hello everyone, I want to have eboot and OS image coexist on the same Flash
chip and to implement BL_JUMP mode.

My board is Cirrus EDB9302A, and I am using Window CE 5.0.

My thoughts is like this, eboot will boot first and then reading a hardware
switch to determine downloading OS image from PB or jump to existing OS image
on the same Flash chip. And if PB give BL_JUMP command to eboot, eboot will
also jump to the existing Os image.

I placed eboot at the start of Flash chip whose physical addreass base is
0x60000000, and place Os image at 0x60080000. In the Bootloadermain() I
added the following code:

case BL_JUMP:
// (5) final call to launch the image. never returned

if((dwAction == BL_JUMP)&&(dwLaunchAddr == 0))
{
EdbgOutputDebugString("marviny -- BL_JUMP mode returned from
OEMPreDownload()!!!!\n");
dwLaunchAddr = 0x60080000;
EdbgOutputDebugString("So we JUMP to default address at 0x%X...\r\n",
dwLaunchAddr);
//
// Delay 1 Millisecond to flush the Uart fifo and stop the UART.
//
if(bEthLaunch)
{
DelayInuSec(1000);
// OEMUartStop();
}

((PFN_LAUNCH)(dwLaunchAddr))();

EdbgOutputDebugString("SpinForever...\r\n");
SPIN_FOREVER;
}

There is no Launch() function in my Bsp, but there is a typedef:

typedef VOID (*PFN_LAUNCH)(VOID);


But it doesn't work, after eboot jumped, there is no response from the
target. Anything missing I need to change? Thank you in advance.

Yesture

Replies below ↓

Replies

Reply | New Topic | This is SPAM | This is Offensive

Submitted: 5/7/2007 11:14:21 AM

By: Blake Chang

Re: How can I implement BL_JUMP mode in eboot to jump to a existing OS

Hi,

You should just read the hardware switch in OEMPreDownload to determine
BL_JUMP (to jump to existing OS image) or BL_DOWNLOAD (to download image).
By the way, I cannot see any code about how to jump or download image within
your BL_JUMP case.


--
I hope it is useful ^_^

Best Regards,

Blake Chang

"yesture2005" <yesture2005@discussions.microsoft.com> wrote in message
news:FD879806-5DA4-42F8-9AF0-73E1EF73EDC2@microsoft.com...
> Hello everyone, I want to have eboot and OS image coexist on the same
> Flash
> chip and to implement BL_JUMP mode.
>
> My board is Cirrus EDB9302A, and I am using Window CE 5.0.
>
> My thoughts is like this, eboot will boot first and then reading a
> hardware
> switch to determine downloading OS image from PB or jump to existing OS
> image
> on the same Flash chip. And if PB give BL_JUMP command to eboot, eboot
> will
> also jump to the existing Os image.
>
> I placed eboot at the start of Flash chip whose physical addreass base is
> 0x60000000, and place Os image at 0x60080000. In the Bootloadermain() I
> added the following code:
>
> case BL_JUMP:
> // (5) final call to launch the image. never returned
>
> if((dwAction == BL_JUMP)&&(dwLaunchAddr == 0))
> {
> EdbgOutputDebugString("marviny -- BL_JUMP mode returned from
> OEMPreDownload()!!!!\n");
> dwLaunchAddr = 0x60080000;
> EdbgOutputDebugString("So we JUMP to default address at 0x%X...\r\n",
> dwLaunchAddr);
> //
> // Delay 1 Millisecond to flush the Uart fifo and stop the UART.
> //
> if(bEthLaunch)
> {
> DelayInuSec(1000);
> // OEMUartStop();
> }
>
> ((PFN_LAUNCH)(dwLaunchAddr))();
>
> EdbgOutputDebugString("SpinForever...\r\n");
> SPIN_FOREVER;
> }
>
> There is no Launch() function in my Bsp, but there is a typedef:
>
> typedef VOID (*PFN_LAUNCH)(VOID);
>
>
> But it doesn't work, after eboot jumped, there is no response from the
> target. Anything missing I need to change? Thank you in advance.
>
> Yesture



Contents
Home
Forums
About Us
Contact Us
Web Hosting:
Hosting Providers
How to choose a name
What is a Hosting Provider
Hosting Types
Choosing the right plan
 
Search
 
Login to HostWeb.com
Email
Password
If you do not have an account with us yet, join now - it's FREE!