IPL from App. flash

Hi all.
Is is possible to put IPL and boot in App.Flash (Elan sc400) together? I
tried to do this but IPL doesn´t find startup code.
Regards.

Hi all.
Is is possible to put IPL and boot in App.Flash (Elan sc400) together? I
tried to do this but IPL doesn´t find startup code.
Regards.

Yes, this is possible. Which version of the SC400 board are you using?
Rev. 2 had two ROM sockets, and one bank of Application flash. Each of the
three devices had jumpers to select between ROMCS0, ROMCS1, and ROMCS2.

On the rev. 3 board, there is one ROM socket, which is always ROMCS0,
and three banks of application flash. For each bank of app. flash,
a jumper routes ROMCSx to that bank, or to the ROM socket (i.e. on
bank 0, the jumper controls ROMCS0, on bank 1, the jumper controls
ROMCS1, and on bank 2, the jumper controls ROMCS2).

In any case, the most likely reason the IPL isn’t finding the boot image
is because it was originally designed to map the ROMCS1 device to address
0x1000000, and then scan for a boot image at that address.

If you’ve placed both the IPL and the boot image in app flash,
then you’ve likely jumpered that app flash to be ROMCS0. You need to
modify the arguments to the sc400_cs() call in main.c of the IPL, so that
it maps the flash on ROMCS0 (rather than ROMCS1) to 0x1000000.

\

Dave Green (dgreen@qnx.com)

QNX Software Systems Ltd.
http://www.qnx.com

Dave Green <dgreen@qnx.com> wrote:

Hi all.
Is is possible to put IPL and boot in App.Flash (Elan sc400) together? I
tried to do this but IPL doesn´t find startup code.
Regards.

Yes, this is possible. Which version of the SC400 board are you using?
Rev. 2 had two ROM sockets, and one bank of Application flash. Each of the
three devices had jumpers to select between ROMCS0, ROMCS1, and ROMCS2.

On the rev. 3 board, there is one ROM socket, which is always ROMCS0,
^^^^^^^^^^^^^^^^^^^^^^

disregard this…


and three banks of application flash. For each bank of app. flash,
a jumper routes ROMCSx to that bank, or to the ROM socket (i.e. on
bank 0, the jumper controls ROMCS0, on bank 1, the jumper controls
ROMCS1, and on bank 2, the jumper controls ROMCS2).

In any case, the most likely reason the IPL isn’t finding the boot image
is because it was originally designed to map the ROMCS1 device to address
0x1000000, and then scan for a boot image at that address.

If you’ve placed both the IPL and the boot image in app flash,
then you’ve likely jumpered that app flash to be ROMCS0. You need to
modify the arguments to the sc400_cs() call in main.c of the IPL, so that
it maps the flash on ROMCS0 (rather than ROMCS1) to 0x1000000.


Dave Green (> dgreen@qnx.com> )

QNX Software Systems Ltd.
http://www.qnx.com

Dave Green (dgreen@qnx.com)

QNX Software Systems Ltd.
http://www.qnx.com

Tks. I will try.
Regards,

Simone
“Dave Green” <dgreen@qnx.com> escreveu na mensagem
news:a5isd0$hfb$2@nntp.qnx.com

Dave Green <> dgreen@qnx.com> > wrote:
Hi all.
Is is possible to put IPL and boot in App.Flash (Elan sc400) together?
I
tried to do this but IPL doesn´t find startup code.
Regards.

Yes, this is possible. Which version of the SC400 board are you using?
Rev. 2 had two ROM sockets, and one bank of Application flash. Each of
the
three devices had jumpers to select between ROMCS0, ROMCS1, and ROMCS2.

On the rev. 3 board, there is one ROM socket, which is always ROMCS0,
^^^^^^^^^^^^^^^^^^^^^^
disregard this…


and three banks of application flash. For each bank of app. flash,
a jumper routes ROMCSx to that bank, or to the ROM socket (i.e. on
bank 0, the jumper controls ROMCS0, on bank 1, the jumper controls
ROMCS1, and on bank 2, the jumper controls ROMCS2).

In any case, the most likely reason the IPL isn’t finding the boot image
is because it was originally designed to map the ROMCS1 device to
address
0x1000000, and then scan for a boot image at that address.

