Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Guide for doing embedded development in an IDE #54

Closed
3 tasks
japaric opened this issue Feb 26, 2018 · 9 comments
Closed
3 tasks

Guide for doing embedded development in an IDE #54

japaric opened this issue Feb 26, 2018 · 9 comments

Comments

@japaric
Copy link
Member

japaric commented Feb 26, 2018

We have instructions for doing embedded development from the command line but we are missing
instructions for doing embedded development in an IDE.

I heard that VS Code plus the cortex-debug extension works nicely for embedded development but I
have no first hand experience.

We are looking for someone who can help us write down some instructions.

Tasks

  • Write instructions for setting up a Cargo project in VS code including instructions for
    setting up the cortex-m extension, Xargo and the RLS. It could be any other IDE but VS code is the
    IDE with official RLS support.

  • Bonus points if you write instructions for getting semihosting, ITM / SWO, register (SVD) view
    to work.

  • Identify any changes that we could make to cortex-m-quickstart to make integration with VS
    Code, or any other IDE, easier. Like checking in some configuration file (?).

@niklasad1
Copy link

niklasad1 commented Feb 26, 2018

I got debugging in VSCode to work in TockOS you can grab the script for remote debugging here and a very brief tutorial here. Feel free to use as inspiration it but I haven't tried the cortex-m extension cheers.

@jamesmunns jamesmunns mentioned this issue Feb 28, 2018
6 tasks
@Lakier15
Copy link

Lakier15 commented Mar 1, 2018

I've been using IntelliJ IDEA Community with the Rust plugin for almost 9 months. It works really well. Only problem might be the different approach from using the RLS.
I believe that they use their own parsing engine.

What really is lacking, out there, is some form of Rust IDE debugging. Rust-DT was a good effort to use the Eclipse capabilities to also debug embedded systems. However,
the project has been abandoned, and well, its Eclipse.... 👎

@LunNova
Copy link

LunNova commented Mar 2, 2018

Debugging in CLION with intellij-rust works.

@Lakier15
Copy link

Lakier15 commented Mar 2, 2018

I thought there were some problems with debugging in CLION.

Anyway, I think CLION is not free. It doesn't have a community edition, so it would not be accessible to everybody equally.

@davidtibbetts
Copy link

I've had success with VSCode using OpenOCD and STM32 MCUs on Windows.
launch.json
tasks.json

@AJAnderson
Copy link

Hi @japaric, I set up the cortex-debug extension in vs-code and got it working, would love to write instructions but where should I write them up?

@puzrin
Copy link

puzrin commented Jun 23, 2018

I'd like to point 2 major use cases:

  1. I'm a programmer, and i'd like to quickly setup env for project from github to start work.
  2. I'm a user, who does not understand anything in programming, but i'd like to flash firmware from some github's project.

Both are important.

Take a look at PlatformIO, it's available as plugin for atom/vscode/eclipse. It's not for Rust now, but solve some important usability issues:

  • automate toolchains install for your platform (i mean not compiler only, but programmators and so on)
  • simplifies dependancies management (C-specific kludge, not actual for the Rust)
  • wrapper to autodetect programmator's port (you should not define it manually, very convenient)
  • automates spiffs image build from files in directory

It would be nice, if the same will be simple with rust to.

@mathk
Copy link

mathk commented Jun 24, 2018

My experience with ITM was that I would never really know how to setup the TPIU clock from gdb. Once I freeze the MCU to maximum speed (216Mhz) the ITM port didn't work properly.

@japaric
Copy link
Member Author

japaric commented Aug 10, 2018

This issue was moved to rust-embedded/book#12

@japaric japaric closed this as completed Aug 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants