JLink on A9 dual core identifies one core only

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

  • JLink on A9 dual core identifies one core only

    Dear All,

    In our setup, we have the A9 Dual core IP programmed on an FPGA (it's not a real chip but other than working slower, it should be exactly the same).

    We managed to execute code which uses both code so we know that they are both functional however JLink recognizes only on core.

    I'm adding the JLink log at the end of this correspondence.

    Do you have a suggestion?

    Many Thanks!
    Hila


    C:\Program Files\SEGGER\JLinkARM_V480g>JLink.exe
    SEGGER J-Link Commander V4.80g ('?' for help)
    Compiled Feb 13 2014 20:50:11
    DLL version V4.80g, compiled Feb 13 2014 20:50:02
    Firmware: J-Link V9 compiled Jan 10 2014 19:51:25
    Hardware: V9.00
    S/N: 59104821
    Feature(s): GDB
    VTarget = 3.293V
    Info: TotalIRLen = 4, IRPrint = 0x01
    Info: ARM AP[0]: 0x44770001, AHB-AP
    Info: ARM AP[1]: 0x24770002, APB-AP
    Info: Found Cortex-A9 r4p1
    Info: 6 code breakpoints, 4 data breakpoints
    Info: Data endian: little
    Info: Main ID register: 0x414FC091
    Info: L1 (I-cache): 32 KB, 256 sets, LineSize 32 bytes, 4-way
    Info: L1 (D-cache): 32 KB, 256 sets, LineSize 32 bytes, 4-way
    Info: System control register:
    Info: Instruction endian: little
    Info: Level-1 instruction cache enabled
    Info: Level-1 data cache disabled
    Info: MMU disabled
    Info: Branch prediction enabled
    Found 1 JTAG device, Total IRLen = 4:
    #0 Id: 0x4BA00477, IRLen: 04, IRPrint: 0x1, CoreSight
    JTAG-DP (ARM)
    Cortex-A9 identified.
    Target interface speed: 100 kHz
    J-Link>
  • Hi Hila,

    in general, one instance of the J-Link DLL can only connect to one core at the same time.
    If you want to connect to both cores in parallel, you will need a second instance of the J-Link DLL (here J-Link Commander).

    If you want to connect to the second core, you will further need to tell J-Link how to connect to it.
    By default, it will connect to the first core found in the CoreSight info.
    In order to connect to the second core, you need to configure its base address of its debug registers etc. and tell J-Link to connect to it.
    This is usually done via a J-Link script file:

    JLink.exe -JLinkScriptFile C:\ConnectSecondCore.JLinkScript

    Sample script file attached.
    Needs to be adapted accordingly, for your device.


    Best regards
    Alex
    Files
    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.
  • Thanks Alex,

    Finally it worked (we had a hard time discovering the address of those debug registers in our design..).
    Is this supported by the JLink SDK? Is there a sample code of how to use the SDK for dual core interface? Our goal is to use one JLink to access both cores. We do not need to access them both at the same time but we would like to switch between cores in our test programs.

    Thanks in Advance,

    Hila