From c27af61f27adacf28462be0be293eb3559f949ac Mon Sep 17 00:00:00 2001 From: jhunnius Date: Tue, 24 Feb 2026 10:17:01 +0100 Subject: [PATCH] Update README.md Restored README.md --- README.md | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 145 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 638a219..1a7c079 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,146 @@ -# Moved to codeberg +# RustRover Setup for Infineon Traveo II Debugging -This project moved to https://codeberg.org/jhunnius/rusty_emu +This document provides instructions for setting up RustRover to replicate the VSCode debugging experience for Infineon Traveo II microcontrollers. + +## Prerequisites + +1. **RustRover IDE** installed +2. **GNU Arm Embedded Toolchain** installed at `C:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2021.10/bin` +3. **OpenOCD** installed and available in PATH +4. **ST-Link debugger** connected to your target hardware + +## Project Structure + +The converted configurations support two target architectures: +- **Cortex-M7**: `thumbv7em-none-eabi` with `traveo-cyt4bf` feature +- **Cortex-M0+**: `thumbv6m-none-eabi` with `traveo-cyt2b7` feature + +## Run/Debug Configurations + +The following configurations have been created in `.idea/runConfigurations/`: + +### Debug Configurations + +1. **Debug Traveo (Cortex-M7)** + - OpenOCD configuration: `interface/stlink.cfg;target/stm32f7x.cfg` + - GDB port: 3333 + - Builds with: `thumbv7em-none-eabi` target and `traveo-cyt4bf` feature + +2. **Debug Traveo (Cortex-M0+)** + - OpenOCD configuration: `interface/stlink.cfg;target/stm32f0x.cfg` + - GDB port: 3333 + - Builds with: `thumbv6m-none-eabi` target and `traveo-cyt2b7` feature + +3. **Attach to OpenOCD** + - For connecting to an already running OpenOCD instance + - GDB port: 3333 + +### Build Configurations + +1. **Build Traveo (Cortex-M7)** + - Command: `cargo build --target thumbv7em-none-eabi --features traveo-cyt4bf` + +2. **Build Traveo (Cortex-M0+)** + - Command: `cargo build --target thumbv6m-none-eabi --features traveo-cyt2b7` + +## Setup Instructions + +### 1. Open Project in RustRover +1. Launch RustRover +2. Open the project directory +3. Ensure Cargo.toml is detected as a Rust project + +### 2. Configure Toolchains +1. Go to **File > Settings > Languages & Frameworks > Rust** +2. Ensure the correct toolchain is selected for embedded development +3. Add the GNU Arm Embedded Toolchain to your system PATH if not already present + +### 3. Import Run Configurations +The run configurations are already created in `.idea/runConfigurations/`. They should be automatically detected by RustRover. + +### 4. Verify OpenOCD Installation +1. Open a terminal in RustRover +2. Run `openocd --version` to verify installation +3. Ensure ST-Link drivers are installed + +### 5. Hardware Setup +1. Connect your ST-Link debugger to the target board +2. Ensure proper power supply and connections +3. Verify the target board is recognized by OpenOCD + +## Usage + +### Building +1. Select the appropriate build configuration from the run configurations dropdown +2. Click the run button or press Shift+F10 +3. The project will build for the selected target architecture + +### Debugging +1. Select the appropriate debug configuration (Cortex-M7 or Cortex-M0+) +2. Click the debug button or press Shift+F9 +3. RustRover will: + - Build the project with the appropriate features + - Start OpenOCD with the correct configuration + - Launch the debugger and connect to the target + +### Attaching to Running OpenOCD +1. Start OpenOCD manually in a terminal: + ```bash + openocd -f interface/stlink.cfg -f target/stm32f7x.cfg -c "adapter speed 1000" -c "init" -c "reset init" -c "cortex_m reset_config sysresetreq" + ``` +2. Select "Attach to OpenOCD" configuration in RustRover +3. Click debug to connect to the running OpenOCD instance + +## Troubleshooting + +### Common Issues + +1. **OpenOCD not found** + - Ensure OpenOCD is installed and in your system PATH + - Restart RustRover after installing OpenOCD + +2. **ST-Link not recognized** + - Check ST-Link drivers installation + - Verify USB connections + - Try different USB port + +3. **Target not found** + - Check target board power and connections + - Verify OpenOCD configuration matches your hardware + - Check console output for error messages + +4. **Build errors** + - Ensure all required features are available in Cargo.toml + - Check that the correct toolchain is being used + - Verify target architecture matches your hardware + +### Debug Console +Open the Debug console in RustRover to see detailed output from OpenOCD and GDB. This can help diagnose connection and configuration issues. + +## Advanced Configuration + +### Customizing OpenOCD Arguments +To modify OpenOCD behavior, edit the run configuration and adjust the `OPENOCD_SERVER_ARGS` field: + +- Current: `--command "adapter speed 1000" --command "init" --command "reset init" --command "cortex_m reset_config sysresetreq"` +- Modify adapter speed, initialization commands, or reset configuration as needed + +### Adding New Targets +To add support for additional Traveo II devices: + +1. Add the feature to Cargo.toml +2. Create a new build configuration with the appropriate target and features +3. Create a corresponding debug configuration with the matching OpenOCD config files +4. Update this documentation + +## Comparison with VSCode + +| Feature | VSCode (cortex-debug) | RustRover | +|---------|----------------------|-----------| +| Extension/Plugin | cortex-debug extension | Built-in Embedded Development | +| Configuration | launch.json + tasks.json | XML run configurations | +| OpenOCD Integration | Through cortex-debug | Native OpenOCD support | +| Build Integration | Tasks system | Cargo command configurations | +| Debugging Features | GDB integration | Full GDB debugging support | + +The RustRover configurations provide equivalent functionality to the VSCode setup while leveraging RustRover's native embedded development capabilities. \ No newline at end of file