public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] How can I use the flashs of sst29vfxxx and intel_strata at the same timeat redboot ???
@ 2005-09-12  7:51 Steven_cheng
  2005-09-13  8:21 ` [ECOS] " Andrew Lunn
  0 siblings, 1 reply; 6+ messages in thread
From: Steven_cheng @ 2005-09-12  7:51 UTC (permalink / raw)
  To: Andrew Lunn, ecos-discuss

Hi All,

        I have two kinds of flash type, intel strata and sst 39vfxxx in
my platform, and I use the flashv2 branch of ecos. Now I have
initiated them, but I find that the cyg_flash_get_info function
alway returns the first flash info, so I only can use one of them.

The flash info :
Flash type                    BaseAddress                       Size
----------------------------------------------------------------------------
-------
Intel Strata                   0x70000000                        0x1000000
(16MB)
SST 39VFXXX           0xfff00000                          0x80000 (512KB)

The redboot displays in power on :
///////////////////////////////////
Platform: pX (PowerPC 8245)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00000000-0x10000000, [0x0007ec40-0x0efdd000] available
FLASH: 0x70000000 - 0x70ffffff 128 x 0x20000 blocks
FLASH: 0xfff00000 - 0xfff7ffff 128 x 0x1000 blocks


RedBoot> fis list
... Read from 0x70fe0000-0x70ffefff to 0x0efe0000:
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0x70000000  0x70000000  0x00020000  0x00000000
RedBoot[RAM]      0x70020000  0x70020000  0x00040000  0x00100100
FIS directory     0x70FE0000  0x70FE0000  0x0001F000  0x00000000
RedBoot config    0x70FFF000  0x70FFF000  0x00001000  0x00000000



Question:
How can I use the flashs of sst29vfxxx and intel_strata at the same time
at redboot ???

Thank you in advance~~

Steven Cheng







-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

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

* [ECOS] Re: How can I use the flashs of sst29vfxxx and intel_strata at the same timeat redboot ???
  2005-09-12  7:51 [ECOS] How can I use the flashs of sst29vfxxx and intel_strata at the same timeat redboot ??? Steven_cheng
@ 2005-09-13  8:21 ` Andrew Lunn
  2005-09-14  5:07   ` Steven_cheng
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Lunn @ 2005-09-13  8:21 UTC (permalink / raw)
  To: Steven_cheng; +Cc: ecos-discuss

On Mon, Sep 12, 2005 at 10:17:30AM +0800, Steven_cheng wrote:
> Hi All,
> 
>         I have two kinds of flash type, intel strata and sst 39vfxxx in
> my platform, and I use the flashv2 branch of ecos. Now I have
> initiated them, but I find that the cyg_flash_get_info function
> alway returns the first flash info, so I only can use one of them.
> 
> The flash info :
> Flash type                    BaseAddress                       Size
> ----------------------------------------------------------------------------
> -------
> Intel Strata                   0x70000000                        0x1000000
> (16MB)
> SST 39VFXXX           0xfff00000                          0x80000 (512KB)
> 
> The redboot displays in power on :
> ///////////////////////////////////
> Platform: pX (PowerPC 8245)
> Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
> 
> RAM: 0x00000000-0x10000000, [0x0007ec40-0x0efdd000] available
> FLASH: 0x70000000 - 0x70ffffff 128 x 0x20000 blocks
> FLASH: 0xfff00000 - 0xfff7ffff 128 x 0x1000 blocks

Redboot is finding the two flashes, so the basic setup is probably correct.

> RedBoot> fis list
> ... Read from 0x70fe0000-0x70ffefff to 0x0efe0000:
> Name              FLASH addr  Mem addr    Length      Entry point
> RedBoot           0x70000000  0x70000000  0x00020000  0x00000000
> RedBoot[RAM]      0x70020000  0x70020000  0x00040000  0x00100100
> FIS directory     0x70FE0000  0x70FE0000  0x0001F000  0x00000000
> RedBoot config    0x70FFF000  0x70FFF000  0x00001000  0x00000000
> 
> 
> 
> Question:
> How can I use the flashs of sst29vfxxx and intel_strata at the same time
> at redboot ???

Are already are!

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

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

* Re: [ECOS] Re: How can I use the flashs of sst29vfxxx and intel_strata at the same timeat redboot ???
  2005-09-13  8:21 ` [ECOS] " Andrew Lunn
