Files
openocd/tcl/target
Marek Kraus c986b4dbf2 tcl/target: add Bouffalo Lab BL602 and BL702L chip series support
BL602, BL702 and BL702L series of chips are sharing same architecture,
so they all need same software reset mechanism as well.
Only difference (in terms of configuration needed for JTAG) are TAP ID,
workarea address and size. This is addressed by creating bl602_common.cfg
tcl file, which contains all those common stuff between the chips.
The script is prefixed by bl602, as this was
first *publicly* available chip from Bouffalo with this architecture.

This patch also improves reset mechanism. Previous reset mechanism did not
worked properly when slower JTAG adapter was used (it attached too late).
New reset mechanism uses various methods to keep CPU in BootROM, until
the JTAG adapter does not attach again after reset. Additionally,
we trigger SW Reset by directly using DMI commands to write to register
with system bus method, to avoid getting error about unsuccessful write.
The new method works on both FT232H (8MHz JTAG clock) and
unnamed CMSIS-DAP dongle (1.5MHz JTAG clock).

Change-Id: I5be3694927793fd3f64c9ed4ee6ded2db0d25cae
Signed-off-by: Marek Kraus <gamelaster@outlook.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8593
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2025-03-01 15:11:33 +00:00
..
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2023-01-15 15:10:42 +00:00
2023-01-15 15:10:42 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-05-27 22:48:36 +00:00
2022-03-12 09:46:30 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:52:18 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00
2022-06-24 21:53:35 +00:00

# SPDX-License-Identifier: GPL-2.0-or-later

Prerequisites:
The users of OpenOCD as well as computer programs interacting with OpenOCD are expecting that certain commands
do the same thing across all the targets.

Rules to follow when writing scripts:

1. The configuration script should be defined such as , for example, the following sequences are working:
	reset
	flash info <bank>
and
	reset
	flash erase_address <start> <len>
and
	reset init
	load

In most cases this can be accomplished by specifying the default startup mode as reset_init (target command
in the configuration file).

2. If the target is correctly configured, flash must be writable without any other helper commands. It is
assumed that all write-protect mechanisms should be disabled.

3. The configuration scripts should be defined such as the binary that was written to flash verifies
(turn off remapping, checksums, etc...)

flash write_image [file] <parameters>
verify_image [file] <parameters>

4. adapter speed sets the maximum speed (or alternatively RCLK). If invoked
multiple times only the last setting is used.

interface/xxx.cfg files are always executed *before* target/xxx.cfg
files, so any adapter speed in interface/xxx.cfg will be overridden by
target/xxx.cfg. adapter speed in interface/xxx.cfg would then, effectively,
set the default JTAG speed.

Note that a target/xxx.cfg file can invoke another target/yyy.cfg file,
so one can create target subtype configurations where e.g. only
amount of DRAM, oscillator speeds differ and having a single
config file for the default/common settings.