To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.nxt.nxthackingOpen lugnet.robotics.nxt.nxthacking in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / NXT / NXT Firmware Hacking / 104
103  |  105
Subject: 
Re: ARM Assembly Language Programming on NXT?
Newsgroups: 
lugnet.robotics.nxt.nxthacking
Date: 
Tue, 9 Oct 2007 05:13:28 GMT
Viewed: 
20840 times
  
In lugnet.robotics.nxt.nxthacking, <dickswan@sbcglobal.net> wrote:

Do a Google on "LEJOS OSEK". I believe this is a solution that has taken the
base "OS" from the NXJ JAVA byte code interpreter as the basis for
programming the NXT using GCC C++. I assume if you can use the GCC C/C++
tools with the NXT then you would also have access to the GCC assembler.


Thanks for the tip. I glanced at
http://www.teamhassenplug.org/NXT/NXTSoftware.html previously but I must've
missed it thinking it's Java based.

I put "OS" in quotes because the base NXT firmware does not have a
conventional multi-tasking RTOS. It uses a single stack / single thread
approach and all the software modules must be written as state-machines that
only take a very short time slice before they return to the caller.


Are you referring to the default NXT firmware or the LEJOS NXJ/OSEK firmware?

If your objective is to teach ARM assembly language, then you're likely to
find better hardware platforms than the NXT. For example, look into the
boards from Olimex. One of their US distributors is Spark Fun Electronics
who has a nice site. In particular the SAM7-EX256 board
http://www.sparkfun.com/commerce/product_info.php?products_id=8244 might be
a great platform.


You're right, I've come across several ARM-based SBC and SDK boards previously.
I haven't found any SDK solutions that I'm fully satisfied with at the moment,
due to the provided development environment (most are Windows based) and limited
bundled interfacing options.

For a teaching environment, I'd prefer a Linux based platform. Since my students
are Comp. Sci. majors and not EE majors, I don't expect them to do soldering or
other breadboard level work.

Interfacing options tend to be limited in existing SBC/SDKs in the sense that
the I/O capabilities are not easily visible or interactive for the user, or
requires quite a lot of supporting equipment setup in order to work. I'd rank
LCD displays, LEDs and buttons/keypad as highly interactive, whereas Ethernet,
USB, and Audio In/Out are low in interactivity (students can't 'see' the effects
of their assembly language coding without a lot of programming setup overhead).
Motors and sensors are intermediate in terms of interactivity due to some
difficulty in programming, but it may be worth the tradeoff to see something
non-trivial happening in response to code executing on the processor.
Hence my interest in exploring NXT as a viable teaching platform for ARM
assembly language programming, since there's no soldering involved and
everything is easily reconfigurable.

The IAR tool chain has a free evaluation download of their ARM tools that is
code size limited to 32K. I don't think there is a time limit on the trial.
I'm very impressed with their C compiler. 32K should give you lots of room
for assembly language. I think it is Windows only.

I've heard good reports too regarding IAR for commercial development.


No Zigbee for the NXT. It has Bluetooth built-in.

This is offtopic, but I was inquring more for the purpose of research usage.
Bluetooth on NXT as I understand it, is PC centric. Zigbee is low power with
reasonably high bandwidth (250 kbps), and can be used in PAN or ad hoc mode.
If there were Zigbee modules available (separately), then developing a swarm of
autonomous NXT robots would be accomplished much more easily.

T.C.



Message has 1 Reply:
  Re: ARM Assembly Language Programming on NXT?
 
Hi T.C., (...) I have an AT91SAM7S-EK here, it has 4 LEDs and 4 touch buttons. It should also be fairly easy to write a driver for one of the serial ports (polling would suffice for a start). On the NXT the only I/O that is easy to use with the (...) (17 years ago, 14-Oct-07, to lugnet.robotics.nxt.nxthacking)

Message is in Reply To:
  RE: ARM Assembly Language Programming on NXT?
 
Do a Google on "LEJOS OSEK". I believe this is a solution that has taken the base "OS" from the NXJ JAVA byte code interpreter as the basis for programming the NXT using GCC C++. I assume if you can use the GCC C/C++ tools with the NXT then you (...) (17 years ago, 8-Oct-07, to lugnet.robotics.nxt.nxthacking)

8 Messages in This Thread:



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