The Nucleo-F103RB comes with an internal SWD programmer/debugger. Thus, the JTAG
pins are not going to be used for debugging / programming anyway. The pins are
exposed on the headers, so allowing them to be used as GPIOs make a lot of
sense.
The Bluepill / Blackpill boards only expose the SWD pins on the debug header,
but the JTAG pins (not also used by SWD) are exposed on the GPIO pin headers.
Hence, exposing them as regular GPIOs seems to be a reasonable choice.
This enables OpenOCD for the CC1312 LaunchPad.
All we need is:
- The Texas Instruments version of OpenOCD
(https://git.ti.com/cgit/sdo-emu/openocd)
- Set the `PROGRAMMER` environment variable to `openocd`.
- Connect a cc1312-launchpad and play with the commands.
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
This removes duplication for the jlink case (keeping only any
non-default values in the board makefiles), and opens up STK3700's
OpenOCD programmability for generic boards.
- including `avrdude.mk` and `serial.mk` is no longer needed
- the avrdude flag -F is dropped
- This allows flashing a board having an MCU different to the one
RIOT was compiled for
- It is better to let the user provide this flag manually if she/he really
wants to turn safety off, knows what she/he is doing, and accepts the
risk associated with this
- the avrdude flag -D is dropped
- This disables issuing an erase command during flashing, however this
erase cycle is strictly required to be able to program the flash
- This is only needed in case of the stk500v2 bootloader, which implicitly
does the erase cycle and fails if explicitly asked to do so
- Only for the stk500v2 bootloader this flag is now added
- Include `tools/avrdude.mk` and `tools/serial.mk` at the common place instead
for each ATmega based board individually
- Introduce the makefile variable BOOTLOADER to de-duplicate flash configs:
- Two boards using the same bootloader now just use `BOOTLOADER ?= foo`
and share the individual config
- These settings are not applied when `PROGRAMMER` is set to still allow
users to manually specify how to program their board
Instead of hard-coding the peripheral clocks to CLOCK_CORECLOCK
introduce helper functions to return the frequency of the individual
GCLKs and use those for baud-rate calculations.
This requires the GCLK to be part of the peripheral's config struct.
While this is already the case for most peripherals, this also adds
it for those where it wasn't used before.
As it defaults to 0 (CLOCK_CORECLOCK) no change is to be expected.
To simplify board definitions and for unification between samd2x and
newer models, don't use the GCLK bitmask in board definitions.
Instead use the GCLK index and generate the bitmask when needed.