Skip to main content
Yoichi Shinoda
Senior
Feb 9, 2020 8:53 AM UTC
Question

H7A3ZI returns incorrect DFU memory descriptor?

It seems that H7A3ZI on Nucleo-H7A3ZI-Q is returning incorrect memory descriptor:

@Internal Flash /0x08000000/256*02Kg,@Option Bytes /0x1FF8000/01*128 e,@OTP Memory /0x1FF7000/01*1024 e

Which tells there are only 256 of 2K (512KB); it should have 2MB, right?

STM32CubeProgrammer is probably also complaining:

17:47:13:733 : received memory address is wrong or unsupported
17:47:13:734 : Status: errVENDOR, State: dfuERROR
17:47:13:734 : failed to read the requested memory content
17:47:13:734 : Could not read flash size at address 0x8fff80c

Any info on this?

This topic has been closed for replies.

4 replies

Yoichi Shinoda
Senior
Feb 12, 2020 4:29 AM UTC

Since H7A3 is capable of erasing at 8KB sector unit, I believe the correct descriptor for the internal flash would be

@Internal Flash /0x08000000/256*08Kg

instead of

@Internal Flash /0x08000000/256*02Kg

Yoichi Shinoda
Senior
Feb 18, 2020 2:28 PM UTC

FYI, silicon revision for the problematic chip is 'Z'.

Yoichi Shinoda
Senior
May 12, 2020 6:19 PM UTC

Another piece of information regarding DFU device descriptor for H7A.

There is an example project for H7A which implements standalone DFU in STM32Cube_FW_H7_V1.6.0, and the descriptor used is partially correct as it uses 8KB page instead of 2KB page from the embedded boot loader.

STM32Cube_FW_H7_V1.6.0/Projects/NUCLEO-H7A3ZI-Q/Applications/USB_Device/DFU_Standalone/USB_Device/App/usbd_dfu_flash.c: line 66

#define FLASH_DESC_STR "@Internal Flash /0x08000000/6*8Ka,122*8Kg"

I'm wondering if newer silicon revision fixes this problem.

Tesla DeLorean
Guru
May 12, 2020 6:57 PM UTC

>>I'm wondering if newer silicon revision fixes this problem.

I seem to recall the system memory being flash/otp so flaws in the loader would be addressed in programming/testing phase.

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..