@ 2005-09-14  5:07   ` Steven_cheng
  2005-09-14  9:38     ` Andrew Lunn
  0 siblings, 1 reply; 6+ messages in thread
From: Steven_cheng @ 2005-09-14  5:07 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: ecos-discuss

Hi Andrew,

    It does not works in some commands.

As following:
RedBoot> fis list
... Read from 0x70fe0000-0x70fffbff to 0x0efe0000:
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0x70000000  0x70000000  0x00040000  0x00000000
FIS directory     0x70FE0000  0x70FE0000  0x0001FC00  0x00000000
RedBoot config    0x70FFFC00  0x70FFFC00  0x00000400  0x00000000

RedBoot> load -m xmodem -b 0x100000
CCCCAddress offset = 0x000c0000
Entry point: 0x00100100, address range: 0x00100000-0x00135cc8
xyzModem - CRC mode, 2553(SOH)/0(STX)/0(CAN) packets, 4 retries

RedBoot> fis create pX[RAM] -f 0xfff00000
... Read from 0x70fe0000-0x70fffbff to 0x0efe0000:
... Read from 0x70fe0000-0x70fffbff to 0x0efe0000:
... Read from 0x70fe0000-0x70fffbff to 0x0efe0000:
Invalid FLASH address - not free!

I find it is taken mistake in find_free() (codebase is flashv2 branch of
ecos);
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////
static int
find_free(struct free_chunk *chunks)
{
    cyg_flashaddr_t err_addr;
    cyg_flash_info_t info;
    struct fis_image_desc *img;
    int i=0, idx;
    int num_chunks = 0;
    int ret;

    do {
      ret = cyg_flash_get_info(i, &info);
      if (ret == CYG_FLASH_ERR_OK) {
        if (i == 0 ) {
          // Do not search the area reserved for pre-RedBoot systems:
          chunks[num_chunks].start = (info.start +
                                        CYGNUM_REDBOOT_FLASH_RESERVED_BASE +
                                        CYGBLD_REDBOOT_MIN_IMAGE_SIZE);
          chunks[num_chunks].end = info.end;
          num_chunks++;
        } else {   // Contiguous flash? If so collapse the chunks together.
          if (chunks[num_chunks-1].end == (info.start -1)) {
            chunks[num_chunks-1].end = info.end;
          } else {
            chunks[num_chunks].start = info.start;
            chunks[num_chunks].end = info.end;
            num_chunks++;
          }
        }
      }
      i++;
    } while (ret != CYG_FLASH_ERR_INVALID);

/////////// chunks[] value  [correct !!]//////////////////////////////////
chunks[0].start  = 0x70040000
chunks[0].end = 0x70ffffff
chunks[1].start  = 0xfff00000
chunks[1].end = 0xfff7fffff
///////////////////////////////////////////////////////////////////

    cyg_flash_read(fis_addr, fis_work_block, fisdir_size, &err_addr);
    img = (struct fis_image_desc *) fis_work_block;
    for (i = 0;  i < fisdir_size/sizeof(*img);  i++, img++) {
        if (img->name[0] != (unsigned char)0xFF) {
            // Figure out which chunk this is in and split it
            for (idx = 0;  idx < num_chunks;  idx++) {
                if ((img->flash_base >= chunks[idx].start) &&
                    (img->flash_base <= chunks[idx].end)) {
                    if (img->flash_base == chunks[idx].start) {
                        chunks[idx].start += img->size;
                        if (chunks[idx].start >= chunks[idx].end) {
                            // This free chunk has collapsed
                            while (idx < (num_chunks-1)) {
                                chunks[idx] = chunks[idx+1];
                                idx++;
                            }
                            num_chunks--;
                        }
                    } else if ((img->flash_base+img->size) ==
chunks[idx].end) {
                        chunks[idx].end = img->flash_base;
                    } else {
                        // Split chunk into two parts
                        chunks[idx+1].start = img->flash_base + img->size;
                        chunks[idx+1].end = chunks[idx].end;
                        if (++num_chunks ==
CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS) {
                          diag_printf("Warning: too many free chunks\n");
                          return num_chunks;
                        }
                        chunks[idx].end = img->flash_base;
                    }
                    break;
                }
            }
        }
    }
    return num_chunks;
}
#endif // CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS

