Hacker News new | ask | show | jobs
by gwu78 3380 days ago
One of the things I like about this choice is one does not need an IDE, at least not with the 2.0. One can do non-graphical (systems) programming on an underpowered computer with no graphics.

I statically compile the loader. On BSD at least, no 3rd party libs are needed. Then all I need is avr-gcc. I can do everything from the command line. No closed source tools. No requisite graphics layer (e.g., Windows OS). No large interpreters (Python, etc.).

https://raw.githubusercontent.com/PaulStoffregen/teensy_load...

Can anyone recommend other boards where everything can be done like this, i.e., without needing closed sorce tools, graphics layer, or installation of interpreters and scripting libraries?

e.g.: http://home.hccnet.nl/anij/nof/noforth.html

2 comments

The AVR-based Arduinos (Really, I think most AVR-based boards, unless it has some really strange proprietary way of flashing).

The MSP430-based TI Launchpads.

The various ESP-something WLAN boards have open toolchains and programming over serial as well as far as I know.

I have about 2/3 of an 8080 emulator running CP/M for a MSP430 LaunchPad somewhere; because that MSP430 only has 2kB of RAM it has to swap to an external SRAM device. There's AT keyboard support (via an external level shifter).

I got it to the point of booting (very slowly) up to the command line prompt and processing basic commands, but unfortunately I never figured out how to make the screen work, so that's where the project stalled. The hardware's since been broken up and repurposed.

All in C and hand-written assembly tied together with a makefile, using tools that are in Debian. The standard flash tool (also in Debian) is really easy to use and even supports JTAG debugging over USB. (Also the MSP430 has a lovely assembly instruction set if you want to work with that sort of thing.)

Can't comment about AVR or ESP; never used them.

Any of the Cortex-M* series are also generally a good choice, for example the STM32* series. All of these are supported in mainline gcc, and have open source support libraries provided by the vendor or via libopencm3. Be a bit careful, as some vendors like to use proprietary licenses for their headers, but in most cases there is at least one open source alternative.

And of course the RISC-V HiFive1, though it's still very new and in sampling quantities.

And you can use OpenOCD to program/debug most ARM devices.