Hello.
Has anyone succeeded in programming the flash on an ARM processor using Linux, J-Link ARM, and SWD (as opposed to JTAG)?
I am trying to program the flash on an STM32F103RB using a J-Link under Ubuntu Linux using the "Beta software version for Linux" (JLink_Linux_090804_tar.gz, v4.03a) that I downloaded from here . Ultimately I want to use SWD but for now I'm just trying to get it to work with JTAG.
According to a post by Alex post in this thread, I need to run an "exec device = ..." command to select my device. My problem is that the command "exec device = STM32F103RB" takes forever to run. Below is the output from JLinkExe:
I would expect the "exec" command to finish in a second, as it does in the Windows version of J-Link Commander, but it never seems to finish in Linux, and I've let it run for about 10 minutes.
It looks like this is a PC software problem because the J-Link found the Cortex-M3 core and I am able to successfully read the STM32's flash size register using the "mem" command. Also, in Windows I am able to program the flash on the target board (with either JTAG or SWD) using the Windows version of J-Link Commander.
Maybe the problem is that the Linux software is out of date. Free flash downloading was introduced in verison 4.08l, but the Linux software is still at version 4.03a. Is that the problem?
I would use OpenOCD, but, according to what I've read, it doesn't support SWD yet. Is there any other software package for Linux that can program the flash of an STM32 using J-Link ARM and SWD?
Thanks in advance for any help!
--David Grayson
Has anyone succeeded in programming the flash on an ARM processor using Linux, J-Link ARM, and SWD (as opposed to JTAG)?
I am trying to program the flash on an STM32F103RB using a J-Link under Ubuntu Linux using the "Beta software version for Linux" (JLink_Linux_090804_tar.gz, v4.03a) that I downloaded from here . Ultimately I want to use SWD but for now I'm just trying to get it to work with JTAG.
According to a post by Alex post in this thread, I need to run an "exec device = ..." command to select my device. My problem is that the command "exec device = STM32F103RB" takes forever to run. Below is the output from JLinkExe:
:~/JLink_Linux_090804$ sudo ./start
SEGGER J-Link Commander V4.03a ('?' for help)
Compiled Aug 4 2009 12:13:06
DLL version V4.03a, compiled Aug 4 2009 12:12:42
Firmware: J-Link ARM V6 compiled Jun 30 2009 11:06:04
Hardware: V6.00
S/N : 156000572
OEM : IAR
VTarget = 3.274V
Info: TotalIRLen = 9, IRPrint = 0x0011
Info: Found Cortex-M3 r1p1, Little endian.
Info: TPIU fitted.
Info: FPUnit: 6 code (BP) slots and 2 literal slots
Found 2 JTAG devices, Total IRLen = 9:
#0 Id: 0x3BA00477, IRLen: 4, IRPrint: 0x1 Cortex-M3 Core
#1 Id: 0x16410041, IRLen: 5, IRPrint: 0x1 STM32 Boundary Scan
Cortex-M3 identified.
JTAG speed: 5 kHz
J-Link>exec device = STM32F103RB
I would expect the "exec" command to finish in a second, as it does in the Windows version of J-Link Commander, but it never seems to finish in Linux, and I've let it run for about 10 minutes.
It looks like this is a PC software problem because the J-Link found the Cortex-M3 core and I am able to successfully read the STM32's flash size register using the "mem" command. Also, in Windows I am able to program the flash on the target board (with either JTAG or SWD) using the Windows version of J-Link Commander.
Maybe the problem is that the Linux software is out of date. Free flash downloading was introduced in verison 4.08l, but the Linux software is still at version 4.03a. Is that the problem?
I would use OpenOCD, but, according to what I've read, it doesn't support SWD yet. Is there any other software package for Linux that can program the flash of an STM32 using J-Link ARM and SWD?
Thanks in advance for any help!
--David Grayson