/////////// chunks[] value [Error value]//////////////////////////////////
chunks[0].start  = 0x70040000
chunks[0].end = 0x70fe0000
chunks[1].start  = 0x71000000
chunks[1].end = 0x70ffffff
///////////////////////////////////////////////////////////////////

Question :
1. I think this function is taken mistake. Is it correct ??
2. How can I get the lastest code for falsh multi-driver ??
Use " cvs -z3 -d :pserver:anoncvs@ecos.sourceware.org:/cvs/ecos co -r
flashv2 -P ecos " ??

Thank you~~

Steven Cheng



> >
> > The flash info :
> > Flash type                    BaseAddress                       Size
>
> --------------------------------------------------------------------------
--
> > Intel Strata                   0x70000000
0x1000000
> > (16MB)
> > SST 39VFXXX           0xfff00000                          0x80000
(512KB)

> > The redboot displays in power on :
> > ///////////////////////////////////
> > Platform: pX (PowerPC 8245)
> > Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
> >
> > RAM: 0x00000000-0x10000000, [0x0007ec40-0x0efdd000] available
> > FLASH: 0x70000000 - 0x70ffffff 128 x 0x20000 blocks
> > FLASH: 0xfff00000 - 0xfff7ffff 128 x 0x1000 blocks
>
> Redboot is finding the two flashes, so the basic setup is probably
correct.
>
> > RedBoot> fis list
> > ... Read from 0x70fe0000-0x70ffefff to 0x0efe0000:
> > Name              FLASH addr  Mem addr    Length      Entry point
> > RedBoot           0x70000000  0x70000000  0x00020000  0x00000000
> > RedBoot[RAM]      0x70020000  0x70020000  0x00040000  0x00100100
> > FIS directory     0x70FE0000  0x70FE0000  0x0001F000  0x00000000
> > RedBoot config    0x70FFF000  0x70FFF000  0x00001000  0x00000000
> >


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

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

