public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] problems creating GDB-stub (redboot) and getting eCos running on hardware
@ 2001-06-26 23:48 Arif.Abbas
  2001-06-27  4:51 ` Hugo Tyson
  2001-06-27  5:02 ` [ECOS] problems creating GDB-stub (redboot) and getting eCos Gary Thomas
  0 siblings, 2 replies; 3+ messages in thread
From: Arif.Abbas @ 2001-06-26 23:48 UTC (permalink / raw)
  To: ecos-discuss

Hi everyone!

I am using a product called the mediaEngine from Brightstar Engineering.
(using a StrongArm CPU).
Anywayz, since eCos doesn't specificaly support this board, I thought I
could pick the on
"that was most similiar" (Thanks Hugo Tyson and everyone else who helped med
out last time!)
In this case, it was the nanoEngine, from the same manufacturer.

Anyway, I looked in the hardware reference manuals and found that they both
used exactly the same 
processor, and that the adresses of FLASH and SDRAM where exactly the same.

So I thought that I could give it a shot and install eCos and Redboot as it
said in the installation guide for
the nanoEngine.
So first I create the binaries for redboot's nanoengine and load the into
the flash, following the steps on 
http://sources.redhat.com/ecos/docs-latest/redboot/nano.html . When we got to
the part where you
are supposed to reset enigne, we got an error.
If we don't change the speed of the COM1 (let it stay at 9600) we get a
distorted prompt, and the prompt freezes: you can't type anything.
If we do change the COM1 speed to 38400 Baud, we instead encounter a
different kind of error:
+FLASH: 0x50000000 - 0x50400000, 64 blocks of 0x00010000 bytes each.
FLASH configuration checksum error or invalid key


So my questions are:

1) Has anyone encountered similiar problems?

2) Does eCos only care about the CPU-commands, or does it have to know where
ALL hardware is?
   What I mean is that as I mentioned before, the CPU is the same, the flash
and SDRAM have the same adresses, but then
   there are some major differences when it comes to
Ethernetdrives,serialports etc etc etc

3) What kind of changes is one supposed to do in order to taylor eCos to
EXACTLY match my platform?
    I mean the profile I have now is for nanoEngine, which is supposed to be
the closest relative available
    to the maediaEngine. Do I perform the changes in the Config Tool? Or
what do I do??
     
4) How do I taylor Redboot binaries for specifically my platform??

.

Thanks in advance.

Best regards 
Arif

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ECOS] problems creating GDB-stub (redboot) and getting eCos running on   hardware
  2001-06-26 23:48 [ECOS] problems creating GDB-stub (redboot) and getting eCos running on hardware Arif.Abbas
@ 2001-06-27  4:51 ` Hugo Tyson
  2001-06-27  5:02 ` [ECOS] problems creating GDB-stub (redboot) and getting eCos Gary Thomas
  1 sibling, 0 replies; 3+ messages in thread
From: Hugo Tyson @ 2001-06-27  4:51 UTC (permalink / raw)
  To: ecos-discuss

Arif.Abbas@combitechsystems.com writes:
> I am using a product called the mediaEngine from Brightstar Engineering.
> (using a StrongArm CPU).  Anywayz, since eCos doesn't specificaly support
> this board, I thought I could pick the on "that was most similiar"
> (Thanks Hugo Tyson and everyone else who helped med out last time!)  In
> this case, it was the nanoEngine, from the same manufacturer.

> If we do change the COM1 speed to 38400 Baud, we instead encounter a
> different kind of error:

> +FLASH: 0x50000000 - 0x50400000, 64 blocks of 0x00010000 bytes each.
> FLASH configuration checksum error or invalid key

This just means RedBoot has not yet initialized the flash to contain valid
data.  The "fconfig" and "fis init" commands are the answer.

Assuming that it then hangs, it is doing one of two things: 1) trying to
bring up the network using BOOTP - so wait and eventually you'll get a
"RedBoot>" prompt when it times out, or 2) hung up trying to initialize
some hardware that's different or absent on the mediaEngine.  Probably the
ethernet.

> So my questions are:
> 
> 1) Has anyone encountered similiar problems?

Yes, every time you put RedBoot into a new board.

> 2) Does eCos only care about the CPU-commands, or does it have to know where
> ALL hardware is?
>    What I mean is that as I mentioned before, the CPU is the same, the flash
> and SDRAM have the same adresses, but then
>    there are some major differences when it comes to
> Ethernetdrives,serialports etc etc etc

Only if your configuration is set to use that extra hardware.

Serial is built-in to the SA1110 device - and it obviously works OK.

RedBoot for nanoEngine will try to use the BSE nanoBridge chip to talk to
one or two i82559 ethernet devices; if these are absent in your board, it
may crash or hang.  I guess you need to change RedBoot to not try to use
those.  Build RedBoot with no ethernet support ("ecosconfig remove
CYGPKG_IO_ETH_DRIVERS" in your build place, then rebuild from scratch) and
it should come up OK from what you say about the rest of the board being
the same as nanoEngine.
 
> 3) What kind of changes is one supposed to do in order to taylor eCos to
> EXACTLY match my platform?
>     I mean the profile I have now is for nanoEngine, which is supposed to be
> the closest relative available
>     to the maediaEngine. Do I perform the changes in the Config Tool? Or
> what do I do??
> 4) How do I taylor Redboot binaries for specifically my platform??

