Hi Newsgroup,

I am developing a CE 4.2 image for a MIPS based platform, and have a few
problems with getting the image to start up. I think I need to adjust some
of the settings in the CONFIG.BIB file, but haven't found the documentation
to be very clear at this stage. Perhaps I can't do what I want to do.

Our platform is based on the VR4121 processor. This starts executing at
9FC00000. We have 32MB of flash available, from 9E000000 to 9FFFFFFF. The
most obvious configuration needed in the CONFIG.BIB file would be:

MEMORY
NK 9E000000 02000000 RAMIMAGE ;; 32MB length

;; Reset vector is at 9FC00000
RESERVE 9FC00000 00002000

RAM 80006000 00FFA000 RAM ; default 16MB configuration

CONFIG
COMPRESSION=ON
PROFILE=OFF
KERNELFIXUPS=ON
RESETVECTOR=9FC00000


However, this doesn't work as expected--the WinCE image does not startup.
This is because the the VR4121 has a register that controls the size of
available ROM memory, and by default this register is set to indicate 16MB.
Not too difficult to solve, just execute some code that sets this register
appropriately. So, I add the required assembler code to the StartUp
function, and rebuild the kernel. But--and this is what I am looking for
some help with--how do I ensure that this StartUp function gets placed in
the "top" 16MB of flash when I build the ROM image?

If I use the CONFIG.BIB as above, ROMIMAGE.EXE will place StartUp somewhere
such as 9E002D42--which is in the "bottom" 16MB of flash, which the VR4121
can't initially "see." There is the correct instruction at the reset vector
which jumps down to the StartUp.

I thought that my solution would be to locate the StartUp function somewhere
in the top 16MB of flash, and then have that function jump to a known
location, say 9FC10000. Then, if I changed the RESETVECTOR parameter to be
9FC10000, I would get the WinCE supplied jump down to the correct location
for the OS image. Just can't figure out how to do that.

Any help or advice would be appreciated.

Jon Pawley

Building ROM Images - CE 4.2 on MIPS by Bobby

Bobby
Tue Aug 31 05:54:49 CDT 2004

Most probably, you are trying to create a ROM image i.e.
NK.nb0.

I cannot see those steps in CONFIG.BIB contents mentioned
by you. You need to specify ROMSTART, ROMSIZE etc to
create an OS image for Flash ROM.

Regards,
Bobby

>-----Original Message-----
>Hi Newsgroup,
>
>I am developing a CE 4.2 image for a MIPS based
platform, and have a few
>problems with getting the image to start up. I think I
need to adjust some
>of the settings in the CONFIG.BIB file, but haven't
found the documentation
>to be very clear at this stage. Perhaps I can't do what
I want to do.
>
>Our platform is based on the VR4121 processor. This
starts executing at
>9FC00000. We have 32MB of flash available, from 9E000000
to 9FFFFFFF. The
>most obvious configuration needed in the CONFIG.BIB file
would be:
>
>MEMORY
> NK 9E000000 02000000 RAMIMAGE ;; 32MB length
>
>;; Reset vector is at 9FC00000
> RESERVE 9FC00000 00002000
>
> RAM 80006000 00FFA000 RAM ; default 16MB
configuration
>
>CONFIG
> COMPRESSION=ON
> PROFILE=OFF
> KERNELFIXUPS=ON
> RESETVECTOR=9FC00000
>
>
>However, this doesn't work as expected--the WinCE image
does not startup.
>This is because the the VR4121 has a register that
controls the size of
>available ROM memory, and by default this register is
set to indicate 16MB.
>Not too difficult to solve, just execute some code that
sets this register
>appropriately. So, I add the required assembler code to
the StartUp
>function, and rebuild the kernel. But--and this is what
I am looking for
>some help with--how do I ensure that this StartUp
function gets placed in
>the "top" 16MB of flash when I build the ROM image?
>
>If I use the CONFIG.BIB as above, ROMIMAGE.EXE will
place StartUp somewhere
>such as 9E002D42--which is in the "bottom" 16MB of
flash, which the VR4121
>can't initially "see." There is the correct instruction
at the reset vector
>which jumps down to the StartUp.
>
>I thought that my solution would be to locate the
StartUp function somewhere
>in the top 16MB of flash, and then have that function
jump to a known
>location, say 9FC10000. Then, if I changed the
RESETVECTOR parameter to be
>9FC10000, I would get the WinCE supplied jump down to
the correct location
>for the OS image. Just can't figure out how to do that.
>
>Any help or advice would be appreciated.
>
> Jon Pawley
>
>
>
>
>
>.
>

Re: Building ROM Images - CE 4.2 on MIPS by Jon

Jon
Tue Aug 31 16:08:57 CDT 2004


Hi Bobby,

Many thanks for your reply.

I'm actually trying to create an NK.BIN images, not an NK.NB0. We have a
utility which receives the .BIN file over a serial or parallel port and
programs the records into flash.

With the CONFIG.BIB as given below, I get the NK.BIN file fine. However my
problem is that the code required to correctly set up the ROM size gets
located in an area of the memory map which is not initially accessible by
the NEC VR4121 processor. I was trying to find out whether it is possible to
specify in the CONFIG.BIB file (or maybe somewhere else) that a specific
function should be located at a specific address.