* Re: [ECOS] Re: How can I use the flashs of sst29vfxxx and intel_strata at the same timeat redboot ???
  2005-09-14  5:07   ` Steven_cheng
@ 2005-09-14  9:38     ` Andrew Lunn
  2005-09-14 15:44       ` Steven_cheng
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Lunn @ 2005-09-14  9:38 UTC (permalink / raw)
  To: Steven_cheng; +Cc: ecos-discuss

On Wed, Sep 14, 2005 at 10:05:13AM +0800, Steven_cheng wrote:
> Hi Andrew,
> 
>     It does not works in some commands.
> 
> As following:
> RedBoot> fis list
> ... Read from 0x70fe0000-0x70fffbff to 0x0efe0000:
> Name              FLASH addr  Mem addr    Length      Entry point
> RedBoot           0x70000000  0x70000000  0x00040000  0x00000000
> FIS directory     0x70FE0000  0x70FE0000  0x0001FC00  0x00000000
> RedBoot config    0x70FFFC00  0x70FFFC00  0x00000400  0x00000000
> 
> RedBoot> load -m xmodem -b 0x100000
> CCCCAddress offset = 0x000c0000
> Entry point: 0x00100100, address range: 0x00100000-0x00135cc8
> xyzModem - CRC mode, 2553(SOH)/0(STX)/0(CAN) packets, 4 retries
> 
> RedBoot> fis create pX[RAM] -f 0xfff00000
> ... Read from 0x70fe0000-0x70fffbff to 0x0efe0000:
> ... Read from 0x70fe0000-0x70fffbff to 0x0efe0000:
> ... Read from 0x70fe0000-0x70fffbff to 0x0efe0000:
> Invalid FLASH address - not free!
> 
> I find it is taken mistake in find_free() (codebase is flashv2 branch of
> ecos);
> ////////////////////////////////////////////////////////////////////////////
> ///////////////////////////////////
> static int
> find_free(struct free_chunk *chunks)
> {
>     cyg_flashaddr_t err_addr;
>     cyg_flash_info_t info;
>     struct fis_image_desc *img;
>     int i=0, idx;
>     int num_chunks = 0;
>     int ret;
> 
>     do {
>       ret = cyg_flash_get_info(i, &info);
>       if (ret == CYG_FLASH_ERR_OK) {
>         if (i == 0 ) {
>           // Do not search the area reserved for pre-RedBoot systems:
>           chunks[num_chunks].start = (info.start +
>                                         CYGNUM_REDBOOT_FLASH_RESERVED_BASE +
>                                         CYGBLD_REDBOOT_MIN_IMAGE_SIZE);
>           chunks[num_chunks].end = info.end;
>           num_chunks++;
>         } else {   // Contiguous flash? If so collapse the chunks together.
>           if (chunks[num_chunks-1].end == (info.start -1)) {
>             chunks[num_chunks-1].end = info.end;
>           } else {
>             chunks[num_chunks].start = info.start;
>             chunks[num_chunks].end = info.end;
>             num_chunks++;
>           }
>         }
>       }
>       i++;
>     } while (ret != CYG_FLASH_ERR_INVALID);
> 
> /////////// chunks[] value  [correct !!]//////////////////////////////////
> chunks[0].start  = 0x70040000
> chunks[0].end = 0x70ffffff
> chunks[1].start  = 0xfff00000
> chunks[1].end = 0xfff7fffff

This looks OK.

> ///////////////////////////////////////////////////////////////////
> 
>     cyg_flash_read(fis_addr, fis_work_block, fisdir_size, &err_addr);
>     img = (struct fis_image_desc *) fis_work_block;
>     for (i = 0;  i < fisdir_size/sizeof(*img);  i++, img++) {
>         if (img->name[0] != (unsigned char)0xFF) {
>             // Figure out which chunk this is in and split it
>             for (idx = 0;  idx < num_chunks;  idx++) {
>                 if ((img->flash_base >= chunks[idx].start) &&
>                     (img->flash_base <= chunks[idx].end)) {
>                     if (img->flash_base == chunks[idx].start) {
>                         chunks[idx].start += img->size;
>                         if (chunks[idx].start >= chunks[idx].end) {
>                             // This free chunk has collapsed
>                             while (idx < (num_chunks-1)) {
>                                 chunks[idx] = chunks[idx+1];
>                                 idx++;
>                             }
>                             num_chunks--;
>                         }
>                     } else if ((img->flash_base+img->size) ==
> chunks[idx].end) {
>                         chunks[idx].end = img->flash_base;
>                     } else {
>                         // Split chunk into two parts
>                         chunks[idx+1].start = img->flash_base + img->size;
>                         chunks[idx+1].end = chunks[idx].end;
>                         if (++num_chunks ==
> CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS) {
>                           diag_printf("Warning: too many free chunks\n");
>                           return num_chunks;
>                         }
>                         chunks[idx].end = img->flash_base;
>                     }
>                     break;
>                 }
>             }
>         }
>     }
>     return num_chunks;
> }
> #endif // CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS
> 
> /////////// chunks[] value [Error value]//////////////////////////////////
> chunks[0].start  = 0x70040000
> chunks[0].end = 0x70fe0000
> chunks[1].start  = 0x71000000
> chunks[1].end = 0x70ffffff

And this is wrong. 

There was a patch to the trunk by Peter Korsgaard on 2005-06-29 which
fixed something here. It might be worth applying that patch to the v2
branch and see if it helps.

> ///////////////////////////////////////////////////////////////////
> 
> Question :
> 2. How can I get the lastest code for falsh multi-driver ??
> Use " cvs -z3 -d :pserver:anoncvs@ecos.sourceware.org:/cvs/ecos co -r
> flashv2 -P ecos " ??

That looks OK.

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

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

* Re: [ECOS] Re: How can I use the flashs of sst29vfxxx and intel_strata at the same timeat redboot ???
  2005-09-14  9:38     ` Andrew Lunn
