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 / 25020
25019  |  25021
Subject: 
Re: mindstorms NXT and memory
Newsgroups: 
lugnet.robotics
Date: 
Mon, 9 Jan 2006 14:59:51 GMT
Viewed: 
9368 times
  
In lugnet.robotics, steve <sjbaker1@airmail.net> wrote:
Brian Davis wrote:
In lugnet.robotics, steve <sjbaker1@airmail.net> wrote:

The point is that having such an incredibly small amount of memory
(by modern standards) forces you into ugly compromise solutions from
your shiney new system from day #1.


   I'm curious - I'm a physicist, not by any means a hardware type. What *is* a
standard amount of on-board FLASH for a embedded system?

It depends on the application obviously...but thinking of consumer
devices that cost around the same ballpark as the NXT and which are
likely to be sold in similar quantities, we have PDA's, handheld games,
MP3 players and digital cameras.

* PDA's generally have somewhere in the tens to hundreds of Megabytes
   of flash and maybe a few megs of RAM.
* The Nintendo DS hand-held game system has 4Mbytes RAM and it's
   teeny-tiny game cartridges have hundreds of Megabytes of ROM memory.
* A typical digital camera has a few megabytes of RAM and hundreds of
   megabytes of flash.
* A solid-state MP3 player would be likely to have hundreds of Megabytes
   of flash and very little RAM.

The NXT uses some sort
of ARM processor (what the heck does that stand for anyway?)

ARM   == Acorn RISC Machine
RISC  == Reduced Instruction Set Computer
Acorn == A British company that designed and manufactured the ARM until
          one of the big companies took them over.

RISC computers are generally quite hard to program at the machine code
level, but easier and more efficient for automated program compilers.

Well, *any* machine is harder to program at machine code level.  If you mean
assembly, I diagree.  I spent the first 18 years of my career on IBM mainframes,
and the last 5 on SPARC machines.  They each have their advantages and
disadvantage from a programming perspective.  CISC machines have less registers
(including Intel X86) and are harder to program because of this.

ARM7 has a nice number of registers that is much larger than those in an Intel
box.


The ARM has been around in different incarnations for maybe 15 to 20
years.  The ARM7 used in the NXT is a couple of generations behind the
cutting edge (eg the Nintendo DS uses an ARM9 as it's main CPU).  The
big thing that makes the ARM popular for embedded systems like this one
is that the ARM circuitry is fairly compact (because it's a RISC
machine and therefore runs very SIMPLE instructions very fast).  This
allows system developers such as LEGO to put lots of other circuitry
onto the same chip and thereby save a ton of money.   Given the small
amount of RAM, it's likely that the RAM is on the same chip as the
ARM.  It's even possible that the 8 bit microprocessor is also on
that same chip.

Do you think that flash might also be on-chip?  Google shows very few matches if
you look for 64K RAM, 256K flash, 32-bit and ARM.


- how FLASH-rish do
these come? And how hard is it to mate such a CPU chip with another chip or two
of FLASH?

Expanding the amount of memory (presuming you were prepared to do some
surgery to the circuit board) might be very easy - or it might be
impossible.  It depends greatly on whether the main CPU chip has enough
address pins to access more memory.

If this system is going to be around for the same amount of time as
the RCX (what? nearly 10 years now?) - it ought not to look antiquated
from the very beginning.

   Well, to be fair, the same could safely be said of the RCX. It had less RAM
ten years ago than my Apple ][ did more than 20 years ago!

Yes - but that would be to compare a desktop system with an embedded
computer.

Memory capacities double about every one to two years - so you'd
expect maybe between 5 and 10 doublings in capacity between the RCX and
the NXT if they were following industry trends.

So 32Kb for the RCX would become between 1 Mbyte and 32 Mbytes for the
NXT.

If you think that's agressive, look at the Nintendo Advance (64Kb,
released in early 2001) which has grown to the Nintendo DS (4Mb, late
2005) which is six doublings in four years!

Game consoles always *have* to be very agressive in their technological
progress.  They basically give away the hardware, and make money on games.

This business model does not apply here, so LEGO can't afford to keep up with
the most advanced technology and keep their selling cost as low as it is.


You can buy Flash memory USB 'thumb drives' for $8.50 in quantity
with anywhere from 128Mbytes upwards.

How hard is it to interface a thumb drive with a device like the ARM?

It would be pretty tough.

From other discussion here the difference between slave and master USB devices seems
to be important.

Yes.  It's crucial.

In effect, the USB port on the NXT is only useful for talking to a PC
(or perhaps a PDA if it had a USB host port).

How much extra hardware or software do you need to make
something like the NXT a USB master device, so it could handle things like a
thumb drive?

It's more major surgery - but it's hard to say how hard it would be at
this early stage.  It's certainly going to be a lot more than cutting a
couple of tracks and soldering in a couple more wires.

From a software perspective, there are plenty of OpenSourced drivers
for USB flash devices that could probably be adapted to make this work,
I doubt that would be a problem.

I'm so horrified about this that I'm half convinced that this must
be a mis-print and that the NXT *surely* has 128Mb and not 128Kb.

   With Bluetooth at least we'll have access to potentially a whole computer's
worth of memory (at a slower rate? I really need to learn about Bluetooth).

Yes - that's an interesting direction.

I'm also pretty un-knowledgeable about Bluetooth.  I don't think there
are Bluetooth flash memory drives or anything though.  A quick search of
Bluetooth devices suggests that just about the only things people are
using this interface for is cellphone hands-free operation and wireless
audio headsets.

Kev



Message has 2 Replies:
  Re: mindstorms NXT and memory
 
(...) That could have something to do with the fact that the x86 architecture is extremely low on registers, pretty much all of which have special functions (CX for counting, BX for addressing, AX:DX for multiplications, SI+DI for memory copying). (...) (19 years ago, 9-Jan-06, to lugnet.robotics)
  Re: mindstorms NXT and memory
 
(...) Kevin, does that have to be true though? I'm wondering if a better strategy would have been to sell the NXT Core kit at a slight loss but try to make it up on expansion sets? (sort of like the game console market) Give the NXT more (...) (19 years ago, 9-Jan-06, to lugnet.robotics)

Message is in Reply To:
  Re: mindstorms NXT and memory
 
(...) It depends on the application obviously...but thinking of consumer devices that cost around the same ballpark as the NXT and which are likely to be sold in similar quantities, we have PDA's, handheld games, MP3 players and digital cameras. * (...) (19 years ago, 9-Jan-06, to lugnet.robotics)

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