Cheers,

Jon



"Bobby" <contact@softwareschematics.com> wrote in message
news:351001c48f48$efd3a9e0$a601280a@phx.gbl...
> Most probably, you are trying to create a ROM image i.e.
> NK.nb0.
>
> I cannot see those steps in CONFIG.BIB contents mentioned
> by you. You need to specify ROMSTART, ROMSIZE etc to
> create an OS image for Flash ROM.
>
> Regards,
> Bobby
>
> >-----Original Message-----
> >Hi Newsgroup,
> >
> >I am developing a CE 4.2 image for a MIPS based
> platform, and have a few
> >problems with getting the image to start up. I think I
> need to adjust some
> >of the settings in the CONFIG.BIB file, but haven't
> found the documentation
> >to be very clear at this stage. Perhaps I can't do what
> I want to do.
> >
> >Our platform is based on the VR4121 processor. This
> starts executing at
> >9FC00000. We have 32MB of flash available, from 9E000000
> to 9FFFFFFF. The
> >most obvious configuration needed in the CONFIG.BIB file
> would be:
> >
> >MEMORY
> > NK 9E000000 02000000 RAMIMAGE ;; 32MB length
> >
> >;; Reset vector is at 9FC00000
> > RESERVE 9FC00000 00002000
> >
> > RAM 80006000 00FFA000 RAM ; default 16MB
> configuration
> >
> >CONFIG
> > COMPRESSION=ON
> > PROFILE=OFF
> > KERNELFIXUPS=ON
> > RESETVECTOR=9FC00000
> >
> >
> >However, this doesn't work as expected--the WinCE image
> does not startup.
> >This is because the the VR4121 has a register that
> controls the size of
> >available ROM memory, and by default this register is
> set to indicate 16MB.
> >Not too difficult to solve, just execute some code that
> sets this register
> >appropriately. So, I add the required assembler code to
> the StartUp
> >function, and rebuild the kernel. But--and this is what
> I am looking for
> >some help with--how do I ensure that this StartUp
> function gets placed in
> >the "top" 16MB of flash when I build the ROM image?
> >
> >If I use the CONFIG.BIB as above, ROMIMAGE.EXE will
> place StartUp somewhere
> >such as 9E002D42--which is in the "bottom" 16MB of
> flash, which the VR4121
> >can't initially "see." There is the correct instruction
> at the reset vector
> >which jumps down to the StartUp.
> >
> >I thought that my solution would be to locate the
> StartUp function somewhere
> >in the top 16MB of flash, and then have that function
> jump to a known
> >location, say 9FC10000. Then, if I changed the
> RESETVECTOR parameter to be
> >9FC10000, I would get the WinCE supplied jump down to
> the correct location
> >for the OS image. Just can't figure out how to do that.
> >
> >Any help or advice would be appreciated.
> >
> > Jon Pawley
> >
> >
> >
> >
> >
> >.
> >



Re: Building ROM Images - CE 4.2 on MIPS by Bruce

Bruce
Tue Aug 31 16:35:28 CDT 2004

Disclaimer: I don't know anything about MIPS

Why don't you set it in the bootloader?

--
Bruce Eitman (eMVP)
Senior Engineer
beitman AT applieddata DOT net

Applied Data Systems
www.applieddata.net
An ISO 9001:2000 Registered Company
Microsoft WEP Gold-level Member

Do have an opinion on the effectiveness of Microsoft Windows Mobile and
Embedded newsgroups? Let us know!
https://www.windowsembeddedeval.com/community/newsgroups



Re: Building ROM Images - CE 4.2 on MIPS by Jon

Jon
Tue Aug 31 19:22:58 CDT 2004



Hi Bruce,

Thanks for your reply too.

Very good question!

The Big Idea is that we have a bootloader in production devices which could
be used in the future for in-the-field upgrades of the ROM. If a special key
combination is *not* pressed when the device starts up, the existing OS will
be started. If a special key combination is pressed, the ROM can be
reprogrammed via CF/ethernet/...

I was hoping to be be able to create one .BIN file that contained the OS and
the bootloader, so that when the guys in our factory build these machines
they only need to program one image, not two. At the moment I can only
achieve this with two BIN files.

If only I could tell the MAKEIMG/ROMIMAGE tools that I want the Bootloader
to go *there*, and everything else to go *there*. ;)

Thanks,

Jon





"Bruce Eitman (eMVP)" <beitmannospam@NOSPAM_applieddata.NOSPAM_net> wrote in
message news:uEknxJ6jEHA.1356@TK2MSFTNGP09.phx.gbl...
> Disclaimer: I don't know anything about MIPS
>
> Why don't you set it in the bootloader?
>
> --
> Bruce Eitman (eMVP)
> Senior Engineer
> beitman AT applieddata DOT net
>
> Applied Data Systems
> www.applieddata.net
> An ISO 9001:2000 Registered Company
> Microsoft WEP Gold-level Member
>
> Do have an opinion on the effectiveness of Microsoft Windows Mobile and
> Embedded newsgroups? Let us know!
> https://www.windowsembeddedeval.com/community/newsgroups
>
>