Instead of OOCD_SERIAL triggering an attempt to use a specific ftdi based adapter, introduce common target/interface pairs, OOCD_INTERFACE and OOCD_TARGET, and an override via OOCD_FILE allowing full control. Further, attempt to connect to a running openocd instance to flash if possible. This _will not_ work well if you have multiple openocd instances open at once, but that's a rare use case. Examples: OOCD_INTERFACE=stlink-v2 OOCD_TARGET=stm32f0x --> openocd ... -f interface/stlink-v2.cfg -f target/stm32f0x.cfg) OOCD_FILE=board/ek-lm4f120xl.cfg --> openocd ... -f $(OOCD_FILE) (ie, the variable is passed untouched) As part of implementing this, correct variables that were always wrong, and update the openocd flashing commands to use current commands.
Examples in these directories are not only for the board listed, they are simply preconfigured for those boards. If you do not find an example of the peripheral you want to use listed for your board, please look at the other boards. The differences between boards for the examples is normally only LEDs and buttons on different pins, and different memory sizes.