[ECOS] RedBoot

Gary Thomas gthomas@redhat.com
Wed Dec 27 15:32:00 GMT 2000


As I expected, the problem is that RedBoot/eCos can't get at the NVRAM
information.  This is because the NVRAM is connected via the I2C interface
and that is broken on the MBX!  I've not been able to figure out how to
make it work reliably.

However, the attached patch should let you get by.  It adds some additional 
information kept by RedBoot.  Basically, run 'fconfig' and enter the ESA 
(MAC) address manually.  Then RedBoot and eCos programs will be able to set 
up the interface properly.

Let me know if this works/helps/...  If so, I'll apply it permanently.

On 27-Dec-2000 Anthony Massa wrote:
> Here is the dump after applying the patch you sent.
> 
> RedBoot(tm) debug environment - built 11:31:22, Dec 27 2000
> Platform: Motorola MBX (PowerPC 860)
> Copyright (C) 2000, Red Hat, Inc.
> 
> RAM: 0x00000000-0x00400000
> FLASH: 0xfe000000 - 0xfe080000, 8 blocks of 0x00010000 bytes each.
> VP: 83A4, EP: 84A4, Code: 8
> 000083A4: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 000083B4: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 000083C4: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 000083D4: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 000083E4: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 000083F4: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 00008404: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 00008414: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 00008424: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 00008434: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 00008444: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 00008454: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 00008464: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 00008474: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 00008484: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> 00008494: FFFF FFFF FFFF FFFF  FFFF FFFF FFFF FFFF   |................|
> IP: 192.168.0.5, Default server: 192.168.0.3
> RedBoot> Ethernet recv:
> 0x0000AA2C: FFFF FFFF FFFF 0060  975B 43B8 0064        |.......`.[C..d  |
> 0x0000AA3A: E0E0 03FF FF00 6000  0400 0000 00FF FFFF   |......`.........|
> 0x0000AA4A: FFFF FF04 5200 0000  0000 6097 5B43 B804   |....R.....`.[C..|
> 0x0000AA5A: 5200 0206 404D 4143  4849 4E45 3254 4F57   |R...@MACHINE2TOW|
> 0x0000AA6A: 4552 0000 0000 0000  0000 0000 0000 0000   |ER..............|
> 0x0000AA7A: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 0x0000AA8A: 0000 0000 0000 0000  0000 6097 5B43 B8E8   |..........`.[C..|
> 0x0000AA9A: 8500 0100 EDBD 813C
> 
> 
>>
>>
>> On 27-Dec-2000 Anthony Massa wrote:
>> > That's odd since I can see the correct MAC address from the
>> EPPCbug code.
>>                                                               ^^^^^^^^^^^^
>> But not from eCos/RedBoot, that's where the problem lies.
>>
>> >
>> > I did build this redboot image.  What do I need to do - any
>> help would be
>> > great...
>>
>> Try this patch and let me know what the output is.  This will print some
>> additional information at the point where the driver is trying to find the
>> address information.
>>
>> Index: hal/powerpc/mbx/current/src/hal_aux.c
>> ===================================================================
>> RCS file: /home/cvs/ecc/ecc/hal/powerpc/mbx/current/src/hal_aux.c,v
>> retrieving revision 1.11
>> diff -u -5 -p -r1.11 hal_aux.c
>> --- hal/powerpc/mbx/current/src/hal_aux.c       2000/06/15
>> 14:31:01     1.11
>> +++ hal/powerpc/mbx/current/src/hal_aux.c       2000/12/27 19:10:35
>> @@ -281,10 +281,12 @@ _mbx_fetch_VPD(int code, unsigned char *
>>      int i, len;
>>
>>      _mbx_init_i2c();  // Fetch the data if not already
>>      vp = &_MBX_eeprom_data[0];
>>      ep = &_MBX_eeprom_data[sizeof(_MBX_eeprom_data)];
>> +    diag_printf("VP: %x, EP: %x, Code: %x\n", vp, ep, code);
>> +    diag_dump_buf(vp, 256);
>>      while (vp < ep) {
>>          if (*vp == (unsigned char)code) {
>>              // Found the desired item
>>              len = (int)vp[1];
>>              if (len > size) len = size;
>>
>> >
>> >>
>> >> The problem seems to be that the driver in RedBoot (eCos)
>> can't get at the
>> >> ESA for your board.  It is supposed to do this by accessing
>> some NVRAM on
>> >> the board and then digging it out of a data structure kept by
>> EPPCbug.  If
>> >> eCos can't find the address, it falls back to a hard coded one which is
>> >>   0x08 0x00 0x3E 0x28 0x79 0xB8
>> >>
>> >> Did you build this RedBoot?  Can you?  If so, perhaps we can debug the
>> >> NVRAM code and figure out why it works for me but not for you.
>> >>
>> >> On 23-Dec-2000 Anthony Massa wrote:
>> >> > Gary - thanks for the offer, sorry I took this long to respond,
>> >> but this is
>> >> > the first chance at running something on my hardware
>> platform.  I have
>> >> > attached two different dumps.  The first one is with BOOTP
>> enabled.  The
>> >> > second is with a static IP address of 192.168.0.5.  I also did
>> >> a "ping" from
>> >> > my Windows NT workstation which received a reply from my MBX
>> >> board.  That is
>> >> > shown in the second dump as well.
>> >> >
>> >> > Any help you can give would be greatly appreciated.
>> >> >
>> >> > When I do a NIOT command under eppcbug I get the following
>> information
>> >> > Controller LUN: 20
>> >> > Device LUN: 00
>> >> > Address: FA200A00
>> >> > P-Address: 192.168.0.5
>> >> > H-Address: 08 00 3E 27 5A DC
>> >> >
>> >> > ============================
>> >> > START OF FIRST DUMP - WITH BOOTP ENABLED
>> >> >
>> >> > RedBoot(tm) debug environment - built 09:50:42, Dec 17 2000
>> >> > Platform: Motorola MBX (PowerPC 860)
>> >> > Copyright (C) 2000, Red Hat, Inc.
>> >> >
>> >> > RAM: 0x00000000-0x00400000
>> >> > FLASH: 0xfe000000 - 0xfe080000, 8 blocks of 0x00010000 bytes each.
>> >> > Ethernet send:
>> >> > 0x00004A44: FFFF FFFF FFFF 0800  3E28 79B8 0800
>> >> |........>(y...  |
>> >>                              ^^^^^^^^^^^^^^^
>> >> This is the ESA, but not the correct one for your board.  This
>> is why the
>> >> BOOTP setup does not work.
>> >>
>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: diffs
Type: text/x-diff
Size: 2552 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/ecos-discuss/attachments/20001227/18e9a17d/attachment.bin>


More information about the Ecos-discuss mailing list