Cross-Platform Cortex-M Development (Cross-Platform Cortex-M Development + VSCode Project Folders)
With Membership
Suggested price

Cross-Platform Cortex-M Development

With Visual Studio Code

About the Book

Choosing a development environment for an embedded system is one of the more consequential parts of the project.

Most Arm Cortex-M projects today employ an Integrated Development Environment (IDE) which supplies an editor, compiler, project manager, build tool, terminal, debugger GUI, debugger, and debugging probe or interface.

The IDE's like Eclipse, IAR, Greenhills, Keil, and Code Composer Studio have become so complex that simply learning to use them may take a big chunk of time for each team member at the beginning of the project.

The dollar cost of an IDE seat can be as high as several thousand dollars.

For small development projects, involving one or two people and a few man months worth of work, a full blown IDE can occupy a big chunk of the budget, especially when it's learning curve is considered.

Luckily, help is on the way, and from the most unlikely source.

Microsoft has funded an IDE for use in web-development. It supports a wide variety of computing languages, including scripting languages such as JavaScript and TypeScript. It also allows simple configuration with a few JSON schemes. The name of this environment is Visual Studio Code, or VSCode for short.

This book shows how to use VSCode, Arm Embedded Compiler Tools, a make file, and OpenOCD debug server, to build a simple, cross-platform IDE for developing Cortex-M projects.

The book comes with three compressed files containing build directories for macOS, Linux, and Windows platforms. Each directory is a VSCode project, with complete MIT licensed source code, and a make file, for building the example project for the STM32F7 Discovery Board

The project is a digital theremin, with ADSR note envelopes, multiple waveforms, a filter, and a cross-channel beat frequency control.

The eBook gives detailed instructions for obtaining VSCode, the Arm Compiler Tools, a Cortex-Debug extension for VSCode, and the OpenOCD debug server. It describes how to setup the three simple scripts necessary to integrate these tools into a fully functional IDE for Cortex-M development for macOS, Linux, and Windows..


About the Author

David Clifton
David Clifton

I have been an active embedded software developer for the past 35 years. Systems developed in whole or part include: Multi-parameter biofeedback system for Apple II, C and Dsp code for a television watching robot, firmware for a laser power meter, hypertext editor and math assistant for a pocket PC, autosampler firmware for a hematology instrument, robotic control and sequencer for a genetic blood assay machine, bootloader and kernel for an oximeter, portable flight planning computer, firmware for a wireless data acquisition system for bridge diagnostics, base station firmware for corrections telemetry and alcohol monitoring, communications protocol for an implantable hearing aid, usb mass storage driver, and sensor drivers for an oilfield seismic data logger, firmware for a digital theremin, a gps locator-tracker, and lora remote sensing system.

For more detailed information, see

Table of Contents

  • Introduction
    • About Visual Studio Code
    • Embedded Project Example
  • Installing the Tools
  • Configure Visual Studio Code
    • Project Configuration
    • Configuring the Debugger
    • Configure Project User Settings
  • Build and Run the Example Project
    • Build and Run the Mac Version
    • Build and Run the Linux Version
    • Build and Run the Windows Version
  • About the Example Project
    • Screen Shots
    • XY Controller View
    • Theremin Settings View
    • Sound Characteristics
    • Access to Project Documentation
  • Sources Referenced (by URL)
  • Bibliography
  • Appendix – When to Use an Open-Source IDE

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub