Patch openocd-0.10.0 for stm32h7 ================================ Go to url: http://openocd.zylin.com/#/c/4181/ http://openocd.zylin.com/#/c/4181/3/src/flash/nor/drivers.c (File Path link) cd openocd-0.10.0/src/flash/nor # >mv drivers.c drivers.c.org openocd-0.10.0/src/flash/nor # download drivers.c to openocd-0.10.0/src/flash/nor/drivers.c http://openocd.zylin.com/gitweb?p=openocd.git;hb=refs%2Fchanges%2F81%2F4181%2F3;f=src%2Fflash%2Fnor%2Fdrivers.c (gitweb link) http://openocd.zylin.com/gitweb?p=openocd.git;a=blob_plain;f=src/flash/nor/drivers.c;hb=refs/changes/81/4181/3 (raw link) store src_flash_nor_drivers.c to drivers.c download stm32h7x.c to openocd-0.10.0/src/flash/nor/stm32h7x.c http://openocd.zylin.com/#/c/4181/3/src/flash/nor/stm32h7x.c (File Path link) http://openocd.zylin.com/gitweb?p=openocd.git;hb=refs%2Fchanges%2F81%2F4181%2F3;f=src%2Fflash%2Fnor%2Fstm32h7x.c (gitweb link) http://openocd.zylin.com/gitweb?p=openocd.git;a=blob_plain;f=src/flash/nor/stm32h7x.c;hb=refs/changes/81/4181/3 (raw link) store src_flash_nor_stm32h7x.c to openocd-0.10.0/src/flash/nor/stm32h7x.c mv Makefile.am Makefile.am.org download Makefile.am to openocd-0.10.0/src/flash/nor/Makefile.am http://openocd.zylin.com/#/c/4181/3/src/flash/nor/Makefile.am (File Path link) http://openocd.zylin.com/gitweb?p=openocd.git;hb=refs%2Fchanges%2F81%2F4181%2F3;f=src%2Fflash%2Fnor%2FMakefile.am (gitweb link) http://openocd.zylin.com/gitweb?p=openocd.git;a=blob_plain;f=src/flash/nor/Makefile.am;hb=refs/changes/81/4181/3 (raw link) store Makefile.am to openocd-0.10.0/src/flash/nor/Makefile.am cd openocd-0.10.0/contrib/loaders/flash download stm32h7x.S to openocd-0.10.0/contrib/loaders/flash/stm32h7x.S http://openocd.zylin.com/#/c/4181/3/contrib/loaders/flash/stm32h7x.S (File Path link) http://openocd.zylin.com/gitweb?p=openocd.git;hb=refs%2Fchanges%2F81%2F4181%2F3;f=contrib%2Floaders%2Fflash%2Fstm32h7x.S (gitweb link) http://openocd.zylin.com/gitweb?p=openocd.git;a=blob_plain;f=contrib/loaders/flash/stm32h7x.S;hb=refs/changes/81/4181/3 (raw link) store stm32h7x.S to openocd-0.10.0/contrib/loaders/flash/stm32h7x.S cd openocd-0.10.0/doc/ >mv openocd.texi openocd.texi.org download openocd.texi to openocd-0.10.0/doc/openocd.texi http://openocd.zylin.com/#/c/4181/3/doc/openocd.texi (File Path link) http://openocd.zylin.com/gitweb?p=openocd.git;hb=refs%2Fchanges%2F81%2F4181%2F3;f=doc%2Fopenocd.texi (gitweb link) http://openocd.zylin.com/gitweb?p=openocd.git;a=blob_plain;f=doc/openocd.texi;hb=refs/changes/81/4181/3 (raw link) store doc_openocd.texi to openocd-0.10.0/doc/openocd.texi Go to url: http://openocd.zylin.com/#/c/4182/ cd openocd-0.10.0/tcl/board download st_nucleo_h743zi.cfg to openocd-0.10.0/tcl/board/st_nucleo_h743zi.cfg http://openocd.zylin.com/#/c/4182/3/tcl/board/st_nucleo_h743zi.cfg (File Path link) http://openocd.zylin.com/gitweb?p=openocd.git;hb=refs%2Fchanges%2F82%2F4182%2F3;f=tcl%2Fboard%2Fst_nucleo_h743zi.cfg (gitweb link) http://openocd.zylin.com/gitweb?p=openocd.git;a=blob_plain;f=tcl/board/st_nucleo_h743zi.cfg;hb=refs/changes/82/4182/3 (raw link) store st_nucleo_h743zi.cfg to openocd-0.10.0/tcl/board/st_nucleo_h743zi.cfg download stm32h7x3i_eval.cfg to openocd-0.10.0/tcl/board/stm32h7x3i_eval.cfg http://openocd.zylin.com/#/c/4182/3/tcl/board/stm32h7x3i_eval.cfg (File Path link) http://openocd.zylin.com/gitweb?p=openocd.git;hb=refs%2Fchanges%2F82%2F4182%2F3;f=tcl%2Fboard%2Fstm32h7x3i_eval.cfg (gitweb link) http://openocd.zylin.com/gitweb?p=openocd.git;a=blob_plain;f=tcl/board/stm32h7x3i_eval.cfg;hb=refs/changes/82/4182/3 (raw link) store stm32h7x3i_eval.cfg to openocd-0.10.0/tcl/board/stm32h7x3i_eval.cfg cd openocd-0.10.0/tcl/target download stm32h7x.cfg to openocd-0.10.0/tcl/target/stm32h7x.cfg http://openocd.zylin.com/#/c/4182/3/tcl/target/stm32h7x.cfg (File Path link) http://openocd.zylin.com/gitweb?p=openocd.git;hb=refs%2Fchanges%2F82%2F4182%2F3;f=tcl%2Ftarget%2Fstm32h7x.cfg (gitweb link) http://openocd.zylin.com/gitweb?p=openocd.git;a=blob_plain;f=tcl/target/stm32h7x.cfg;hb=refs/changes/82/4182/3 (raw link) store stm32h7x.cfg to openocd-0.10.0/tcl/target/stm32h7x.cfg download stm32h7x_dual_bank.cfg to openocd-0.10.0/tcl/target/stm32h7x_dual_bank.cfg http://openocd.zylin.com/#/c/4182/3/tcl/target/stm32h7x_dual_bank.cfg (File Path link) http://openocd.zylin.com/gitweb?p=openocd.git;hb=refs%2Fchanges%2F82%2F4182%2F3;f=tcl%2Ftarget%2Fstm32h7x_dual_bank.cfg (gitweb link) http://openocd.zylin.com/gitweb?p=openocd.git;a=blob_plain;f=tcl/target/stm32h7x_dual_bank.cfg;hb=refs/changes/82/4182/3 (raw link) store stm32h7x_dual_bank.cfg to openocd-0.10.0/tcl/target/stm32h7x_dual_bank.cfg now b4 compilation do the following steps: modify openocd-0.10.0/src/flash/nor/drivers.c delete or comment out line 31: extern struct flash_driver ath79_flash; delete or comment out line 51: extern struct flash_driver nrf5_flash; delete or comment out line 52: extern struct flash_driver nrf51_flash; delete or comment out line 86: &ath79_flash, in struct flash_driver delete or comment out line 106: &nrf5_flash, delete or comment out line 107: &nrf51_flash, modify openocd-0.10.0/src/flash/nor/Makefile.am delete or comment out line 18: ath79c delete or comment out line 39: nrf5.c cd openocd-0.10.0 run ./configure --help ./configure --enable-stlink --enable-jlink --enable-openjtag .... configure: creating ./config.status config.status: creating Makefile config.status: creating libjaylink/Makefile config.status: creating libjaylink/version.h config.status: creating libjaylink.pc config.status: creating Doxyfile config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands libjaylink configuration summary: - Package version ................ 0.1.0 - Library version ................ 0:0:0 - Installation prefix ............ /usr/local - Building on .................... x86_64-pc-linux-gnu - Building for ................... x86_64-pc-linux-gnu OpenOCD configuration summary -------------------------------------------------- MPSSE mode of FTDI based devices yes (auto) ST-Link JTAG Programmer yes TI ICDI JTAG Programmer yes (auto) Keil ULINK JTAG Programmer yes (auto) Altera USB-Blaster II Compatible yes (auto) Versaloon-Link JTAG Programmer yes (auto) OSBDM (JTAG only) Programmer yes (auto) eStick/opendous JTAG Programmer yes (auto) Andes JTAG Programmer yes (auto) USBProg JTAG Programmer yes (auto) Raisonance RLink JTAG Programmer yes (auto) Olimex ARM-JTAG-EW Programmer yes (auto) CMSIS-DAP Compliant Debugger no Altera USB-Blaster Compatible yes (auto) ASIX Presto Adapter yes (auto) OpenJTAG Adapter yes SEGGER J-Link Programmer yes >make Makefile:4252: warning: overriding recipe for target 'check-recursive' Makefile:3665: warning: ignoring old recipe for target 'check-recursive' cd . && /bin/sh ....openocd-0.10.0/missing automake-1.15 --gnu Makefile .... openocd-0.10.0/missing: Zeile 81: automake-1.15: Kommando nicht gefunden. WARNING: 'automake-1.15' is missing on your system. You should only need it if you modified 'Makefile.am' or 'configure.ac' or m4 files included by 'configure.ac'. The 'automake' program is part of the GNU Automake package: It also requires GNU Autoconf, GNU m4 and Perl in order to run: Makefile:1585: recipe for target 'Makefile.in' failed make: *** [Makefile.in] Error 127 OpenSuse 42.3 specific!!! ========================= Install automake-1.15 package get automake-1.15-72.1.noarch.rpm rpm -i --test automake-1.15-72.1.noarch.rpm warning: automake-1.15-72.1.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID b49c2121: NOKEY file /usr/bin/aclocal from install of automake-1.15-72.1.noarch conflicts with file from package automake-1.13.4-10.15.noarch ... zypper in ./automake-1.15-72.1.noarch.rpm run >aclocal and >automake >./configure --enable-stlink --enable-jlink --enable-openjtag make ... libtool: Version mismatch error. This is libtool 2.4.6, but the ... Install libtool 2.4.6 get libtool-2.4.6-lp150.1.39.x86_64.rpm >rpm -i --test libtool-2.4.6-lp150.1.39.x86_64.rpm error: Failed dependencies: libltdl7 = 2.4.6 is needed by libtool-2.4.6-lp150.1.39.x86_64 get libltdl7-2.4.6-lp150.1.39.x86_64.rpm >rpm -i --test libltdl7-2.4.6-lp150.1.39.x86_64.rpm file /usr/lib64/libltdl.so.7 from install of libltdl7-2.4.6-lp150.1.39.x86_64 conflicts with file from package libltdl7-2.4.2-22.1.x86_64 >zypper in ./libltdl7-2.4.6-lp150.1.39.x86_64.rpm ./libtool-2.4.6-lp150.1.39.x86_64.rpm run >aclocal and >automake >./configure --enable-stlink --enable-jlink --enable-openjtag >make libtool: link: gcc -std=gnu99 -Wall -Wstrict-prototypes -Wformat-security -Wshadow -Wextra -Wno-unused-parameter -Wbad-function-cast -Wcast-align -Wredundant-decls -Werror -g -O2 -o src/openocd src/main.o src/.libs/libopenocd.a -lusb -lftdi1 -lusb-1.0 -lm ./jimtcl/libjim.a -ldl make[2]: Leaving directory '.../openocd-0.10.0' make[1]: Leaving directory '.../openocd-0.10.0' >make install (as root) creates openocd in /usr/local/bin and config in /usr/local/share/openocd cd to your Project-Dir for STM32H743 create openocd.cfg File with this line: source [find /usr/local/share/openocd/scripts/board/stm32h7x3i_eval.cfg] Enjoy. Markus DL8MBY