@ 2005-09-14 15:44       ` Steven_cheng
  0 siblings, 0 replies; 6+ messages in thread
From: Steven_cheng @ 2005-09-14 15:44 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: ecos-discuss

Hi Andrew,

    I got it ~~
And it works!!

Thank you~~

Steven Cheng

----- Original Message ----- 
From: "Andrew Lunn" <andrew@lunn.ch>
To: "Steven_cheng" <05071@alphanetworks.com>
Cc: <ecos-discuss@sources.redhat.com>
Sent: Wednesday, September 14, 2005 3:27 PM
Subject: Re: [ECOS] Re: How can I use the flashs of sst29vfxxx and
intel_strata at the same timeat redboot ???


> On Wed, Sep 14, 2005 at 10:05:13AM +0800, Steven_cheng wrote:
> > Hi Andrew,
> >
> >     It does not works in some commands.
> >
> > As following:
> > RedBoot> fis list
> > ... Read from 0x70fe0000-0x70fffbff to 0x0efe0000:
> > Name              FLASH addr  Mem addr    Length      Entry point
> > RedBoot           0x70000000  0x70000000  0x00040000  0x00000000
> > FIS directory     0x70FE0000  0x70FE0000  0x0001FC00  0x00000000
> > RedBoot config    0x70FFFC00  0x70FFFC00  0x00000400  0x00000000
> >
> > RedBoot> load -m xmodem -b 0x100000
> > CCCCAddress offset = 0x000c0000
> > Entry point: 0x00100100, address range: 0x00100000-0x00135cc8
> > xyzModem - CRC mode, 2553(SOH)/0(STX)/0(CAN) packets, 4 retries
> >
> > RedBoot> fis create pX[RAM] -f 0xfff00000
> > ... Read from 0x70fe0000-0x70fffbff to 0x0efe0000:
> > ... Read from 0x70fe0000-0x70fffbff to 0x0efe0000:
> > ... Read from 0x70fe0000-0x70fffbff to 0x0efe0000:
> > Invalid FLASH address - not free!
> >
> > I find it is taken mistake in find_free() (codebase is flashv2 branch of
> > ecos);
> >
////////////////////////////////////////////////////////////////////////////
> > ///////////////////////////////////
> > static int
> > find_free(struct free_chunk *chunks)
> > {
> >     cyg_flashaddr_t err_addr;
> >     cyg_flash_info_t info;
> >     struct fis_image_desc *img;
> >     int i=0, idx;
> >     int num_chunks = 0;
> >     int ret;
> >
> >     do {
> >       ret = cyg_flash_get_info(i, &info);
> >       if (ret == CYG_FLASH_ERR_OK) {
> >         if (i == 0 ) {
> >           // Do not search the area reserved for pre-RedBoot systems:
> >           chunks[num_chunks].start = (info.start +
> >
CYGNUM_REDBOOT_FLASH_RESERVED_BASE +
> >                                         CYGBLD_REDBOOT_MIN_IMAGE_SIZE);
> >           chunks[num_chunks].end = info.end;
> >           num_chunks++;
> >         } else {   // Contiguous flash? If so collapse the chunks
together.
> >           if (chunks[num_chunks-1].end == (info.start -1)) {
> >             chunks[num_chunks-1].end = info.end;
> >           } else {
> >             chunks[num_chunks].start = info.start;
> >             chunks[num_chunks].end = info.end;
> >             num_chunks++;
> >           }
> >         }
> >       }
> >       i++;
> >     } while (ret != CYG_FLASH_ERR_INVALID);
> >
> > /////////// chunks[] value  [correct
!!]//////////////////////////////////
> > chunks[0].start  = 0x70040000
> > chunks[0].end = 0x70ffffff
> > chunks[1].start  = 0xfff00000
> > chunks[1].end = 0xfff7fffff
>
> This looks OK.
>
> > ///////////////////////////////////////////////////////////////////
> >
> >     cyg_flash_read(fis_addr, fis_work_block, fisdir_size, &err_addr);
> >     img = (struct fis_image_desc *) fis_work_block;
> >     for (i = 0;  i < fisdir_size/sizeof(*img);  i++, img++) {
> >         if (img->name[0] != (unsigned char)0xFF) {
> >             // Figure out which chunk this is in and split it
> >             for (idx = 0;  idx < num_chunks;  idx++) {
> >                 if ((img->flash_base >= chunks[idx].start) &&
> >                     (img->flash_base <= chunks[idx].end)) {
> >                     if (img->flash_base == chunks[idx].start) {
> >                         chunks[idx].start += img->size;
> >                         if (chunks[idx].start >= chunks[idx].end) {
> >                             // This free chunk has collapsed
> >                             while (idx < (num_chunks-1)) {
> >                                 chunks[idx] = chunks[idx+1];
> >                                 idx++;
> >                             }
> >                             num_chunks--;
> >                         }
> >                     } else if ((img->flash_base+img->size) ==
> > chunks[idx].end) {
> >                         chunks[idx].end = img->flash_base;
> >                     } else {
> >                         // Split chunk into two parts
> >                         chunks[idx+1].start = img->flash_base +
img->size;
> >                         chunks[idx+1].end = chunks[idx].end;
> >                         if (++num_chunks ==
> > CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS) {
> >                           diag_printf("Warning: too many free
chunks\n");
> >                           return num_chunks;
> >                         }
> >                         chunks[idx].end = img->flash_base;
> >                     }
> >                     break;
> >                 }
> >             }
> >         }
> >     }
> >     return num_chunks;
> > }
> > #endif // CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS
> >
> > /////////// chunks[] value [Error
value]//////////////////////////////////
> > chunks[0].start  = 0x70040000
> > chunks[0].end = 0x70fe0000
> > chunks[1].start  = 0x71000000
> > chunks[1].end = 0x70ffffff
>
> And this is wrong.
>
> There was a patch to the trunk by Peter Korsgaard on 2005-06-29 which
> fixed something here. It might be worth applying that patch to the v2
> branch and see if it helps.
>
> > ///////////////////////////////////////////////////////////////////
> >
> > Question :
> > 2. How can I get the lastest code for falsh multi-driver ??
> > Use " cvs -z3 -d :pserver:anoncvs@ecos.sourceware.org:/cvs/ecos co -r
> > flashv2 -P ecos " ??
>
> That looks OK.
>
>         Andrew
>
> -- 
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

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

* [ECOS] How can I use the flashs of sst29vfxxx and intel_strata at the same timeat redboot ???
@ 2005-09-12  6:42 Steven_cheng
  0 siblings, 0 replies; 6+ messages in thread
From: Steven_cheng @ 2005-09-12  6:42 UTC (permalink / raw)
  To: ecos-discuss

Hi All,

        I have two kinds of flash type, intel strata and sst 39vfxxx in
my platform, and I use the flashv2 branch of ecos. Now I have
initiated them, but I find that the cyg_flash_get_info function
alway returns the first flash info, so I only can use one of them.

The flash info :
Flash type                    BaseAddress                       Size
----------------------------------------------------------------------------
-------
Intel Strata                   0x70000000                        0x1000000
(16MB)
SST 39VFXXX           0xfff00000                          0x80000 (512KB)

The redboot displays in power on :
///////////////////////////////////
Platform: pX (PowerPC 8245)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00000000-0x10000000, [0x0007ec40-0x0efdd000] available
FLASH: 0x70000000 - 0x70ffffff 128 x 0x20000 blocks
FLASH: 0xfff00000 - 0xfff7ffff 128 x 0x1000 blocks


RedBoot> fis list
... Read from 0x70fe0000-0x70ffefff to 0x0efe0000:
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0x70000000  0x70000000  0x00020000  0x00000000
RedBoot[RAM]      0x70020000  0x70020000  0x00040000  0x00100100
FIS directory     0x70FE0000  0x70FE0000  0x0001F000  0x00000000
RedBoot config    0x70FFF000  0x70FFF000  0x00001000  0x00000000



Question:
How can I use the flashs of sst29vfxxx and intel_strata at the same time
at redboot ???

Thank you in advance~~

Steven Cheng





-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

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

end of thread, other threads:[~2005-09-14 12:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-12  7:51 [ECOS] How can I use the flashs of sst29vfxxx and intel_strata at the same timeat redboot ??? Steven_cheng
2005-09-13  8:21 ` [ECOS] " Andrew Lunn
2005-09-14  5:07   ` Steven_cheng
2005-09-14  9:38     ` Andrew Lunn
2005-09-14 15:44       ` Steven_cheng
  -- strict thread matches above, loose matches on Subject: below --
2005-09-12  6:42 [ECOS] " Steven_cheng

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).