To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 24935
24934  |  24936
Subject: 
Re: mindstorms NXT and memory
Newsgroups: 
lugnet.robotics
Date: 
Sun, 8 Jan 2006 00:13:07 GMT
Original-From: 
steve <{sjbaker1@}nospam{airmail.net}>
Viewed: 
8749 times
  
Michael Zapp wrote:

Actually, 64K of RAM is quite a bit. You have to remember that with the RCX you
had 32K for [everything]. With the NXT all of the program code will go into
(and run directly from) the 256K of flash -- this includes things that take up
the most space: text, constant tables for state machines, etc.

It depends where your ambitions lie.

If you want to analyse audio or video or map your environment somehow -
then 64Kb is pathetically small.

If all you want is something that's just a small step ahead of an RCX
then it's plenty.

Of course you should be able to treat Flash memory as writable (slowly)
backing store and page data in and out of RAM as you need to - but even
so, it's not a whole lot.

Let's look at some concrete examples:

VIDEO:

One frame of video from a cheap digital video camera might be 640x480
RGB pixels of three bytes each is almost a Megabyte. That's four times
the amount of flash memory in the NXT.   Yes, you *could* use monochrome
or you *could* use lower resolutions - but this is the brand shiney new
machine for the future, accepting these kinds of restrictions seems
harsh.  Plus, if you are doing motion detection or something, you'll
need more than one frame of data and lots of space for intermediate
steps in the calculations.

AUDIO:

If you are grabbing audio at (say) 12Khz for speech analysis - then
64Kb is six seconds of audio.

MAPPING:

If you are mapping a 30' x 30' room - and (say) you need a byte for
every square inch of the floor so you can map the position of chair
legs and such - then you've just eaten 128Kbytes right there.

So 64Kb (or even 256Kb + 64Kb) is pretty limiting for some of the
kinds of things a robot might want to do.

As a money-saving measure, keeping the amount of memory small makes
sense for Lego.  But you can buy a 256 MEGABYTE USB flash drive for
$8.50.  That's one thousand times more than the 256Kbytes that the NXT
has.

The amount of RAM you need is very small. Micro-controllers I've used for custom
handhelds, engine controllers and transmission controllers (all real-world and
done in the last 2-3 years) have had at most 8K of RAM.

Sure - and I've built an entire telephone exchange in an Intel 8008 with
512 bytes of RAM and 4kb of ROM.

You can always find applications that don't need that much memory - but
that's not the question.   The question is: Can you find useful and
important applications that are impossible with only 64Kb.   I think
there are lots of those.

As long as you have
enough flash and know how to make the most of it you can do a lot of really
interesting stuff.

Sure - *some* interesting stuff - but not video, audio or mapping.

All around this is a really big step up.

Well, it's a step up - but not all that big.

I'm curious if we'll be able to use the 8-bit uC or if it is dedicated to
managing the motors and sensors (off loading basic driver functionality but not
being re-programmable).

Probably it's dedicated - but even if it's not, given the microscopic
amount of flash and RAM that it has - and given that it's probably
100 times slower than the ARM7, it's hard to see what you'd gain by
messing with it.



Message has 4 Replies:
  Re: mindstorms NXT and memory
 
(...) Well, then let's hope there's some way we can increase the amount of memory availible. I don't know about the hard-wired aspect of adding memory, but with Bluetooth... anybody thinking about a Bluetooth external memory module? Perhaps we can (...) (18 years ago, 8-Jan-06, to lugnet.robotics)
  Re: mindstorms NXT and memory
 
Hi Steve, (...) Not so sure about that. I would try to use the bluetooth link and let my computer do the video, audio or mapping work. I did that kind of thing with the RCX and the IR connection and it was a nightmare sometimes, it only worked (...) (18 years ago, 8-Jan-06, to lugnet.robotics)
  Re: mindstorms NXT and memory
 
(...) Not all flash ram is slow, ferro flash ram (e.g. FRAM) has zero write cycle time. Stef (18 years ago, 8-Jan-06, to lugnet.robotics)
  Re: mindstorms NXT and memory
 
(...) You could use a bit per square inch (18 years ago, 8-Jan-06, to lugnet.robotics)

Message is in Reply To:
  Re: mindstorms NXT and memory
 
(...) Actually, 64K of RAM is quite a bit. You have to remember that with the RCX you had 32K for everything. With the NXT all of the program code will go into (and run directly from) the 256K of flash -- this includes things that take up the most (...) (18 years ago, 7-Jan-06, to lugnet.robotics, FTX)

223 Messages in This Thread:
(Inline display suppressed due to large size. Click Dots below to view.)
Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR