EmbeddedRelated.com
Forums

AT91 SAM7S256 & NXT & Linux

Started by "Anne C. van Rossum" July 17, 2007
Dear list members,

Recently I bought a Lego Mindstorms NXT kit, that uses an ARM 7 from
Atmel (and a BlueCore board).

It has an USB connection and it is able to program them by Windows
tools; in e.g. the RobotC environment and the NXT-G environment of Lego
itself. However, there are no flash programmers available for Linux
for this specific NXT brick.

So, I want to ask you, is there a way to program this ARM (SAM7S256)
by USB in Linux? Just like my LPC2148 board, that could be programmed
by the small utility lpc2k_pgm.

I don't want to open the thing because I get 16 of them, so I don't
have a JTAG connection available.

I think there is a high chance that there is such a programming
utility for Linux for this specific device. I tried Sam_I_Am, but run
into problems with respect to device recognition: "[Errno 19] No such
device: '/dev/ttyUSB0'" (After a mknod command to create
/dev/ttyUSB0). Probably their mentioned Evaluation Board needs a
different vendorID/productID anyway.

Kind regards and thanks in advance!

Anne
Hallo Anne,

Heel goes on iemand van Nederland hier the zien - groeten van een heel koud Australie :-)

One option for Linux is to run CrossWorks for ARM. The whole toolchain has a Linux version.
Dont know if that's in your budget, but you could always use an eval to kickstart in Linux.
CWARM link : www.rowley.co.uk
Best Regards,
Kris

________________________________________
From: A... [mailto:A...] On Behalf Of Anne C. van Rossum
Sent: Tuesday, 17 July 2007 10:57 PM
To: A...
Subject: [AT91SAM] AT91 SAM7S256 & NXT & Linux

Dear list members,

Recently I bought a Lego Mindstorms NXT kit, that uses an ARM 7 from
Atmel (and a BlueCore board).

It has an USB connection and it is able to program them by Windows
tools; in e.g. the RobotC environment and the NXT-G environment of Lego
itself. However, there are no flash programmers available for Linux
for this specific NXT brick.

So, I want to ask you, is there a way to program this ARM (SAM7S256)
by USB in Linux? Just like my LPC2148 board, that could be programmed
by the small utility lpc2k_pgm.

I don't want to open the thing because I get 16 of them, so I don't
have a JTAG connection available.

I think there is a high chance that there is such a programming
utility for Linux for this specific device. I tried Sam_I_Am, but run
into problems with respect to device recognition: "[Errno 19] No such
device: '/dev/ttyUSB0'" (After a mknod command to create
/dev/ttyUSB0). Probably their mentioned Evaluation Board needs a
different vendorID/productID anyway.

Kind regards and thanks in advance!

Anne
Anne C. van Rossum wrote:
> Dear list members,
>
> Recently I bought a Lego Mindstorms NXT kit, that uses an ARM 7 from
> Atmel (and a BlueCore board).
>
> It has an USB connection and it is able to program them by Windows
> tools; in e.g. the RobotC environment and the NXT-G environment of Lego
> itself. However, there are no flash programmers available for Linux
> for this specific NXT brick.
>
> So, I want to ask you, is there a way to program this ARM (SAM7S256)
> by USB in Linux? Just like my LPC2148 board, that could be programmed
> by the small utility lpc2k_pgm.

Anne,

Once you have reset the NXT using the little button in the hole
under the USB connection, it comes up in SAMBA mode. ANY programmer
that uses SAMBA should work.

As far as third party compiler packages, you won't be able to use the
debugger via JTAG unless you open the NXT and solder on a very fine
pitch connector.

I suggest looking at nxtlib to program a firmware image to the NXT:



It compiles to a program that lets you load binary images to the
NXT.

I have developed a GCC framework that lets you debug the NXT
without opening it up using gdb command line mode over USB but
it's pretty flimsy right now.

Cheers, Ralph Hempel
Have a look at the lejos project.
http://lejos.sourceforge.net/p_technologies/nxt/nxj/nxj.php

There are all the tools to download a C program (which is what the Java
interpreter is) or for that matter you can write one in Java.
On Wednesday 18 July 2007 00:56:54 Anne C. van Rossum wrote:
> Dear list members,
>
> Recently I bought a Lego Mindstorms NXT kit, that uses an ARM 7 from
> Atmel (and a BlueCore board).
>
> It has an USB connection and it is able to program them by Windows
> tools; in e.g. the RobotC environment and the NXT-G environment of Lego
> itself. However, there are no flash programmers available for Linux
> for this specific NXT brick.
>
> So, I want to ask you, is there a way to program this ARM (SAM7S256)
> by USB in Linux? Just like my LPC2148 board, that could be programmed
> by the small utility lpc2k_pgm.
>
> I don't want to open the thing because I get 16 of them, so I don't
> have a JTAG connection available.
>
> I think there is a high chance that there is such a programming
> utility for Linux for this specific device. I tried Sam_I_Am, but run
> into problems with respect to device recognition: "[Errno 19] No such
> device: '/dev/ttyUSB0'" (After a mknod command to create
> /dev/ttyUSB0). Probably their mentioned Evaluation Board needs a
> different vendorID/productID anyway.
>
> Kind regards and thanks in advance!
>
> Anne
--- In A..., Ralph Hempel wrote:

> I have developed a GCC framework that lets you debug the NXT
> without opening it up using gdb command line mode over USB but
> it's pretty flimsy right now.

Please tell us more - is this using a custom debug monitor programmed
in flash?

Eric