Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 May 2006 09:41:49 +0200
From:      Milan Obuch <small@dino.sk>
To:        freebsd-small@freebsd.org
Subject:   Re: FreeBSD's embedded agenda
Message-ID:  <200605300941.51523.small@dino.sk>
In-Reply-To: <20060530051455.GA60261@what-creek.com>
References:  <HCEPKPMCAJLDGJIBCLGHKEHMFGAA.james@wgold.demon.co.uk> <9f7850090605292201x570d93b4v8a7dd3ea0c70f841@mail.gmail.com> <20060530051455.GA60261@what-creek.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 30 May 2006 07:14, John Birrell wrote:
> On Mon, May 29, 2006 at 10:01:37PM -0700, marty fouts wrote:
> > On 5/29/06, John Birrell <jb@what-creek.com> wrote:
> > >The smallest embedded system using FreeBSD consists of just a kernel
> > >and a threaded program which runs as 'init'. No other files are
> > > required.
> >
> > Unfortunately, in my world, the smallest embedded system isn't of
> > interest. We need something a bit larger.  That threaded program needs
> > a data store for persistant data.
>
> Yes, you write persistent data to the NAND disk. As I said, you remount
> the file system as write enabled when you need to save data then leave
> it read-only for the rest of the time. This doesn't take very long to do.
> It's not like you have gigabytes of data buffered because you mount
> the file system write enabled synchronously.
>

There is another tradeoff between smallest/minimalistic system and somewhat 
larger embedded system, based on ease of application development. It is 
sometimes much easier to develop system using already existing applications 
without need to compile everything into one program (routers need routing 
protocols etc.)

[ snip ]

>
> The example that I gave uses NAND flash to boot the OS and save
> persistent configuration data. The CF was only used because the MPEG
> file for a race video was 1GB. If I wasn't writing such a large amount
> of data, the CF would not have been required. At the time it was the
> easiest way to get a large amount of storage in a small system which
> had to stand the rigor race motorcycle vibrations.
>
> As I said, writing a NAND driver under geom on FreeBSD is a trivial matter.
> That is what I did. The driver wasn't committed to FreeBSD because it
> is hardware specific to the board due to the way the the processor I/O
> is mapped. If you study the NAND implementations on embedded hardware,
> you will see that making a general operating system support them all with
> drivers is hard to do because of the different ways that the NAND chips
> are mapped in I/O. It's not like they are on a general bus that makes
> access to them the same.

It would be interesting to see your implementation documented somewhere. I 
think the community could use it to study...

Other than that I think there is no universal methodology for embedded system. 
That said, everything publicly documented is usefull.

Regards,
Milan

-- 
No need to mail me directly. Just reply to mailing list, please.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605300941.51523.small>