From: Richard Rasker on
Hello,
As mentioned in a previous post, I need to store non-trivial amounts of data
(> 100kB) over longer periods of time, using a stand-alone controller-based
system.
I got the advice here to look into MMC cards, which, contrary to SD cards,
don't require licensing and other strings attached.

Now I've taken a more in-depth look at what's involved in using MMC cards,
and I find that I the PIC controllers I'm used to (the 16F series, mostly)
are completely unsuitable -- especially FAT support requires more far
program and data memory than available in this series.

For the same reasons, I need to migrate to a C-based development environment
(so far, I did most things in assembly), with a possible extra complication
that I use Linux exclusively.

So I have a few more questions:
- What controller family (brand, types) would be best suitable for the job?
- what development environments are available under Linux?
- What hardware tools are available for use with Linux?

Since I don't expect to be working on this type of projects on a daily
basis, I don't want to spend many thousands of dollars on development
stuff -- this data acquisition project is a one-off, and I have no similar
future projects on the horizon.

Thanks for any hints and suggestions,

Best regards,

Richard Rasker
--
http://www.linetec.nl
From: Nico Coesel on
Richard Rasker <spamtrap(a)linetec.nl> wrote:

>Hello,
>As mentioned in a previous post, I need to store non-trivial amounts of data
>(> 100kB) over longer periods of time, using a stand-alone controller-based
>system.
>I got the advice here to look into MMC cards, which, contrary to SD cards,
>don't require licensing and other strings attached.
>
>Now I've taken a more in-depth look at what's involved in using MMC cards,
>and I find that I the PIC controllers I'm used to (the 16F series, mostly)
>are completely unsuitable -- especially FAT support requires more far
>program and data memory than available in this series.
>
>For the same reasons, I need to migrate to a C-based development environment
>(so far, I did most things in assembly), with a possible extra complication
>that I use Linux exclusively.
>
>So I have a few more questions:
>- What controller family (brand, types) would be best suitable for the job?

NXP has a broad range of ARM controllers. Very cost effective as well.

>- what development environments are available under Linux?

Codesourcery.com has GCC compilers for free for several platforms.

>- What hardware tools are available for use with Linux?

The NXP ARM controllers only need a serial port to program them. There
is a simple tool for Linux: http://www.pjrc.com/arm/lpc2k_pgm/

>Since I don't expect to be working on this type of projects on a daily
>basis, I don't want to spend many thousands of dollars on development
>stuff -- this data acquisition project is a one-off, and I have no similar
>future projects on the horizon.
>
>Thanks for any hints and suggestions,

I could take some work off your hands. I use NXP's ARM controllers
almost exclusively.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico(a)nctdevpuntnl (punt=.)
--------------------------------------------------------------
From: Royston Vasey on

"Richard Rasker" <spamtrap(a)linetec.nl> wrote in message
news:4be9341a$0$732$7ade8c0d(a)textreader.nntp.internl.net...
> Hello,
> As mentioned in a previous post, I need to store non-trivial amounts of
> data
> (> 100kB) over longer periods of time, using a stand-alone
> controller-based
> system.
> I got the advice here to look into MMC cards, which, contrary to SD cards,
> don't require licensing and other strings attached.
>
> Now I've taken a more in-depth look at what's involved in using MMC cards,
> and I find that I the PIC controllers I'm used to (the 16F series, mostly)
> are completely unsuitable -- especially FAT support requires more far
> program and data memory than available in this series.
>

Richard, I cannot remember the details but I recall something about avoiding
the FAT reqirements by using a single large file on the MMC cards, allowing
use of low end pic's. If this is just a one off project it may be worth you
having another look at it.



> For the same reasons, I need to migrate to a C-based development
> environment
> (so far, I did most things in assembly), with a possible extra
> complication
> that I use Linux exclusively.
>
> So I have a few more questions:
> - What controller family (brand, types) would be best suitable for the
> job?
> - what development environments are available under Linux?
> - What hardware tools are available for use with Linux?
>
> Since I don't expect to be working on this type of projects on a daily
> basis, I don't want to spend many thousands of dollars on development
> stuff -- this data acquisition project is a one-off, and I have no similar
> future projects on the horizon.
>
> Thanks for any hints and suggestions,
>
> Best regards,
>
> Richard Rasker
> --
> http://www.linetec.nl


From: John Larkin on
On Tue, 11 May 2010 12:40:25 +0200, Richard Rasker
<spamtrap(a)linetec.nl> wrote:

>Hello,
>As mentioned in a previous post, I need to store non-trivial amounts of data
>(> 100kB) over longer periods of time, using a stand-alone controller-based
>system.
>I got the advice here to look into MMC cards, which, contrary to SD cards,
>don't require licensing and other strings attached.
>
>Now I've taken a more in-depth look at what's involved in using MMC cards,
>and I find that I the PIC controllers I'm used to (the 16F series, mostly)
>are completely unsuitable -- especially FAT support requires more far
>program and data memory than available in this series.
>
>For the same reasons, I need to migrate to a C-based development environment
>(so far, I did most things in assembly), with a possible extra complication
>that I use Linux exclusively.
>
>So I have a few more questions:
>- What controller family (brand, types) would be best suitable for the job?
>- what development environments are available under Linux?
>- What hardware tools are available for use with Linux?
>
>Since I don't expect to be working on this type of projects on a daily
>basis, I don't want to spend many thousands of dollars on development
>stuff -- this data acquisition project is a one-off, and I have no similar
>future projects on the horizon.
>
>Thanks for any hints and suggestions,
>
>Best regards,
>
>Richard Rasker

Do you need a file structure, or can you just dump your data
sequentially or in blocks to storage? You can buy a Numonix M25P16
16Mbit/2M bytes SO8 serial flash chip for a dollar or so and interface
to it through 4 port pins, SPI or just bit-bang.

John

From: Spehro Pefhany on
On Tue, 11 May 2010 21:22:51 +0800, "Royston Vasey"
<royston(a)vasey.com> wrote:

>
>"Richard Rasker" <spamtrap(a)linetec.nl> wrote in message
>news:4be9341a$0$732$7ade8c0d(a)textreader.nntp.internl.net...
>> Hello,
>> As mentioned in a previous post, I need to store non-trivial amounts of
>> data
>> (> 100kB) over longer periods of time, using a stand-alone
>> controller-based
>> system.
>> I got the advice here to look into MMC cards, which, contrary to SD cards,
>> don't require licensing and other strings attached.
>>
>> Now I've taken a more in-depth look at what's involved in using MMC cards,
>> and I find that I the PIC controllers I'm used to (the 16F series, mostly)
>> are completely unsuitable -- especially FAT support requires more far
>> program and data memory than available in this series.
>>
>
>Richard, I cannot remember the details but I recall something about avoiding
>the FAT reqirements by using a single large file on the MMC cards, allowing
>use of low end pic's. If this is just a one off project it may be worth you
>having another look at it.

IIRC you can find code to use SD cards in SPI mode, including a FAT
file system, for the PIC24, which is pretty cheap and easy to use. The
C compiler is free forever if you don't use optimization, AFAIR (but
check license terms if that's important to you). The Windows-based IDE
is free. I'm sure there is info out there for Linux, but I'm not
familiar with it. You can also implement a USB host and use a flash
drive mass memory device, with a somewhat higher end micro.

All this kind of flash memory has an upsetting tendency to just go
away for substantial periods of time when you write to it (as much as
hundreds of ms), even though the peak and average throughput may be
quite high, so make sure you use a micro with enough RAM to buffer
your data for a goodly amount of time.