cancel
Showing results for 
Search instead for 
Did you mean: 

While programming with the JLink Ultra, it reports 2 device on the JTAG bus, I am using one STM32L471RGT6. Is this correct? Programming and running code mainly works but not always.

rwils.1
Associate III

Connecting to target...

J-Link found 2 JTAG devices, Total IRLen = 9

JTAG ID: 0x4BA00477 (Cortex-M4)

Connected to target

Waiting for GDB connection...Connected to 127.0.0.1

Reading all registers

Read 4 bytes @ address 0x080014B0 (Data = 0xF00369DB)

Reading 64 bytes @ address 0x20017F80

Received monitor command: WriteDP 0x2 0xF0

O.K.

Received monitor command: ReadAP 0x2

O.K.:0xE00FF003

Read 4 bytes @ address 0x20017FDC (Data = 0x41000000)

Reading 64 bytes @ address 0x20017FC0

Read 4 bytes @ address 0x080005F8 (Data = 0x2B00681B)

Reading 32 bytes @ address 0xE00FFFD0

Read 1 bytes @ address 0x200003BC (Data = 0x0D)

Connected to 127.0.0.1

Reading all registers

Read 4 bytes @ address 0x080014B0 (Data = 0xF00369DB)

Reading 64 bytes @ address 0x20017F80

Received monitor command: reset

Resetting target

Downloading 392 bytes @ address 0x08000000 - Verified OK

Downloading 16016 bytes @ address 0x08000190 - Verified OK

Downloading 15984 bytes @ address 0x08004020 - Verified OK

Downloading 9068 bytes @ address 0x08007E90 - Verified OK

Downloading 512 bytes @ address 0x0800A1FC - Verified OK

Downloading 8 bytes @ address 0x0800A3FC - Verified OK

Downloading 4 bytes @ address 0x0800A404 - Verified OK

Downloading 4 bytes @ address 0x0800A408 - Verified OK

Downloading 212 bytes @ address 0x0800A40C - Verified OK

Writing register (PC = 0x 8001764)

Read 4 bytes @ address 0xE000ED14 (Data = 0x00000200)

Read 4 bytes @ address 0x08001764 (Data = 0xD034F8DF)

Read 2 bytes @ address 0x08001764 (Data = 0xF8DF)

Read 2 bytes @ address 0x08001766 (Data = 0xD034)

Downloading 4 bytes @ address 0xE000ED14 - Verified OK

Reading all registers

Read 4 bytes @ address 0x08001764 (Data = 0xD034F8DF)

Read 2 bytes @ address 0x08001764 (Data = 0xF8DF)

Read 2 bytes @ address 0x08001766 (Data = 0xD034)

Read 4 bytes @ address 0xE000EDFC (Data = 0x01000000)

Downloading 4 bytes @ address 0xE000EDFC - Verified OK

Reading all registers

Read 4 bytes @ address 0x08001764 (Data = 0xD034F8DF)

Read 2 bytes @ address 0x08001764 (Data = 0xF8DF)

Read 2 bytes @ address 0x08001766 (Data = 0xD034)

Reading 64 bytes @ address 0x08000580

Read 2 bytes @ address 0x080005AA (Data = 0xF001)

Read 1 bytes @ address 0x200003BC (Data = 0x0D)

Setting breakpoint @ address 0x080005AA, Size = 2, BPHandle = 0x0001

Starting target CPU...

...Breakpoint reached @ address 0x080005AA

Reading all registers

Removing breakpoint @ address 0x080005AA, Size = 2

Read 4 bytes @ address 0x080005AA (Data = 0xF904F001)

Reading 64 bytes @ address 0x20017FC0

Read 1 bytes @ address 0x200003BC (Data = 0x00)

Starting target CPU...

4 REPLIES 4
Uwe Bonnes
Principal III

There are two JTAG devices, one for controlling the Pins via boundary scan and the other giving access to the Cortex core. Have a look at the reference manual, e.g. 41.6 in RM0392

Well that's a surprise! Thanks very much for taking the time to answer,

GLASS
Senior

Hi and also, do you really need to use jtag. Because if HW allow you to connect with SWD, you can get full power of debug session...

Generally JTAG is more usefull for test production of HW.

The number of things I don't know are increasing daily! I'm migrating from MSP430 to the cortex and it's a bit of a steep curve. I'll try the SWD link if it works better. What are the debugging advantages? I'm already able to use breakpoints with Jtag but maybe there are additional features I am missing out on.

Thanks for the reply BTW