This is an automated email from Gerrit. Antonio Borneo ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/5907
-- gerrit commit 8da72edc69905f735e7db435ad6fcc5e4f0fe550 Author: Antonio Borneo <[email protected]> Date: Sat Oct 31 14:49:23 2020 +0100 drivers/jlink: fix check for max prescaler The value stored in TPIU ACPR is the prescaler value decremented by one. Thus, the test should verify that prescaler does not exceed the maximum ACPR value plus one. Also, zero value is not allowed for prescaler. Change-Id: I1817f04f2a310b2f413bad726f0cb9dd6a4172e2 Signed-off-by: Antonio Borneo <[email protected]> diff --git a/src/jtag/drivers/jlink.c b/src/jtag/drivers/jlink.c index ae8ce49..b915707 100644 --- a/src/jtag/drivers/jlink.c +++ b/src/jtag/drivers/jlink.c @@ -1270,7 +1270,7 @@ static bool calculate_swo_prescaler(unsigned int traceclkin_freq, uint32_t trace_freq, uint16_t *prescaler) { unsigned int presc = (traceclkin_freq + trace_freq / 2) / trace_freq; - if (presc > TPIU_ACPR_MAX_SWOSCALER) + if (presc == 0 || presc > TPIU_ACPR_MAX_SWOSCALER + 1) return false; /* Probe's UART speed must be within 3% of the TPIU's SWO baud rate. */ @@ -1296,7 +1296,7 @@ static bool detect_swo_freq_and_prescaler(struct jaylink_swo_speed speed, *trace_freq = speed.freq / divider; presc = ((1.0 - SWO_MAX_FREQ_DEV) * traceclkin_freq) / *trace_freq + 1; - if (presc > TPIU_ACPR_MAX_SWOSCALER) + if (presc > TPIU_ACPR_MAX_SWOSCALER + 1) break; deviation = fabs(1.0 - ((double)*trace_freq * presc / traceclkin_freq)); -- _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
