/nxos-armdebug

An embedded operating system toolkit for the Lego Mindstorms NXT

Primary LanguageC

NxOS - an open source alternative operating system for the Lego Mindstorms NXT

Directory Structure:

  • nxos: NxOS Project Main Directory (see nxos/README for more details)
  • pynxt: Firmware Downloading code, unmaintained
  • remote_gdb_reference: Various GDB Stub reference source code materials
  • scripts: Miscellaneous cross-compiler toolchain utilities, include Docker Cross-build Image recipe.
  • usb_console: Low Level USB Console, unmaintained
  • build_instr: Lego Digital Designer files for 9797 Educational Set Tribot Robot
  • guides: Detailed installation instructions for nxos-armdebug

Dependencies

py-gobject3 is usually a dependency of Gnome-based apps such as GIMP. It is easiest to just install
gimp via MacPorts which will satisfy the X11 and py-gobject3 dependencies.

Getting Started

The build process uses Docker Cross-Compilation Image to simplify the tool setup. See Eclipse-Docker Setup for more details.

NxOS Package is now Makefile compatible

The top level build command now uses Make. Consequently no additional build tools need to be installed on the Host PC. It will call scons internally when building using the Docker Cross-compilation Image.

Cross-GDB on Host needed

In order to debug NxOS programs using the IDE, a Cross-GDB debugger is needed on the Host. On MacOS, this can be obtained via Macports as either arm-none-eabi-gdb, or else ggdb +multarch

Note: On M1 Macs, there is currently no working ARM-native GDB client (Mar 2022). You will need to install an x86-based GDB client instead.

See Eclipse-Docker Setup for more details.

Python3 and Docker Build required

NxOS Host-based tools now require Python3 to run due to the NXT-Python 3.x.x dependency. However, since the scons configuration files (SConstruct) depend on some Python2 semantics, the build has to be executed using Python2 to invoke scons. This is achieved using a Docker Image containing all the cross-compilation and build tools.

The nxos-armdebug cross-build image recipe (Dockerfile) can be found in the scripts directory.

Note: nxtfilemgr has been updated from nxt_filer (NXT-Python 3.x.x), with minor bug fixes.