GDB server with multi-core architecture

  • GDB server with multi-core architecture

    Hi,

    for my next project I do have a dual-core processor. The JTag Interface is in daisy chain and both cores are ARM926EJ-S which should be recognized by the JLink. My problem now is that I do not know how to debug the processors using the GDB server. As far as I understood, the jtagconf command should solve this.
    Im using jtagconf 0 0 and jtagconf 4 1 as commands in my GDB file (ARM9 does have 4 as IRlen). Connecting to one processor seems to work but what I need is to be connected to both processors at the same time. For a previous project we've been using a ABATRON BDI2000 which supported this by having one port for each processor. Do I have the same possibilities here? Somehow?

    Edit:
    the ABATRON does have one IP Port for each processor to connect to (from Eclipse) and in the command shell interface you can select the core by using the select statement.

    Thx

    The post was edited 1 time, last by EmbDev ().

  • Hi "EmbDev",

    what you should work is starting multiple instances of the GDBServer, one per CPU.
    You will have to use 2 different init file with different jtagconf and remoteport commands.

    Does that solve it ?
    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.
  • remoteport commands

    Hi,
    I use LPC3400 on RaptorTC2 evaluation board from NXP with YAGARTO. LPC3400 has two cores one Cortex M4
    and one Cortex M0. There is only one JTAG/SWD interface. I tried to debug the cores as described above with one J-Link.
    (I started twice the J-Link GDB server and configured the JTAG-Chain) Here my initialization commands for Cortex M4:

    target remote localhost:2331

    monitor jtagconf 4 0

    monitor endian little

    monitor speed 1000

    monitor reset

    monitor sleep 100

    monitor speed auto

    monitor writeu32 0xE000ED08 = 0x20000000

    and Cortex M0:
    target remote localhost:2331

    monitor jtagconf 4 1

    monitor interface SWD

    monitor endian little

    monitor speed 1000

    monitor reset

    monitor sleep 100

    monitor speed auto

    monitor writeu32 0xE000ED08 = 0x20008000

    I start firs one J-Link GDB sever session and then the arm-none-eabi-gdb with the M4 Core Project.-> Debug works fine.

    Then I halt the M4 Core and start second session of the J-Link GDB sever with the M0 project.
    M0 debug doesn't work: ERROR: Can not reed register 0 (R0) while CPU is running.

    The problem shud be the remoteport command.
    How can I change that the port on which the J-Link GDB server is listening.
    When I only change the "target remote localhost:2331" command, only the port on which the GDB writes is changed and there ist no comunication to
    J-Link GDB server.

    regards,
    Stefan
  • Hi Stefan,

    The problem shud be the remoteport command.
    How can I change that the port on which the J-Link GDB server is listening.

    Simply start the GDB Server with the -port command line option:

    C Source Code

    1. jlinkgdbserver -port 2345



    Best regards
    Alex
    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.
  • GDB server with multi-core architecture and SWD

    Hi Alex,
    thank you for you answer.

    Now I have another problem. My Cortex M4 has JTAG and SWD interface and the Cortex M0 only SWD. What is necessary to do, so that the JLinkGDB server can find the both cores. Now the JLinkGDB server find only the M4 core (that works in JTAG and SWD mode). Are there another command like jtagconf but for SWD.

    regards,
    Stefan