If multiple debuggers are present when testing for JLinkExe version
a GUI will open to select the debugger to attach, so add -nogui
when testing for version as well.
In case of muticore CPU, openocd opens one debug port by core for gdb.
Thus add a GDB_PORT_CORE_OFFSET port offset to select the right port
for debugging.
Signed-off-by: Gilles DOFFE <gilles.doffe@savoirfairelinux.com>
As for debugr, boards like stm32mp157c-dk2 does not have flash memory.
The firmware could be flashed using the operating system (mainly Linux) or
the bootloader (mainly u-boot) of the dual architecture (cortex-A7 on
stm32mp157c-dk2). However in engineering mode (only cortex-M4), the
firmware has to be flashed using jtag once the board is powered up.
The flashr action do this using openocd only.
Signed-off-by: Gilles DOFFE <gilles.doffe@savoirfairelinux.com>
For multi-arch SoC like STM32MP1, the right target core has
to be selected to avoid debugging the wrong default cpu.
This is done using openocd command 'targets ${OPENOCD_CORE}'.
OPENOCD_CORE has to be set in board Makefile.include file.
In case it is not set, the command just display available targets, thus it
has no effect on already existing boards using openocd.
Signed-off-by: Gilles DOFFE <gilles.doffe@savoirfairelinux.com>
In case of STM32MP157c-dk2 board, there is no flash available. Thus,
the elf binary has to be flashed directly to SRAM before debugging.
To do so, the DBG_FLAGS variable has to be overrided to load the binary
using 'load' gdb command.
The START_ADDR variable is the entrypoint extracted from the elf binary
using objdump tool.
The do_debug function can now be used as usual.
Signed-off-by: Gilles DOFFE <gilles.doffe@savoirfairelinux.com>
The flashing script for the black magic probe stopped working with pygdbmi in
version 0.10.0 due to an API change. This adapts the code to first try
initialization with the old pygdbmi API (as before), but tries again with the
new API if that fails.
A number of scripts use features from bash such as `local` which are not
in the POSIX spec. This breaks on systems where sh is not symlinked to
bash.
This patch changes the interpreter indicated by the hashbang to bash for
those scripts
Since J-Link V6.74, a GUI is shown when flashing from the command line.
This steals the focus of the terminal. Adding `-nogui 1` solves the
issue, but raises the minimum supported version to V6.74 (released
around June 2020).
Note that JLinkGDBServer has a slightly different `-nogui` option.
According to the documentation [1], the options are case-insensitive.
Unify all options to use a single style (lower case was the easiest).
[1] https://wiki.segger.com/J-Link_Commander
This extends the component argument of the gen_manifest.py script with
an optional component name. As component names in the SUIT manifest
consist of an array of bytestrings, the commponent name in the argument
is also split. Each part of the name ends up as a separate part of the
component name in the manifest. Component names are split by colons to
match the separator used in the rest of the argument.
Using `gnrc_border_router` with `uhcp` is quite noisy.
uhcpc will regularly refresh the prefix and print a bunch of status messages.
Allow the user to tone it down by setting a higher `LOG_LEVEL`.
For this, convert calls to `printf()` and `puts()` to `LOG_xxx()`.
This requires a dummy header for `uhcpd`.