Hi cetic,
> How does the Nios IDE know where to place the fs in flash ?
It's in the stf file: the offset parameter in the location_on_target tag.
E.g.: <location_on_target offset='0x00200000'>
> How does my Filesystem Project know that I made a Kernel
> project that I put in the same flash ?
It doesn't.
> Is it possible to have a rw access to a part of the flash even if I
> made a filesystem on it ?
Yes. The presence of a file system is irrelevant. The block (or even
char) device driver is what matters. Typically, mtd is used to access
flash or other memory (like SRAM or reserved SDRAM) as it provides
the appropriate device driver(s).
If you want to 'partition' your flash into several regions ... some
read/write, others read-only ... you can enable MTD partition support.
You can then customize the partitions (e.g. location, size, read/write
attributes) for your board by writing your own 'mapping' driver
(see drivers/mtd/maps for some examples).
> Is the fs completely ro ? If yes, does flash rw file systems exist ?
That depends on the filesystem. Some, like cramfs, are read only.
Others are read/write. The most popular r/w flash filesystem
is jffs2. Cramfs is my favorite for read-only.
If you don't need non-volatile r/w file access for your
application, you can for example just use cramfs (for the root
filesystem) and tmpfs to provide volatile r/w file support (i.e.
for temporary files and the like).
Regards,
--Scott