Subject:
|
Re: ARM Assembly Language Programming on NXT?
|
Newsgroups:
|
lugnet.robotics.nxt.nxthacking
|
Date:
|
Tue, 9 Oct 2007 05:13:28 GMT
|
Viewed:
|
21490 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:
Message is in Reply To:
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
|
|
|
|