Change the configuration to match your board, in the CT or a the command
line as above.  Then if you want to use the ethernet device that you have
instead of the i82559, you must find a driver and write code to use it, or
write a whole new driver.

	- Huge

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [ECOS] problems creating GDB-stub (redboot) and getting eCos
  2001-06-26 23:48 [ECOS] problems creating GDB-stub (redboot) and getting eCos running on hardware Arif.Abbas
  2001-06-27  4:51 ` Hugo Tyson
@ 2001-06-27  5:02 ` Gary Thomas
  1 sibling, 0 replies; 3+ messages in thread
From: Gary Thomas @ 2001-06-27  5:02 UTC (permalink / raw)
  To: Arif.Abbas; +Cc: ecos-discuss

On 27-Jun-2001 Arif.Abbas@combitechsystems.com wrote:
> Hi everyone!
> 
> I am using a product called the mediaEngine from Brightstar Engineering.
> (using a StrongArm CPU).
> Anywayz, since eCos doesn't specificaly support this board, I thought I
> could pick the on
> "that was most similiar" (Thanks Hugo Tyson and everyone else who helped med
> out last time!)
> In this case, it was the nanoEngine, from the same manufacturer.
> 
> Anyway, I looked in the hardware reference manuals and found that they both
> used exactly the same 
> processor, and that the adresses of FLASH and SDRAM where exactly the same.
> 
> So I thought that I could give it a shot and install eCos and Redboot as it
> said in the installation guide for
> the nanoEngine.
> So first I create the binaries for redboot's nanoengine and load the into
> the flash, following the steps on 
> http://sources.redhat.com/ecos/docs-latest/redboot/nano.html . When we got to
> the part where you
> are supposed to reset enigne, we got an error.
> If we don't change the speed of the COM1 (let it stay at 9600) we get a
> distorted prompt, and the prompt freezes: you can't type anything.
> If we do change the COM1 speed to 38400 Baud, we instead encounter a
> different kind of error:
> +FLASH: 0x50000000 - 0x50400000, 64 blocks of 0x00010000 bytes each.
> FLASH configuration checksum error or invalid key
> 

This is not really an error.  It simply means that the 'fconfig' database
which is stored in Flash is not up-to-date.  Once you get RedBoot up and
running, you can run the 'fconfig' command to fix this.

> 
> So my questions are:
> 
> 1) Has anyone encountered similiar problems?
> 
> 2) Does eCos only care about the CPU-commands, or does it have to know where
> ALL hardware is?
>    What I mean is that as I mentioned before, the CPU is the same, the flash
> and SDRAM have the same adresses, but then
>    there are some major differences when it comes to
> Ethernetdrives,serialports etc etc etc

This is quite possibly your problem.  Since this is a new, unproven, port,
a lot can go wrong at this point.  The first thing that RedBoot does is 
initialize the Flash - you've seen that work already.  The next thing is
try and start the network.

I'd suggest that you build a version of RedBoot which does not have networking
or Flash enabled to start.  This is the simplest configuration.  You can program 
it into ROM and then use that version to download new test versions which add 
the additional capabilities.  This way you can see what breaks when and then
have an idea about how to fix it - rather than starting with the whole thing
and trying to find the problem.

Start like this:
  % ecosconfig new nano redboot
  % ecosconfig import startup.ROM
  % ecosconfig tree
  % make

--------  startup.ROM ----------
cdl_component CYG_HAL_STARTUP {
    user_value ROM
};
--------------------------------

Program this into the Flash - you should get a working RedBoot which will
let you type commands, etc.  Once this is proven, try (in a new configuration
directory):

  % ecosconfig new nano redboot
  % ecosconfig add flash
  % ecosconfig tree
  % make

This will create a RAM based version of RedBoot which you can download and
execute on the board, using the ROM based one already in place.  Using a RAM
version is often preferable since it cuts out the ROM/Flash programming
step and will lead to faster turn around as you find problems, bugs, etc.

Once you are happy with the operation of the Flash commands, try adding
the network.  In the same configuration:
  
  % ecosconfig add eth_drivers
  % ecosconfig tree
  % make

And try it again.  Most likely, this is where you'll run into problems
(based on what you've told us).  At this time, you have to debug the
network initialization, etc.  Once that is ready, you can then build
the final ROM based version and program it.

> 
> 3) What kind of changes is one supposed to do in order to taylor eCos to
> EXACTLY match my platform?
>     I mean the profile I have now is for nanoEngine, which is supposed to be
> the closest relative available
>     to the maediaEngine. Do I perform the changes in the Config Tool? Or
> what do I do??
>      
> 4) How do I taylor Redboot binaries for specifically my platform??

I've outlined the basic steps for integrating RedBoot on a new platform.
However, these are only outlines.  The actual process may be considerably
more difficult (or incredibly trivial!).

If you get stuck, you can ask more specific questions.  Alternatively, 
we (Red Hat) are available to provide porting services - that's part
of how we make a living :-)

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-06-27  5:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-26 23:48 [ECOS] problems creating GDB-stub (redboot) and getting eCos running on hardware Arif.Abbas
2001-06-27  4:51 ` Hugo Tyson
2001-06-27  5:02 ` [ECOS] problems creating GDB-stub (redboot) and getting eCos Gary Thomas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).