This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: JFFS2 file system problem. Thanks a lot.


Here is what I have (and which works ...):

In redboot:

Inherit console settings from ROM Monitor       false
Debug channel is configurable                   true
Console channel is configurable                 true
Initialize whole table                          true
Claim entries by default                        true
Reset                                           true
Version                                         true
Delay                                           true
Cache Data                                      true
Comms                                           true
Do diagnostics                                  true


In the application:

Inherit console settings from ROM Monitor       false
Debug channel is configurable                   true
Console channel is configurable                 true
Initialize whole table                          false
Claim entries by default                        true
Reset                                           true
Version                                         true
Delay                                           true
Cache Data                                      true
Comms                                           true
Do diagnostics                                  true


Also don't forget the following regarding the flash configuration

instantiate in IO block device API              true
make it get its configuration from fis and specify the correct name of
the FIS entry.


If this does not help I am out of ideas.

Bob


On Tue, 2003-06-03 at 20:56, QiangHuang wrote:
> Thank you very much. Which virtual vector should be claimed by ecos
> application? (the left are by RedBoot)
> My ecos library is built with the following claimed:
> 
> Claim virtual vector table entries by default
> Claim reset virtual vector
> Claim delay_us virtual vector
> Claim cache virtual vectors
> Claim data virtual vectors
> 
> Is this setting all right?
> 
> Does the RedBoot need to be *built* with the knowledge of where JFFS2 is
> located?
> 
> Even the address shown is not correct, but I still can creating file,
> writing to file and reading from file, just this doesn't work all the times.
> it will fail some time.
> 
> Thanks a lot.
> 
> -----Original Message-----
> From: Bob Koninckx [mailto:bob.koninckx@mech.kuleuven.ac.be]
> Sent: 03 June 2003 19:38
> To: QiangHuang
> Cc: Ecos-Discuss
> Subject: Re: [ECOS] JFFS2 file system problem. Thanks a lot.
> 
> 
> On Tue, 2003-06-03 at 12:58, QiangHuang wrote:
> > Hi all:
> >    I have tried to integreate JFFS2 support into my system. but I got some
> > problem.
> >
> > I have installed the accompanied test support file in
> > /fs/jffs2/support/jffs2.img by RedBoot into flash memory shown below:
> >
> > RAM: 0x00000000-0x02000000, 0x00002000-0x01f21000 available
> > FLASH: 0x40000000 - 0x40800000, 128 blocks of 0x00010000 bytes each.
> > RedBoot> fis list
> > Name              FLASH addr  Mem addr    Length      Entry point
> > RedBoot           0x40000000  0x40000000  0x00020000  0x00000000
> > RedBoot config    0x407E0000  0x407E0000  0x00001000  0x00000000
> > FIS directory     0x407F0000  0x407F0000  0x00010000  0x00000000
> > JFFS2             0x40100000  0x40100000  0x00400000  0x00100000
> > web               0x40500000  0x00040000  0x00100000  0x00040000
> >
> > when starting my application I always got the following message:
> 
> 
> There seems to be something wrong with where JFFS2 is (0x40100000) and
> where the filesystem thinks it is (0xd78). Are you sure that your
> application does not claim all of the virtual vectors and by doing so
> overwrites some data that was put there before by redboot?
> 
> 
> >
> > <5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000d78:
> > 0xa224
> >  instead
> > <5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000d7c:
> > 0x336c
> >  instead
> > <5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000d80:
> > 0x9a34
> >  instead
> > <5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000d84:
> > 0x0003
> >  instead
> > <5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000d88:
> > 0x3360
> >  instead
> > <5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000d8c:
> > 0x0001
> >  instead
> > <5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000d90:
> > 0x99a8
> >  instead
> > <5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000d98:
> > 0x99a8
> >  instead
> > <5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000d9c:
> > 0x0001
> >  instead
> > <5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000da0:
> > 0x0001
> >  instead
> > <5>Further such events for this erase block will not be printed
> > <4>Empty flash at 0x00003db8 ends at 0x00003dbc
> > <4>Empty flash at 0x00003ddc ends at 0x00003de4
> > <4>Empty flash at 0x00003df8 ends at 0x00003dfc
> > <4>Empty flash at 0x00003e10 ends at 0x00003e14
> > <4>Empty flash at 0x00003e28 ends at 0x00003e2c
> > <4>Empty flash at 0x00003e40 ends at 0x00003e44
> > <4>Empty flash at 0x00003e58 ends at 0x00003e5c
> > <4>Empty flash at 0x00003e70 ends at 0x00003e74
> > <4>Empty flash at 0x00003e88 ends at 0x00003e8c
> > <4>Empty flash at 0x00003ea0 ends at 0x00003ea4
> > <4>Empty flash at 0x00003eb8 ends at 0x00003ebc
> > <4>Empty flash at 0x00003ed0 ends at 0x00003ed4
> > <4>Empty flash at 0x00003ee8 ends at 0x00003eec
> > <4>Empty flash at 0x00003f00 ends at 0x00003f04
> > <4>Empty flash at 0x00004030 ends at 0x00004034
> > <4>Empty flash at 0x000043bc ends at 0x000043c0
> > <4>Empty flash at 0x00004650 ends at 0x00004654
> > <4>Empty flash at 0x00004670 ends at 0x00004674
> > <4>Empty flash at 0x000046e8 ends at 0x00004d38
> > <4>Empty flash at 0x00005278 ends at 0x0000527c
> > <5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010000:
> > 0x2003
> >  instead
> > <5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010004:
> > 0x000c
> >  instead
> > ....
> > ...
> > ..
> >
> > how can I set the magic bitmask? or do I need to?
> 
> 
> It should be there if you build the filesystem using mkfs.jffs2
> 
> 
> >
> > also when running my program it works properly for some time and fail .
> > Failure comes out randomly. In my program user can instruct the program to
> > create file, delete file and read content of the file. sometime it works
> > fine(delete,  write and read) for sometime  but sometime it fail with some
> > error message as:
> >
> > when doing a delete sometime get the following errors:
> 
> 
> Again, I'd start checking these addresses as they seem not to correspond
> to what your FIS directory tells.
> 
> 
> >
> > <5>Write of %zd bytes at 0x0000002b failed. returned 114116, retlen %z d
> > <INFO>: reading directory /flash
> > <4>Write error in obliterating obsoleted node at 0x00018b28: 1
> > <4>Write error in obliterating obsoleted node at 0x00018a80: 1
> > <4>Write error in obliterating obsoleted node at 0x000189d8: 1
> >
> > when doing a file create sometime get the following errors:
> >
> > <INFO>: create file aac size 200
> > <5>Write of %zd bytes at 0x00000044 failed. returned 115100, retlen %z d
> > <5>Write of %zd bytes at 0x0000002b failed. returned 115168, retlen %z d
> > <5>Write of %zd bytes at 0x000000a8 failed. returned 115212, retlen %z d
> >
> > why the address attempt to write to is 0x00000044, 0x0000002b,
> 0x000000a8
> > , but the flash memory is located from 0x40000000?? so what's going on
> here?
> > Thanks a lot.
> 
> That seems to me to be the whole problem. Check what your application
> does with the virtual vector table. That is the mechanism to pass data
> from redboot to the application. But if this latter claims the whole
> table, it will initialize everything, overwriting redboot data in the
> process.
> 
> >
> > Any help will be appreciated. Thank you.
> 
> You're wellcome. That is if you stop mailing me off-list.
> Bob
> 
> >
> > qiang huang
> --
> ----------------------------------------------------------------------
> ir. Bob Koninckx
> Katholieke Universiteit Leuven
> Division Production Engineering,                   tel.  +32 16 322535
> Machine Design and Automation                      fax.  +32 16 322987
> Celestijnenlaan 300B                  bob.koninckx@mech.kuleuven.ac.be
> B-3001 Leuven Belgium               http://www.mech.kuleuven.ac.be/pma
> ----------------------------------------------------------------------
-- 
----------------------------------------------------------------------
ir. Bob Koninckx
Katholieke Universiteit Leuven
Division Production Engineering,                   tel.  +32 16 322535
Machine Design and Automation                      fax.  +32 16 322987
Celestijnenlaan 300B                  bob.koninckx@mech.kuleuven.ac.be
B-3001 Leuven Belgium               http://www.mech.kuleuven.ac.be/pma
----------------------------------------------------------------------


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]