Connecting J-Link to an ARM11

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

  • Connecting J-Link to an ARM11

    I'm trying to connect the J-Link through JFlashARM to an ARM1176. At this point I'm just trying to establish initial JTAG communication, but it does not appear to work.

    The JLinkARM.log produces the following output:
    T22B4 017:452 SEGGER J-Link V4.14i Log File (0001ms, 0000ms total)
    T22B4 017:452 DLL Compiled: Aug 12 2010 20:19:20 (0001ms, 0000ms total)
    T22B4 017:452 Logging started @ 2010-09-07 13:24 (0001ms, 0000ms total)
    T22B4 017:459 JLINK_SelectUSB(Port = 0) returns 0x00 (0010ms, 0001ms total)
    T22B4 017:469 JLINK_OpenEx(...)
    Firmware: J-Link ARM V8 compiled Aug 12 2010 19:35:38
    Hardware: V8.00
    S/N: 58001208 returns O.K. (0212ms, 0011ms total)
    T22B4 017:681 JLINK_TIF_Select(JLINKARM_TIF_JTAG) returns 0x00 (0000ms, 0223ms total)
    T22B4 017:683 JLINK_CORE_Select(201326591) (0037ms, 0223ms total)
    T22B4 017:731 JLINK_ConfigJTAG(IRPre = 0, DRPre = 0) (0000ms, 0261ms total)
    T22B4 017:731 JLINK_SetEndian(ARM_ENDIAN_LITTLE) returns 0x00 (0001ms, 0261ms total)
    T22B4 017:732 JLINK_GetFirmwareString(...) (0000ms, 0262ms total)
    T22B4 017:741 JLINK_SetSpeed(5) (0002ms, 0262ms total)
    T22B4 017:743 JLINK_GetSpeed() returns 0x05 (0000ms, 0264ms total)
    T22B4 017:761 JLINK_SetResetType(JLINKARM_RESET_TYPE_NORMAL) returns JLINKARM_RESET_TYPE_NORMAL (0000ms, 0264ms total)
    T22B4 017:761 JLINK_SetResetDelay(0) (0000ms, 0264ms total)
    T22B4 017:761 JLINK_ResetPullsRESET(ON) (0000ms, 0264ms total)
    T22B4 017:761 JLINK_Reset() >0x2F8 JTAG>TotalIRLen = 4, IRPrint = 0x01 >0x30 JTAG> >0x210 JTAG> >0xF8 JTAG> >0x90 JTAG>Identified core does not match configuration. (Found: Cortex-R4, Configured: ARM11) >0x30 JTAG> >0x98 JTAG> >0xB0 JTAG>ARM AP[0]: 0x24770001, AHB-AP >0xB0 JTAG>ARM AP[1]: 0x14770002, APB-AP >0xB0 JTAG>ARM AP[2]: 0x14760010, JTAG-AP >0xB0 JTAG> >0xE8 JTAG> >0x278 JTAG> >0x180 JTAG> >0x278 JTAG> >0x330 JTAG> >0x180 JTAG> >0x278 JTAG> >0x330 JTAG> >0x180 JTAG> >0x278 JTAG> >0x330 JTAG>
    >0x180 JTAG> >0x278 JTAG> >0x330 JTAG> >0x180 JTAG> >0x278 JTAG> >0x330 JTAG> >0x180 JTAG> >0x158 JTAG>1 code breakpoints, 1 data breakpoints >0x158 JTAG> >0x1F0 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x1F0 JTAG> >0x1F0 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG>
    >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG>
    ***** Error: Failed to halt CPUData endian: little >0x690 JTAG>Main ID register: 0x00000000 >0x690 JTAG>Cache Type register: 0x00000000 >0x690 JTAG>TCM Type register: 0x00000000 >0x690 JTAG>
    MPU Type register: 0x00000000 >0x690 JTAG>System control register: Instruction endian: little Level-1 instruction cache disabled Level-1 data cache disabled MPU disabled Branch prediction not supported >0x1728 JTAG> >0x1F0 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG>
    >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> >0x158 JTAG> (12605ms, 0264ms total)
    T22B4 030:367 JLINK_Close() (0268ms, 12869ms total)
    From the log it looks like the J-Link is not able to identify the ARM11, it claims that it sees a Cortex-R4 but I'm guessing that this is just the last device in the list?
    Any help would be greatly appreciated.
  • Hi Ossian,

    for checking the initial / basic communication of J-Link + device, J-Link commander should be used.
    What about J-Link commander? Is it able to detect the device correctly?


    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.
  • JLink commander output

    H Alex,

    The following is the output from JLink Commander:

    SEGGER J-Link Commander V4.14i ('?' for help)
    Compiled Aug 12 2010 20:19:35
    DLL version V4.14i, compiled Aug 12 2010 20:19:20
    Firmware: J-Link ARM V8 compiled Aug 12 2010 19:35:38
    Hardware: V8.00
    S/N : 58001208
    Info: TotalIRLen = 4, IRPrint = 0x01
    VTarget = 1.747V
    Info: ARM AP[0]: 0x24770001, AHB-AP
    Info: ARM AP[1]: 0x14770002, APB-AP
    Info: ARM AP[2]: 0x14760010, JTAG-AP
    Info: 1 code breakpoints, 1 data breakpoints
    Info: Data endian: little
    Info: Main ID register: 0x00000000
    Info: Cache Type register: 0x00000000
    Info: TCM Type register: 0x00000000
    Info: MPU Type register: 0x00000000
    Info: System control register:
    Info: Instruction endian: little
    Info: Level-1 instruction cache disabled
    Info: Level-1 data cache disabled
    Info: MPU disabled
    Info: Branch prediction not supported

    ****** Error: Failed to halt CPU
    No devices found on JTAG chain. Trying to find device on SWD.

    WARNING: No matching core found. Selecting default core (Cortex-M3).

    ****** Error: Parity error (Data = 0xFFFFFFFF, ReceivedParity = 1)

    No device found on SWD.
    Cortex-M3 identified.
    JTAG speed: 100 kHz
    It does not look like J-Link Commander is able to identify the device fully?

    Thanks,
    Ossian
  • More experimentation but still no luck

    Using a simple Default.JLinkScript with CPU=arm1176jfs;

    J-Link commander produces the following output:
    SEGGER J-Link Commander V4.14i ('?' for help)
    Compiled Aug 12 2010 20:19:35
    DLL version V4.14i, compiled Aug 12 2010 20:19:20
    Firmware: J-Link ARM V8 compiled Aug 12 2010 19:35:38
    Hardware: V8.00
    S/N : 58001208
    Info: TotalIRLen = 4, IRPrint = 0x01
    VTarget = 1.753V
    Found 1 JTAG device, Total IRLen = 5:
    ARM11 identified.
    JTAG speed: 100 kHz
    J-Link>
    Although it looks like J-Link Commander accepts the provided identification, I'm still not able to halt the cpu or query the registers?

    Calling halt (h) produces the following output:
    J-Link>h
    ****** Error: Can not read register 8 (CPSR) while CPU is running

    ****** Error: Can not read register 9 (R15 (PC)) while CPU is running
    PC: (R15) = 00000000, CPSR = 00000000 (Unknown mode, ARM)

    ****** Error: Can not read register 7 (R7) while CPU is running

    ****** Error: Can not read register 6 (R6) while CPU is running

    ****** Error: Can not read register 5 (R5) while CPU is running

    ****** Error: Can not read register 4 (R4) while CPU is running

    ****** Error: Can not read register 3 (R3) while CPU is running

    ****** Error: Can not read register 2 (R2) while CPU is running

    ****** Error: Can not read register 1 (R1) while CPU is running

    ****** Error: Can not read register 0 (R0) while CPU is running
    R0 = 00000000, R1 = 00000000, R2 = 00000000, R3 = 00000000
    R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000

    ****** Error: Can not read register 14 (R12_USR) while CPU is running

    ****** Error: Can not read register 13 (R11_USR) while CPU is running

    ****** Error: Can not read register 12 (R10_USR) while CPU is running

    ****** Error: Can not read register 11 (R9_USR) while CPU is running

    ****** Error: Can not read register 10 (R8_USR) while CPU is running
    USR: R8 =00000000, R9 =00000000, R10=00000000, R11 =00000000, R12 =00000000

    ****** Error: Can not read register 16 (R14_USR) while CPU is running

    ****** Error: Can not read register 15 (R13_USR) while CPU is running
    R13=00000000, R14=00000000

    ****** Error: Can not read register 22 (R12_FIQ) while CPU is running

    ****** Error: Can not read register 21 (R11_FIQ) while CPU is running

    ****** Error: Can not read register 20 (R10_FIQ) while CPU is running

    ****** Error: Can not read register 19 (R9_FIQ) while CPU is running

    ****** Error: Can not read register 18 (R8_FIQ) while CPU is running
    FIQ: R8 =00000000, R9 =00000000, R10=00000000, R11 =00000000, R12 =00000000

    ****** Error: Can not read register 17 (SPSR_FIQ) while CPU is running

    ****** Error: Can not read register 24 (R14_FIQ) while CPU is running

    ****** Error: Can not read register 23 (R13_FIQ) while CPU is running
    R13=00000000, R14=00000000, SPSR=00000000

    ****** Error: Can not read register 25 (SPSR_SVC) while CPU is running

    ****** Error: Can not read register 27 (R14_SVC) while CPU is running

    ****** Error: Can not read register 26 (R13_SVC) while CPU is running
    SVC: R13=00000000, R14=00000000, SPSR=00000000

    ****** Error: Can not read register 28 (SPSR_ABT) while CPU is running

    ****** Error: Can not read register 30 (R14_ABT) while CPU is running

    ****** Error: Can not read register 29 (R13_ABT) while CPU is running
    ABT: R13=00000000, R14=00000000, SPSR=00000000

    ****** Error: Can not read register 31 (SPSR_IRQ) while CPU is running

    ****** Error: Can not read register 33 (R14_IRQ) while CPU is running

    ****** Error: Can not read register 32 (R13_IRQ) while CPU is running
    IRQ: R13=00000000, R14=00000000, SPSR=00000000

    ****** Error: Can not read register 34 (SPSR_UND) while CPU is running

    ****** Error: Can not read register 36 (R14_UND) while CPU is running

    ****** Error: Can not read register 35 (R13_UND) while CPU is running
    UND: R13=00000000, R14=00000000, SPSR=00000000
    J-Link>
    Any ideas what might be the issue? Any advice for what types of commands I might try in the Default.JLinkScript to get things working?

    Thanks,
    Ossian