Application Security Blog | Technical Insights | Corellium

Debug Embedded Systems with Arm DS IDE & Corellium Atlas

Written by Jason Yamada | Jun 13, 2025 2:55:21 PM

Corellium Atlas is a virtual hardware platform built to provide embedded software engineers with the power to jumpstart building and debugging their software before, during, and after silicon is available. Atlas includes a preconfigured GDB Server that can be connected to either directly through the device service IP address or using the provided GDB Accelerator. There is no need for debuggers or physical configurations to utilize the GDB debugger. 

Arm DS IDE is an integrated development environment (IDE) designed by Arm for developing software for embedded systems and bare-metal embedded systems based on Arm architectures. It's a comprehensive tool suite that allows developers to create, build, debug, and optimize code for a variety of Arm-based processors.  

Debugging Atlas Hardware Models with Arm DS IDE 

We can use the built in GDB server on Corellium Atlas and the service IP and port to connect Arm DS IDE to any of the models supported on the platform. The following steps will show how to connect and debug an instance on Arm DS IDE. 

Setup a virtual device manually using the Web UI 

These steps create a device in the Corellium UI manually: 

  • Login to your corresponding Corellium domain:
    • Navigate to exampledomain.app.avh.corellium.com
    • Login with your username and password 
    • You are now in the Devices screen of the Corellium UI 
  • Create a device from the Devices screen: 
    • Click the “+ Create device” button on the Devices screen 
    • Click on the project card you want to create a device in 
      • Example: “Default Project 
    • Click on the device card for the device you want to create 
      • Example: “RD-1AE” 
    • Configure the device and select a “Firmware version” from the drop down 
      • RD-1AE: “Critical Application Monitor (Baremetal, Debian) (1.1.1)” 
    • Click the “Select” button on the Configure your device screen 
    • Confirm your details and click the “Create device” button 
  • Confirm device creation: 
    • Watch the progress as the device is built, booted, and made accessible 
    • Navigate back to the Devices screen 
    • View the newly instantiated device in the list of devices 

Setup the Arm DS IDE 

Download and install the Arm DS IDE corresponding to the host operating system: 

Arm DS IDE Documentation 

Arm DS IDE Download 

Setup the Corellium Debug Accelerator 

Download and install the Debug Accelerator corresponding to the host operating system: 

Debug Accelerator 

Configure Arm DS IDE for Corellium Atlas 

The following steps can be used to connect Arm DS IDE to an Atlas instance and then debug software. After setting up Arm DS IDE on your host machine, a connection will need to be configured. 

  • Start the debug accelerator and set it up to be used with the configured RD-1AE 
    • Collect the IP address from the “Connect” tab in the Corellium UI for the instance created at setup 
    • Start the debug accelerator 
    • Paste the service IP address in the “Remote” field with GDB port 4000 
    • “10.11.1.16:4000” 
  • Keep the default IP address and port 
    • “127.0.0.1:4001” 
  • Start the Arm DS IDE software and setup the debug configuration 
    • Click the “Run” button 
    • Select the “Debug Configurations...” option 
    • The “Debug Configurations” window will appear 
    • Right click the “Generic Arm C/C++ Application”  
    • Select the “New Configuration” option 
    • Select the target in the “Select target”  
    • Type “gdb” into the field 
      • Expand the “GDB Debug” 
      • Expand “Connections via gdbserver to a bare metal target” 
      • Select the “Connect to already running application” 
    • In the “Connections” section 
      • In the gdbserver (TCP) area, input the IP Address and Port from the GDB Accelerator local address 
        • Address: “<local IP address>” 
        • Port: 4001 
    • Click the “Apply” button 
    • Click the “Debug” button 
  • Upload a binary to collect the symbols for debugging 
    • Click the “File” drop down 
    • Select the “Import” option 
    • Select the binary file you want to debug through Arm DS IDE to load the symbols 
  • Review the “Console”, “Commands”, “Variables”, “Registers”, “Memory”, “Disassembly”, “Target Console” 

You will now be able to debug the binary on the RD-1AE as the binary executes. You will see the various symbols and steps in the code that are running on the RD-1AE. 

Ready to learn more about Corellium Atlas? Request a free trial to discover the power of our virtual hardware platform for automotive software development, testing, and automation—including for software-defined vehicles (SDVs) —with integrations into CI/CT, DevOps, and DevSecOps flows not possible with physical hardware.