If you’ve placed both the IPL and the boot image in app flash,
then you’ve likely jumpered that app flash to be ROMCS0. You need to
modify the arguments to the sc400_cs() call in main.c of the IPL, so
that
it maps the flash on ROMCS0 (rather than ROMCS1) to 0x1000000.

\

Dave Green (> dgreen@qnx.com> )

QNX Software Systems Ltd.
http://www.qnx.com



\


Dave Green (> dgreen@qnx.com> )

QNX Software Systems Ltd.
http://www.qnx.com

One more question: Why, using BIOS, an int 16h at cstart_int19.s or a loop
in the fist block chage the contents of the end of interrupt table ? I
suppose that an int16 may use too many entries in the stack that grows
against th interrupt table but what about a small loop routine?
Is there any suggestion about documentation to understand how is execution
in ROM?
Tks for your help.
“Dave Green” <dgreen@qnx.com> escreveu na mensagem
news:a5isd0$hfb$2@nntp.qnx.com

Dave Green <> dgreen@qnx.com> > wrote:
Hi all.
Is is possible to put IPL and boot in App.Flash (Elan sc400) together?
I
tried to do this but IPL doesn´t find startup code.
Regards.

Yes, this is possible. Which version of the SC400 board are you using?
Rev. 2 had two ROM sockets, and one bank of Application flash. Each of
the
three devices had jumpers to select between ROMCS0, ROMCS1, and ROMCS2.

On the rev. 3 board, there is one ROM socket, which is always ROMCS0,
^^^^^^^^^^^^^^^^^^^^^^
disregard this…


and three banks of application flash. For each bank of app. flash,
a jumper routes ROMCSx to that bank, or to the ROM socket (i.e. on
bank 0, the jumper controls ROMCS0, on bank 1, the jumper controls
ROMCS1, and on bank 2, the jumper controls ROMCS2).

In any case, the most likely reason the IPL isn’t finding the boot image
is because it was originally designed to map the ROMCS1 device to
address
0x1000000, and then scan for a boot image at that address.

If you’ve placed both the IPL and the boot image in app flash,
then you’ve likely jumpered that app flash to be ROMCS0. You need to
modify the arguments to the sc400_cs() call in main.c of the IPL, so
that
it maps the flash on ROMCS0 (rather than ROMCS1) to 0x1000000.

\

Dave Green (> dgreen@qnx.com> )

QNX Software Systems Ltd.
http://www.qnx.com



\


Dave Green (> dgreen@qnx.com> )

QNX Software Systems Ltd.
http://www.qnx.com

Ok. It almost works. Now I can find OS but it doesnt start . Is stops just
after sinit begins execution. I put an echo at the beginning of sysinit and,
as this mesage didn´t appear,I suppose that it is not able to find sysinit
(or the efs partition).

Tks agains,
Simone
“Dave Green” <dgreen@qnx.com> escreveu na mensagem
news:a5isd0$hfb$2@nntp.qnx.com

Dave Green <> dgreen@qnx.com> > wrote:
Hi all.
Is is possible to put IPL and boot in App.Flash (Elan sc400) together?
I
tried to do this but IPL doesn´t find startup code.
Regards.

Yes, this is possible. Which version of the SC400 board are you using?
Rev. 2 had two ROM sockets, and one bank of Application flash. Each of
the
three devices had jumpers to select between ROMCS0, ROMCS1, and ROMCS2.

On the rev. 3 board, there is one ROM socket, which is always ROMCS0,
^^^^^^^^^^^^^^^^^^^^^^
disregard this…


and three banks of application flash. For each bank of app. flash,
a jumper routes ROMCSx to that bank, or to the ROM socket (i.e. on
bank 0, the jumper controls ROMCS0, on bank 1, the jumper controls
ROMCS1, and on bank 2, the jumper controls ROMCS2).

In any case, the most likely reason the IPL isn’t finding the boot image
is because it was originally designed to map the ROMCS1 device to
address
0x1000000, and then scan for a boot image at that address.

If you’ve placed both the IPL and the boot image in app flash,
then you’ve likely jumpered that app flash to be ROMCS0. You need to
modify the arguments to the sc400_cs() call in main.c of the IPL, so
that
it maps the flash on ROMCS0 (rather than ROMCS1) to 0x1000000.

\

Dave Green (> dgreen@qnx.com> )

QNX Software Systems Ltd.
http://www.qnx.com



\


Dave Green (> dgreen@qnx.com> )

QNX Software Systems Ltd.
http://www.qnx.com