[SOLVED] STM32H750 - Writing DTCM

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] STM32H750 - Writing DTCM

    Hello,

    I am using J-Flash V6.60f to flash a STM32H750VB with a given .hex file (with no access to source code / project).

    When I try to Program/Verify, I get following error message (complete message after signature):
    ...
    ERROR: Selected Data (0x20000000 - 0x20001AAB) does not fit into selected flash sectors.
    - ERROR: Could not execute task.
    ...

    My .hex file indeed includes adresses from 0x20000000 to 0x20001AAB and it also seems that this RAM sector is not declared (so error message seems to be consistent).

    I could delete this range (since for the moment it's filled with 0) but that would be a dirty workaround.


    Is there a way to add this sector to the project/processor parameter?


    Thanks forward for your help.

    Kind regards,


    Sébastien

    ---------------------------------


    Programming and verifying target (112740 bytes, 4 ranges) ...
    - Connecting ...
    - Connecting via USB to J-Link device 0
    - J-Link firmware: J-Link ARM / Flasher ARM V4 compiled Jan 6 2020 11:24:13
    - Device "STM32H750VB" selected.
    - Target interface speed: 4000 kHz (Fixed)
    - VTarget = 3.354V
    - TotalIRLen = 9, IRPrint = 0x0011
    - JTAG chain detection found 2 devices:
    - #0 Id: 0x6BA00477, IRLen: 04, CoreSight JTAG-DP
    - #1 Id: 0x06450041, IRLen: 05, Unknown device
    - TotalIRLen = 9, IRPrint = 0x0011
    - JTAG chain detection found 2 devices:
    - #0 Id: 0x6BA00477, IRLen: 04, CoreSight JTAG-DP
    - #1 Id: 0x06450041, IRLen: 05, Unknown device
    - Scanning AP map to find all available APs
    - AP[3]: Stopped AP scan as end of AP map has been reached
    - AP[0]: AHB-AP (IDR: 0x84770001)
    - AP[1]: AHB-AP (IDR: 0x84770001)
    - AP[2]: APB-AP (IDR: 0x54770002)
    - Iterating through AP map to find AHB-AP to use
    - AP[0]: Core found
    - AP[0]: AHB-AP ROM base: 0xE00FE000
    - CPUID register: 0x411FC271. Implementer code: 0x41 (ARM)
    - Found Cortex-M7 r1p1, Little endian.
    - FPUnit: 8 code (BP) slots and 0 literal slots
    - CoreSight components:
    - ROMTbl[0] @ E00FE000
    - ROMTbl[0][0]: E00FF000, CID: B105100D, PID: 000BB4C7 ROM Table
    - ROMTbl[1] @ E00FF000
    - ROMTbl[1][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
    - ROMTbl[1][1]: E0001000, CID: B105E00D, PID: 000BB002 DWT
    - ROMTbl[1][2]: E0002000, CID: B105E00D, PID: 000BB00E FPB-M7
    - ROMTbl[1][3]: E0000000, CID: B105E00D, PID: 000BB001 ITM
    - ROMTbl[0][1]: E0041000, CID: B105900D, PID: 001BB975 ETM-M7
    - ROMTbl[0][2]: E0043000, CID: B105900D, PID: 004BB906 CTI
    - Cache: Separate I- and D-cache.


    - I-Cache L1: 16 KB, 256 Sets, 32 Bytes/Line, 2-Way
    - D-Cache L1: 16 KB, 128 Sets, 32 Bytes/Line, 4-Way
    - Executing init sequence ...
    - Executing Reset (0, 0 ms)
    - Reset: Halt core after reset via DEMCR.VC_CORERESET.
    - Reset: Reset device via AIRCR.SYSRESETREQ.
    - Initialized successfully
    - Target interface speed: 4000 kHz (Fixed)
    - CPU clock frequency: 64750 kHz (Auto detected)
    - J-Link found 2 JTAG devices. Core ID: 0x6BA00477 (None)
    - Connected successfully
    - Checking if selected data fits into selected flash sectors.
    - ERROR: Selected Data (0x20000000 - 0x20001AAB) does not fit into selected flash sectors.
    - ERROR: Could not execute task.
    - ERROR: Could not program and verify target
    Disconnecting ...
    - Disconnected
  • Hi,
    Thank you for your inquiry.

    I think there is a misunderstanding here.
    J-Flash is not able/supposed to program RAM.
    Also, what ever is written to the RAM, will be lost after reset anyway.

    It looks to me like you have a memory dump (.hex-file) and want to program the application in it to your target.
    The RAM data of the memory dump was written from the target application which is placed in the flash area.
    Therefore, it should not be necessary to program the RAM, since it will be written by the target application after programming said application to the flash.

    If this assumption is correct, then you can just delete the data from the RAM area of your .hex file, so it only contains the flash data and
    then you should be able to flash your device.

    Best regards,
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hi Sébastien,
    No worries. :)

    We will consider this thread as closed now.

    Best regards,
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.