Martin
d4dc3b2717
The USB CDC is no modem and does not use the AT protocol
...
Signed-off-by: Martin <Ho-Ro@users.noreply.github.com>
2021-01-29 14:47:28 +01:00
Alex Norman
42f590ce0b
fixing some memory map errors for stm32h7, PR #821
2020-12-23 20:10:39 +01:00
Uwe Bonnes
09c000eca8
hosted: Really handle setting tpwr on remote on the command line #817
...
Expect the command to fail, due to old firmware or remote not implementing
the power switch.
2020-12-19 16:36:09 +01:00
Sean Cross
2b06f045c4
target: kinetis: add S32K148
...
This adds support for the NXP S32K148. This is an automotive-grade part
that is derived from the Kinetis line, so it has a very similar
interface to other parts in the family.
Signed-off-by: Sean Cross <sean@xobs.io>
2020-12-16 12:49:23 +01:00
Sean Cross
5f76169b95
hosted: remove ftdi include when built with BMP_ONLY #811
...
Signed-off-by: Sean Cross <sean@xobs.io>
2020-12-16 11:30:42 +01:00
Uwe Bonnes
98c92a6d18
hosted: Really fix the case of no serial number ( #807 )
2020-12-13 14:12:05 +01:00
UweBonnes
aa0d8f4b5d
Merge pull request #783 from UweBonnes/frequency
...
Frequency
2020-12-12 19:50:53 +01:00
Noah Pendleton
020600aa56
target/lpc546xx: fix lpc546xx flash support ( #801 )
...
**Summary**
Modifications to fix flash support on the lpc546xx:
- fix IAP entrypoint to be `0x03000204`, not the value at that address
- add a reset and attach sequence before erasing flash sectors. there's
little documentation around this, but experimentally, erasing sector 0
fails when the ROM bootloader is mapped to it (on reset). stepping the
chip once and attaching is enough to snap the chip out of it, permitting
flash erase on sector 0.
- add a few test commands to the lpc546xx table (read_uid, erase/write
sector, etc).
- write the magic CRC value when writing to sector 0
(`lpc_flash_write_magic_vect`).
- move the lpc546xx probe to before the lpc43xx probe, to prevent
getting the lpc546xx into Lockup when reading an illegal memory location
during lpc43xx probing
Fixes #786 .
I don't 100% understand the reset/load sequence of this part, but these
changes are sufficient to program and debug the part now.
I didn't do a detailed analysis of what pyocd (via st-link hardware
adapter) and segger jlink do to handle the same, but both of those
worked without modification, so there's some difference in the
sequence they're using.
**Testing**
Verified I can now successfully erase and write an executable in sector
0 (and other sectors).
Verified the new commands work correctly.
2020-12-12 19:48:05 +01:00
Uwe Bonnes
6dbb5ff7ee
Frequency: Implementing for jlink.
...
SWD frequency is fixed for jlink according to the docs from 2010.
2020-12-12 18:33:09 +01:00
Uwe Bonnes
fdc654cfb3
stlink: Implementation of frequency setting.
2020-12-12 18:33:09 +01:00
Uwe Bonnes
de26ba6f73
hosted: Add is_jtag to the info structure
...
Needed for different frequency setting procedures on some platforms.
2020-12-12 18:33:09 +01:00
Uwe Bonnes
28a966a3e6
frequency: Implement for ftdi.
...
For all 2232H types, use undivided 60 Mhz.
FIXME: Check FT2322C/D for unsymetric clock at 6 MHz!
2020-12-12 18:33:09 +01:00
Uwe Bonnes
13e8a262e4
SWJ Frequency: Implement for cmsis-dap
2020-12-12 18:33:09 +01:00
Uwe Bonnes
1ca9f234f7
Infrastructure for setting maximum SWJ frequency.
...
Implement for BMP/firmware on STM32.
2020-12-12 18:33:09 +01:00
Uwe Bonnes
7365a44989
hosted: Implement SWJ test mode (-T).
...
Continious read/write-back some core register as NOP operation to allow scope
measurement of SWJ timing.
2020-12-12 18:33:09 +01:00
Uwe Bonnes
f796b774bd
hosted: Fix info.serial if USB device has no serial number #807
2020-12-12 18:32:15 +01:00
Aaron Lindsay
518529a772
Support GD32E23x
2020-12-12 18:29:30 +01:00
Uwe Bonnes
14498decd9
HOSTED_BMP_ONLY/linux: Fix case when no serial device is connected #806
2020-12-12 15:06:26 +01:00
Noah Pendleton
93d4c65948
Fix building with newer GNU make( #804 )
...
More recent versions of GNU make remove the `-` prefix from
`$(MAKEFLAGS)`, which breaks the build:
```bash
# output truncated to interesting parts
> make -C src --trace all_platforms
set -e ;\
mkdir -p artifacts/v1.7.1-91-g98b4ec5 ;\
echo "<html><body><ul>" > artifacts/index.html ;\
for i in platforms/*/Makefile.inc ; do \
...\
make w --trace --no-print-directory clean ;\
make w --trace --no-print-directory;\
...\
done ;\
echo "</ul></body></html>" >> artifacts/index.html ;\
cp artifacts/*.bin artifacts/v1.7.1-91-g98b4ec5
Building for hardware platform: f4discovery
make[1]: *** No rule to make target 'w'. Stop.
```
Per the
[documentation](https://www.gnu.org/software/make/manual/html_node/Options_002fRecursion.html ),
there's no need to manually apply insert `$(MAKEFLAGS)`, it should be
automatically included when using `$(MAKE)` when recursing.
I tested on my machine (make 4.2.1) and a docker image based on
ubuntu:trusty (make 3.81), both behaved the same (directories were not
printed when recursing by default);
2020-12-12 14:39:52 +01:00
Stoyan Shopov
b5172cf6df
Implement the 'find_debuggers()' function for hosted BMP on windows.
2020-12-11 18:36:48 +01:00
Stoyan Shopov
01f8628aed
Bugfix in detecting BMP probes by usb serial number.
2020-12-11 18:36:48 +01:00
Stoyan Shopov
170fe0c368
Remove spurious comment.
2020-12-11 18:36:16 +01:00
Uwe Bonnes
4c5ce0b16a
Hosted: Handle devices w/o serial number, e.g. GigaDevices GD-Link ARM/CMSIS-DAP
2020-12-11 18:36:16 +01:00
Uwe Bonnes
0f1fe9e438
hosted/linux: Find BMP devices without libusb.
2020-12-11 18:36:09 +01:00
Uwe Bonnes
bd5f4c6ed5
hosted: Consolidate ident output.
2020-12-11 17:55:31 +01:00
Uwe Bonnes
0870b778c0
hosted: Allow to build without libusb, libftdi and hidapi with HOSTED_BMP_ONLY=1
2020-12-11 17:50:16 +01:00
Uwe Bonnes
32db38ecf2
hosted/libusb: Move platform.c libusb related functions to own file.
2020-12-11 17:35:43 +01:00
Uwe Bonnes
41788f923b
ftdi/stlink/jlink: Provide dummy functions in the HOSTED_BMP_ONLY case
...
Do not allow multiple inclusion by not declaring the functions as static to
help keep code clean.
2020-12-11 17:31:25 +01:00
Uwe Bonnes
98b4ec58bc
Update to recent libopencm3 to undo unwanted change.
2020-12-07 21:51:22 +01:00
Emilio Lopes
633c6a2e81
Recognize "J-Trace Cortex-M PRO V2" in hosted mode
2020-12-07 11:52:33 +01:00
Uwe Bonnes
17dfec3572
dfu/cdcacm: Consolidate usage of ST vs BMP serial number.
2020-12-06 15:18:08 +01:00
Uwe Bonnes
5c7e0eedb0
command.c: Consolidate "mon version" output
2020-12-06 15:18:08 +01:00
Uwe Bonnes
07c3699225
version.h: Remove from platform.h files
...
- Consolidate ident string generation
- Recompile only needed files
2020-12-06 15:18:08 +01:00
Uwe Bonnes
dd6aadc54d
jtag: Add verbosity about devices found.
2020-12-06 15:18:08 +01:00
Uwe Bonnes
0a7bfd5923
dfu_f4: Fix sector_erase.
2020-12-06 15:18:08 +01:00
Stoyan Shopov
e318f884bf
Change the type of 'cortexm_wait_timeout' to unsigned.
...
It makes sense that the timeout value is unsigned, it also
resolves build errors on some platforms.
2020-12-04 11:44:50 +01:00
Stoyan Shopov
c9a419e44b
Correct loss of sync protocol error #787
2020-12-04 11:33:23 +01:00
mean
e3fd12ebc6
gd32f1/f3 detection and ram/flash autoset
2020-12-03 11:16:47 +01:00
Jonathan Giles
575c25e570
Add support for STM32F1 clone with new AP_DESIGNER id
2020-12-01 10:23:16 +01:00
Uwe Bonnes
48a79ff9da
adiv5: More checks for a sensible DPIDR.
2020-11-29 21:11:11 +01:00
Uwe Bonnes
752bc26536
adiv5: Fix memleak with duplicated base.
2020-11-29 21:11:11 +01:00
Uwe Bonnes
acec489647
adiv5_jtagdp: Always set idcode.
2020-11-29 21:11:11 +01:00
Uwe Bonnes
9e1b7fdac0
jlink/swd_low_access: Fix data direction during response read phase.
2020-11-29 15:48:50 +01:00
Uwe Bonnes
8903026c14
jlink/swd: swd frequency is fixed, not need to set.
2020-11-29 15:48:50 +01:00
Uwe Bonnes
f45c56af83
adiv5/swdp: Check early for valid DP idcode.
2020-11-29 15:48:50 +01:00
Uwe Bonnes
3b6432912d
jlink: Catch another error with no target connected.
2020-11-29 15:48:50 +01:00
Uwe Bonnes
7df314e265
Firmware/Jlink: Fix double free when debug power-up fails ( #780 )
2020-11-29 15:48:50 +01:00
Uwe Bonnes
e1329499de
platform_adiv5_swdp_scan: Do not double free with early errors.
...
adiv5_dp_init() clean up itself if errors happen
2020-11-29 15:48:50 +01:00
Uwe Bonnes
bf548e92c0
swd: After write low_access, always append 8 clk to move data through SW-DP.
...
Especially needed when leaving the debugger or during debug unit power-up.
ARM Debug Interface Architecture Specification ADIv5.0 to ADIv5.2
tells to clock the data through SW-DP to either :
- immediate start a new transaction
- continue to drive idle cycles
- or clock at least 8 idle cycles
Implement last option to favour correctness over slight speed decrease
Implement only for adapters where we assemble the seq_out_parity in our code,
as on firmware, ftdi and jlink. Hopefully the high level adapters do it right.
Reverts 2c33cde63f
and
cde7726b87
2020-11-27 22:26:48 +01:00
Uwe Bonnes
139e5d7e22
f4discovery: Compile time option to compile with ST bootloader
...
Just to keep things active. Prepare for F72 bootloader.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
636bcee355
stlink/swlink: Remove the DFU upgrade utility.
...
Hopefully no old bootloaders are around. If otherwise, revert to last
commit before this and update the DFU bootloader.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
27ef4569ca
stm32/dfucore.c: Use libopencm3 provided defines and functions.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
9d55128ab8
cl_utils: Get voltage only once.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
e6823f39de
Hosted: Print version with "-h" and "-t" option.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
3ee31473c6
cortexm.c: LPC15xx has designer 43b and Partno 4c3
...
Thanks to JojoS!
2020-11-27 22:26:48 +01:00
Uwe Bonnes
62d9f60f03
hosted/firmware: Waits for read response as long as cortexm_wait_timeout.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
26a23dd1cb
stlinkv2: Try harder to open an AP.
...
Problem seen on STM32L0 with probably long sleep periods.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
19e1fddba2
adiv5: Remove unnescessary read.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
cda83d3084
Fix memleaks.
...
Happened e.g. when Stlink could not enter debug or when cortexm_prepare timed out.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
9ac5adfcef
adiv5: Additional decoding.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
d78d7838d3
stm32f1: Always read DBGMCU_IDCODE for t->idcode ( #770 )
...
At least STM32F042 has 0x440 as romtable partno vs 0x445 as DBGMCU_IDCODE.
Thanks to Andrey Melnikov(aam335) for pointing out!
2020-11-27 22:26:48 +01:00
Uwe Bonnes
653d486ee2
cortexm: Store CPUID in target structure.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
824a1d8abc
hosted/find_debuggers: Do not check hubs. Print class of devices unable to open.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
e68dd25813
cl_utils: Clarify -d option is BMP/firmware only and deprecate -d.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
f71e18948a
GPIO for SWD: Slow down edges on more platforms.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
80154c5c7a
adiv5_swdp: Fix more memory leak.
2020-11-27 22:26:48 +01:00
Noah Pendleton
35bcb4f7c6
Switch on the lpc546xx target
...
Enable the lpc546xx target. Tested on the LPCXpresso54628 dev board,
able to flash and debug.
2020-11-24 21:32:39 +01:00
Sean Cross
e9c02296f2
target: kinetis: add S32K118
...
This adds support for the NXP S32K118. This is an automotive-grade part
that is derived from the Kinetis line, so it has a very similar
interface to other parts in the family.
Signed-off-by: Sean Cross <sean@xobs.io>
2020-11-14 13:06:23 +01:00
jbuonagurio
f18be6ef7a
Add support for Kinetis K12 and placeholders for other K-series MCUs
2020-11-07 12:44:05 +01:00
Uwe Bonnes
2c33cde63f
cortexm.c/cortexm_halt_resume: Add some clock cycles to always get CPU going ( #768 )
2020-11-01 21:53:23 +01:00
Uwe Bonnes
d75f3124b9
ftdi_bmp.c: Reapply fix from #715 : Check for libftdi 1.5
2020-11-01 12:09:27 +01:00
Stoyan Shopov
99142d1c0e
Add documentation details for building PC-hosted BMP in msys2.
2020-11-01 11:33:54 +01:00
Uwe Bonnes
1f7a716710
adiv5.c: Run cortexm_prepare on all suspected CortexM instances.
...
Gets all debug units of the second CPU of a STM32H745 visible.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
18673d9a56
adiv5: Rework DP/AP refcounting.
...
ASAN non longer reports leaks with the STM32H745.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
f76a7c4e92
adiv5: Release devices after scan.
...
Before, scanning only kept device stopped until POR or attach/detach cycle.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
73e6b540b2
command: When debug channel is available, print morse messages readable.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
776861c6a0
Makefile: Fix version.h generation for make all_platforms
...
Same fix as 0ae65cc10f
.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
80ddafc2f8
Jtag/High Level : Transfer dp->dp_jd_index with every HL command.
...
- Add REMOTE_HL_VERSION, now at 1. Fall back to hosted/low-level
when wrong version is found and give hint to user.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
59dc1b7eb4
cortex-m7: Give hint about buggy core revision.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
976c763747
jtag remote: Start fixing handling M0 (second jtag) for LPC4322 in high-level
...
- LPC11: Only print none-null unknown idcodes.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
0995fe1288
cmsis-dap: Various fixes
...
- decrease report size to 64, otherwise MIMRXT10x0-EVK crashed when
reading larger memory block
- dp_read_reg acts direct, fixing CortexM core register read.
- length of data to write with read_block.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
f15b1d7763
cl_utils: Clip opt_flash_start only when not set.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
c161521c26
cortexm: Designer ARM must be in the default path when probing.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
cdd07544d5
Cortexm: Allow pure debug on devices not yet handled for flashing
...
- Recognize STM32L552 and MIMXRT10XX
- Fix another PIDR
- Fix bad debug print string.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
3270138ec2
Revert 69e577c9243ce027b628e96881ce2416213fef43
...
What was thought to be a typo is apsel = 0xff for a dp access.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
77c4f9d702
stlink: Rework README.md
...
- Document flashing BMP Firmware and reverting to ST firmware
- Consistant nameing
2020-10-19 14:13:29 +02:00
Uwe Bonnes
9cd3193a89
bmp_remote.c: Fix bug introduced with 8b929c12c9
.
2020-10-17 12:49:37 +02:00
Uwe Bonnes
0ffb4f7b18
cortexm: Fix protected SAM detection
...
- Only run cortex_prepare() if reading cidr fails
- With Atmel DSU detected, run cortexm_probe()
2020-10-17 12:49:37 +02:00
Uwe Bonnes
5bc743d221
samd: Propagate security after setting security by chip reset.
2020-10-17 12:49:37 +02:00
Uwe Bonnes
8b929c12c9
hosted/jtag: Transfer jtag_devs to firmware.
2020-10-16 20:03:03 +02:00
Uwe Bonnes
3d92b82678
jtag: Use index and not device structure for jtag_dev_write_ir and jtag_dev_shift_dr
2020-10-16 20:03:03 +02:00
Uwe Bonnes
6e2a074064
bmp_remote: Deny high level JTAG for now.
...
jtag_devs and jtag_dev_count needs to be known on th firmware side
and remote_dp->dev needs to be filled with jtag_dev_t.
2020-10-16 20:03:03 +02:00
Uwe Bonnes
0f5fb6b9a0
remote: Initialise dp_read and low_access with SWD_INIT.
...
Before "mon s" after "mon j" failed.
2020-10-16 20:03:03 +02:00
Uwe Bonnes
752d14ca3e
remote.c: Add comments.
2020-10-16 20:03:03 +02:00
Uwe Bonnes
ba26adce53
remote.h: Remove typo.
2020-10-16 20:03:03 +02:00
Uwe Bonnes
7ccf0d3e03
jtag_dev_t: Make dev, idcode and desc less generic.
...
No codechange intended.
2020-10-16 20:03:03 +02:00
Uwe Bonnes
87b546777a
nrf51: Be more verbose about the protection status.
2020-10-16 12:16:33 +02:00
Richard Meadows
4108b649c2
stm32h7: Add support for new product lines
...
Add support for:
* STM32H7B3/B0/A3 (RM0455)
* STM32H723/33/25/35/30 (RM0468)
Successfully tested with:
* STM32H7A3ZIT (RM0455)
* STM32H747XIH (check for regressions)
2020-10-10 22:09:34 +02:00
UweBonnes
817c62d7fd
Merge pull request #507 from UweBonnes/cortexm_romtable
...
Cortexm romtable
2020-10-08 10:53:17 +02:00
Uwe Bonnes
877b4be8ee
cortexm: Restrict probing by using the ap_designer.
...
More designers need to be observed and reported by users and added.
Request users to send needed data.
2020-10-07 20:12:35 +02:00