Skip to main content
CChih.1
Associate
April 13, 2021
Solved

Dear ST, could you compile stlink-server that can be worked in aarch64 platform? Many thanks.

  • April 13, 2021
  • 7 replies
  • 4570 views

I want to attch stlink to my raspberry pi platform which runs in aarch64 platform, so that I can debug with STM32CubeIDE. But I cannot find suitable stlink-server which can be worked in aarch64. (Only x64 platform are provided.) Could you compile it for that ? Many thanks. :grinning_face:

This topic has been closed for replies.
Best answer by mattias norlander

The error: "no support Non-stop mode" could be due to that the feature "Live expressions" is enabled in your debug/launch configuration.

Could you try to disable it and test again?

The live expressions rely on non-stop mode. I don't think we will force the non-stop mode if you un-check that option... Let us know your findings.

The St-link server allows you to connect multiple ST-LINK to one computer. Or to have multiple PC application connect simultaneously to the same ST-LINK (like CubeIDE + CubeMonitor). I dont think this is what you are looking for?

You are simply looking to debug one STM32 usnig one ST-LINK connected to the RPI. And you only expect to be able to connect with CubeIDE (or other IDE/debug front-end) at the time?

If so, you don't need st-link server. Only ST-LINK gdb-server or OpenOCD... Sounds like you already have some progress with this, but stuck on non-stop mode?

7 replies

mattias norlander
ST Employee
April 13, 2021

Hi @CChih.1​,

Could you elaborate?

  • Do you want to run the full CubeIDE on the RaspBerry Pi?
  • Only stlink-server?
  • Also ST-LINK gdb-server or openocd?

Please describe your use case a bit further :)

CChih.1
CChih.1Author
Associate
April 13, 2021
  • I only want to run stlink-server on raspberry pi but not STM32CubeIDE.
  • I tried an open source stlink gdb server project and get st-util, but get error "no support Non-stop mode" or something like that when I use a remote stlink debugger in STM32CubeIDE.
  • Also, I tried openocd. But got errors too (unreadable text, something went wrong, maybe non-stop mode error too).
  • I think STM32CubeIDE remote stlink debugger cannot communicate correctly with that open source stlink gdb server project or openocd. But do the right thing when using stlink-server provided by ST. Tested with localhost ran on Windows 10.
  • So, I want to try to ask ST to build another stlink-server that runs on platform aarch64, like raspberry pi.

Many thanks.:>

CChih.1
CChih.1Author
Associate
April 13, 2021

I have a raspberry running on Centos8 (64bit, aarch64), and an art-pi (STM32H750 MCU) with stlink onboard running with CMSIS RTOS.

Different hosts need to communicate with that art-pi (STM32H750 MCU).

So, I try this way --- a remote stlink-server and different local STM32CubeIDE clients.

Uwe Bonnes
Chief
April 13, 2021

There are a lot of gdb servers that you can compile from source. Bl*ckm*g*c (firmware) runs the gdb server on the dongle and exposes the server as CDC-ACM device.

mattias norlander
ST Employee
April 13, 2021

The error: "no support Non-stop mode" could be due to that the feature "Live expressions" is enabled in your debug/launch configuration.

Could you try to disable it and test again?

The live expressions rely on non-stop mode. I don't think we will force the non-stop mode if you un-check that option... Let us know your findings.

The St-link server allows you to connect multiple ST-LINK to one computer. Or to have multiple PC application connect simultaneously to the same ST-LINK (like CubeIDE + CubeMonitor). I dont think this is what you are looking for?

You are simply looking to debug one STM32 usnig one ST-LINK connected to the RPI. And you only expect to be able to connect with CubeIDE (or other IDE/debug front-end) at the time?

If so, you don't need st-link server. Only ST-LINK gdb-server or OpenOCD... Sounds like you already have some progress with this, but stuck on non-stop mode?

CChih.1
CChih.1Author
Associate
April 14, 2021

Lots of thanks.

I uncheck "live expressions" and make works. (With openocd)

There are 2 problems I tested before.

  1. "use live expressions" checked by default in STM32CubeIDE but my stlink debugger does NOT support non-stop mode, makes remote stlink does NOT work. (stlink-server by third party or openocd).
  2. Uncheck "use live expressions" and try stlink-server by third party (unremember which github project), but get errors too. I debug for several hours, find malloc and free operation errors. Maybe duplicate free operations. And I try to modify codes, but not work too. So I give up for limit time.
  3. Uncheck "use live expressions" and try openocd. NOT work at first. I find the reason is that the openocd server does NOT listen for any income requests, but only loopback. I change bindding address to IPADDR_ANY instead of IPADDR_LOOPBACK, so that openocd server can receive remote request from another host.

It works, it works.

Thanks for your answer.

I can debug my art-pi (STM32H750) via Internet now, not only locally.

CChih.1
CChih.1Author
Associate
April 14, 2021

By the way, how to close this topic ? :sad_but_relieved_face:

mattias norlander
ST Employee
April 14, 2021

There is no per say "close button", but you used the "Select as Best" which is the the closes thing to such button :)

CChih.1
CChih.1Author
Associate
April 14, 2021

But I still want to ask ST to compile stlink-server which can be ran on platform aarch64. Thanks.

mattias norlander
ST Employee
April 14, 2021

Let me forward the request to the responsible team internally.

Unless they have heard several requests for this before I think that the chance that this gets attention/prio is small.

I would expect other STM32 users to comment in your thread if they also think that this consider this to be an important request.

mattias norlander
ST Employee
April 14, 2021

Got a fast reply from the responsible team. They have heard the request once before. That however does not justify to take on this effort. In general it is not only about compiling, it is also setting up Jenkins build jobs and more importantly running validation on a new platform. All-in-all a seemingly simple task becomes quite expensive. And we don't have sufficient user base to justify such request vs other more requested features/changes.

You can submit your request here: https://community.st.com/s/ideazone

But also just relying on this forum thread could increase the prio if many other users consider this feature important enough to comment on it...