2020-08-12 11:10 PM
i'm using two boards for develop, at now.
One board is a nucleo-h743zi. and other board is using a STM32H743IIK processor.
It is the same program, and I wonder why it does not work on the Nucleo-board and on the STM32H743IIK board under development.
Nucleo-board can be debugged using openocd, and STM32H743IIK can be error when using openocd.
I wonder what caused it.
2020-08-13 03:26 AM
Did you notice the part number difference? 743ZI vs II? they have different package and maybe different register addresses.
2020-08-13 04:00 AM
Hi. prain. thanks' for yours reply answer.
Yes, thay are different packages.
STM32F743ZIT6U ( LQFP 144 )
STM32H743IIK (UFBGA176+25 )
I read the data sheets, but the addresses were all the same.
There are only differences in interface support types.
develop enviroment:
OS : UBUNTU 16.04
compiler : arm-none-eabi-7-2017
Board Clock : 240MHz ( both are supported up to 480MHz. )
2020-08-13 04:01 AM
STM32F743ZIT6U ( LQFP 144 ) : External Clock 8Mhz ( HSE)
STM32H743IIK (UFBGA176+25 ) : External 16MHz (HSE)
2020-08-13 05:46 AM
> Nucleo-board can be debugged using openocd, and STM32H743IIK can be error when using openocd.
Is there a typo here? What isn't working exactly? What is the exact error message you're getting? Can you program okay and only debugging doesn't work?
2020-08-13 05:52 PM
Hi. TDK
OpenOCD Log.
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1800 kHz
adapter_nsrst_delay: 10000
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Started by GNU MCU Eclipse
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 1800 kHz
Info : STLINK V2J33M25 (API v2) VID:PID 0483:374B
Info : Target voltage: 3.242216
Info : stm32h7x.cpu: hardware has 8 breakpoints, 4 watchpoints
Info : Listening on port 3333 for gdb connections
Info : accepting 'gdb' connection on tcp/3333
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0800049a msp: 0x2001fff8
Info : Device: STM32H7xx 2M
Info : flash size probed value 2048
Info : STM32H flash has dual banks. Bank (0) size is 1024kb, base address is 0x8000000
Info : Device: STM32H7xx 2M
Info : flash size probed value 2048
Info : STM32H flash has dual banks. Bank (1) size is 1024kb, base address is 0x8100000
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0800139c msp: 0x20020000
adapter speed: 4000 kHz
semihosting is enabled
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0800139c msp: 0x20020000, semihosting
adapter speed: 4000 kHz
Error: flash write algorithm aborted by target <================================
Info : error executing stm32h7x flash write algorithm<================================
Error: flash write failed, FLASH_SR = 00050000
Error: error writing to flash at address 0x08000000 at offset 0x00000000
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc, semihosting
Info : dropped 'gdb' connection
shutdown command invoked
but. STM32F743ZIT6U is normal and good.
stm32cube generated program is
The programs created by stm32cubemx operate well in both cpu.
Up_arch.h
# define getreg32(a) (*( volatile uint32_t *)(a))
# define putreg32(v,a) (*( volatile uint32_t *)(a) = (v))
....
putreg32(0XXXXX, STM32_RCC_CFGR);
....
putreg32 function call and exception genetated.
This is the first time I've ever seen it, so I don't know what caused it.
2020-08-13 07:04 PM
Don't know
Try with STM32 Cube Programmer
Check if new part is V-step part (ie 480 MHz capable one), might need different SMPS/LDO or VOS settings