[SOLVED] "Trace HW not present" on STM32H743

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

  • [SOLVED] "Trace HW not present" on STM32H743

    Hello all,

    I get "Trace HW not present" error on STM32H743 using J-Trace Debugger. With ST-Link V2 trace works correctly as expected. Trace with STM32F7 also worked fine for both Segger and ST-Link.
    Any ideas?
    - Marcus


    Keil µVision 5.22

    JLink info:
    ------------
    DLL: V6.14b, compiled Mar 9 2017 08:46:04
    Firmware: J-Trace Cortex-M Rev.3 compiled Dec 15 2016 14:46:47
    Hardware: V3.10
    S/N : 203200722
    Feature(s) : RDI, FlashBP, FlashDL, JFlash, GDB

    * JLink Info: Found SWD-DP with ID 0x6BA02477
    * JLink Info: AP-IDR: 0x84770001, Type: AHB-AP
    * JLink Info: AHB-AP ROM: 0xE00FE000 (Base addr. of first ROM table)
    * JLink Info: Found Cortex-M7 r1p1, Little endian.
    * JLink Info: FPUnit: 8 code (BP) slots and 0 literal slots
    * JLink Info: CoreSight components:
    * JLink Info: ROMTbl 0 @ E00FE000
    * JLink Info: ROMTbl 0 [0]: 00001000, CID: B105100D, PID: 000BB4C7 ROM Table
    * JLink Info: ROMTbl 1 @ E00FF000
    * JLink Info: ROMTbl 1 [0]: FFF0F000, CID: B105E00D, PID: 000BB00C SCS
    * JLink Info: ROMTbl 1 [1]: FFF02000, CID: B105E00D, PID: 000BB002 DWT
    * JLink Info: ROMTbl 1 [2]: FFF03000, CID: B105E00D, PID: 000BB00E FPB
    * JLink Info: ROMTbl 1 [3]: FFF01000, CID: B105E00D, PID: 000BB001 ITM
    * JLink Info: ROMTbl 0 [1]: FFF43000, CID: B105900D, PID: 001BB975 ETM-M7
    * JLink Info: ROMTbl 0 [2]: FFF45000, CID: B105900D, PID: 004BB906 ECT / CTI
    * JLink Info: Cache: Separate I- and D-cache.
    * JLink Info: I-Cache L1: 16 KB, 256 Sets, 32 Bytes/Line, 2-Way
    * JLink Info: D-Cache L1: 16 KB, 128 Sets, 32 Bytes/Line, 4-Way
    ROMTableAddr = 0xE00FE000

    Target info:
    ------------
    Device: STM32H743
    VTarget = 3.416V
    State of Pins:
    TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 0
    Hardware-Breakpoints: 8
    Software-Breakpoints: 8192
    Watchpoints: 4
    JTAG speed: 25000 kHz

    Erase Done.
    Programming Done.
    Verify OK.
    Application running ...
    Flash Load finished at 14:02:24
    Error: Target DLL has been cancelled. Debugger aborted !
  • Hello Marcus,

    thank you for your inquiry.

    I get "Trace HW not present" error on STM32H743 using J-Trace Debugger. With ST-Link V2 trace works correctly as expected. Trace with STM32F7 also worked fine for both Segger and ST-Link.

    What kind of trace are you using? ETB, SWO, ETM?
    I ask, because the ST- Link V2 only supports SWO and ETB trace.
    What are your KEIL Trace settings, could you show me a screenshot of your project setup?

    Regarding the STM32H743 device and ETM Trace we are already in contact with ST because we had some troubles getting streaming trace up and running on the evaluation boards they send out to us.
    So if your issue is related to the one we are experiencing internally, there is no fix known to us at the moment to enable ETM trace.
    Should you be using ETM trace, could you try to verify with an oscilloscope if the trace clock is being output on pin 12 of the trace debug header?
    If yes, is data being output on pins TD0-TD3 (pint 14-20) ?
    Should neither, or only the clock be outputted, there seems to be an issue with the GPIO setup of the trace pins, which your IDE should usually take care of.

    As soon as we have more information from ST regarding ETM trace on the STM32H743 an example project will be added to: wiki.segger.com/Main_Page#TRACE

    Best regards,
    Nino
    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 Nino,

    in the first step I wanted to use SWO, also because I did not want to risk slowing down the execution. Of course, I would also like (and probably have) to use ETM later on. Thanks for the hint at your wiki trace page. Attached please find the screenshot of the trace configuration.
    Kind regards
    Marcus


  • Hello Marcus,

    the Keil settings look correct on the first view.
    Are you using the same connector/interface for the ST-Link and J-Trace?
    I am asking, because on the H7 evaluation board the JTAG/SWD and trace connector have the SWO pin wired differently (even wrong on the trace connector side), also the interface pins are not wired correctly on the trace connector.
    So in the case of the evaluation board, using the classic JTAG/SWD connector should output SWO, but the trace connector will not.
    Could you check that on your hardware please? Here is a link how it would be wired correctly: segger.com/interface-description.html

    Best regards,
    Nino
    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.
  • Hello Marcus,

    The pin connection on our board should be correct.


    Yes, i double checked and the picture of your interface looks wired correctly.

    Today I tried Ozone and was quite impressed. It works nicely with our F767 (same board, only different µC) - and to my surprise, also with the H743.


    I am glad to hear that Ozone seems to help with your problem.
    But what exactly does work now on both chips? SWO or ETM trace or both?
    Are you using the .elf file from your custom project in Ozone or the trace example for the F767 from our Wiki?

    Best regards,
    Nino
    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 Nino,

    with Ozone I used the axf file. According to the Ozone setting I used:

    J-Link Settings:
    Traget Interface
    SWD: 5 MHz

    Trace configuration:
    - Trace Port
    - 4 Bit

    With this, I assume I used ETM. However, SWD sounds like I used SWO ... !?
    - Marcus
  • Hello Marcus,

    Trace configuration:
    - Trace Port
    - 4 Bit

    With this, I assume I used ETM. However, SWD sounds like I used SWO ... !?


    If "Trace Port" is selected you are definitely using ETM for tracing now with all available 4 data pins. SWO is just an optional feature of SWD.
    Here you are using SWD as your debug connection independent of trace.

    For more information about the trace analysis options that Ozone offers i recommend reading the following two guides, especially focusing on instruction trace:

    segger.com/ozone-trace-tutorial.html

    segger.com/jtrace-pro-cortex-m-setting-up-trace.html

    Keep in mind that some described features are only available on the J-Trace PRO (like streaming trace, code profiling and the web server).

    Best regards,
    Nino
    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.