Subject:
|
Re: ARM Assembly Language Programming on NXT?
|
Newsgroups:
|
lugnet.robotics.nxt.nxthacking
|
Date:
|
Tue, 9 Oct 2007 00:21:10 GMT
|
Viewed:
|
20986 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.
>
> 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.
>
> 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.
>
> 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.
>
> No Zigbee for the NXT. It has Bluetooth built-in.
Thanks Dick for intruducing LEJOS OSEK,
When we develolped LEJOS OSEK, Prof. Mizuno wrote several GCC assembly code to
port TOPPERS OSEK (an open source OSEK OS) to NXT. Whole assembly code(*.S) is
stored in lejos_osek\toppers_osek\config\at91sam7s-gnu directory of the LEJOS
OSEK distribution. However, in case of NXT, it is not easy to confirm the
behavior of the written assembly code in the NXT because most of external
interactions (i.e. Motor control, Sensor data acquisition, LCD display) are done
via I2C communication, so you need to have additional device drivers.
|
|
Message is in Reply To:
8 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|