Why Forth?

As I got back into Forth after about 35 years of other languages, programs and technical stuff, I’ve been asked, Why Forth?

The most personal reason is that I’ve had a life-long passion for the language and kept a bookshelf full of Forth books for over 40 years. However, once I began to use it again, I realized its perfect for embedded processors. I’m surprised how well it works with today’s microcontrollers. And how relatively easy it is to find a port of Forth for many popular microcontrollers. I still think its a good question to ask, so I start this blog with the question:

gdb Resources

All of the resources found related to gdb (particularly, related to the RP2040) and how to use it.

GNU gdb documentation#

gdb Tutorials#

Cheat Sheets#

Tools to enhance gdb#

AVR gdb#

AVR gdb Notes#

  1. Check the version number on avr-gdb as of December 2021, it is 11.1. On Ubuntu, the latest version is 8.1 from 2018 which had quite a few bugs. Attempted to build it manually (which failed), so I spun up a Manjaro (Arch Linux) instance to get the latest. Crazy, I know.
  2. Start avarice in a separate window using, then launch gdb in another window:
    avarice -g -w -d -P atmega328p :3333 	# window 1
    avr-gdb -tui							# window 2
  3. If avarice crashes on startup, cycle power on both the debugger (Dragon) and the target (Uno)

Pico (RP2040) gdb#

C: Developing in C on the RP2040

A set of entries which comprise a course for learning how develop C programs for the RP2040.

Entries#

  1. Developing in C on the RP2040: Read First
  2. Developing in C on the RP2040: Linux
  3. Developing in C on the RP2040: macOS
  4. Developing in C on the RP2040: Windows
  5. Developing in C on the RP2040: Using gdb - Setup
  6. Developing in C on the RP2040: Using gdb - Hints
  7. Developing in C on the RP2040: New Project
  8. Developing in C on the RP2040: Exploring Blink