-
Notifications
You must be signed in to change notification settings - Fork 1
What is NxOS?
NxOS is an open source operating system that runs on the Lego Mindstorms NXT platform. It aims at providing a comprehensive base system that provides easy-to-use APIs to the NXT's hardware, including sensors, display and motors.
It also contains some libraries that developers of /application kernels/ may find of some interest, such as a file system or a GUI builder.
NxOS is written in C, and must be cross-compiled to the ARM platform.
The goal for NxOS is to have a cross-platform hosting (development) environment. A basic setup would include:
- Integrated Development Environment (Eclipse)
- ARM Cross-Compiler Toolchain (GNU GCC)
- Host-based GDB Server (Python-based) and Client (GDB for ARM)
- Enhanced NXT Firmware by John Hansen from brixcc.sourceforge.net
- Firmware Downloading Tool (NeXT Tool [GUI] or NeXTTool [CLI] from brixcc.sourceforge.net)
Building and testing NxOS requires a few software packages and libraries. Since most of the external utilities are written in Python, you will need a working installation of Python (www.python.org). Python 2.6.x or 2.7 (not 3.x) is recommended, especially for the Mac OSX platform if remote debugging using GDB is desired.
- LEGO Mindstorms Fantom Drivers
- Python >= 2.6 (not 3.x)
- scons
- Python Imaging Library (PIL)
- pyfantom
- nxt-python >= 2.1.0
For MacOS X (>= 10.5.x) users, don't forget to install the Lego driver Leopard update from the Lego software updates page, or you won't be able to communicate with the brick via USB.
- Python >= 2.4 (not 3.x)
- scons
- Python Imaging Library (PIL)
- libusb
- python-pyusb
- PyBluez (if you want to upload/boot from the enhanced fw using bluetooth)
- nxt-python >= 2.1.0
- nxos: NxOS Project Main Directory (see nxos/README for more details)
- nxt_python: NXT_Python code, obsoleted by NXT-Python (http://code.google.com/p/nxt-python/)
- pynxt: Firmware Downloading code, unmaintained
- remote_gdb_reference: Various GDB Stub reference source code materials
- scripts: Miscellaneous cross-compiler toolchain utilities
- usb_console: Low Level USB Console, unmaintained