Home > On-Demand Archives > Talks >

Setting up an Embedded Software Development Environment

Mutheu Atsiaya - Watch Now - EOC 2025 - Duration: 26:22

Setting up an Embedded Software Development Environment
Mutheu Atsiaya

In this talk, we will explore the essential tools and techniques for setting up a robust embedded software development environment tailored for both beginners and advanced engineers.

We will begin by setting up a coding environment using Visual Studio Code (VSCode), followed by identifying the necessary toolchains required for compiling and building embedded firmware. From there, we'll dive into build systems like Make and build generators such as CMake to streamline and manage project builds efficiently.

Next, we will examine the basic file structure of an embedded software project, focusing on a hierarchical and modular approach that promotes scalability and maintainability.

Finally, we will discuss the role of Software Development Kits (SDKs), highlighting their importance in simplifying development for specific microcontrollers by providing drivers, libraries, and peripheral abstraction.

By the end of this session, participants will have a clear understanding of how to set up a complete embedded development environment, enabling them to build and manage projects more effectively, whether they are just getting started or aiming to enhance their existing workflow.

M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

PabloEtto
Score: 0 | 1 week ago | 1 reply

Hello, thanks for the content. The link to your articles seems not working. Is the link actual?

Mutheu AtsiayaSpeaker
Score: 0 | 1 week ago | 1 reply

Hello PabloEtto. Use this link here https://medium.com/@lorrainemutheu8

PabloEtto
Score: 0 | 1 week ago | no reply

It now works

Thomas.Schaertel
Score: 0 | 2 weeks ago | 1 reply

Excellent introduction to setting up the environment. It goes beyond the IDE, toolchains, SDKs because it uses CMake. This is often missed in intros. Thanks a lot!

Mutheu AtsiayaSpeaker
Score: 0 | 2 weeks ago | no reply

Welcome Thomas.Schaertel. Glad it was of help.

datamstr
Score: 0 | 2 weeks ago | 1 reply

Excellent presentation!

Mutheu AtsiayaSpeaker
Score: 0 | 2 weeks ago | no reply

Thank you datamstr. Glad it was of help.

SamTheDragon
Score: 0 | 2 weeks ago | 1 reply

Your talk was useful. Nicely done, Ms. Atsiaya!

Mutheu AtsiayaSpeaker
Score: 0 | 2 weeks ago | no reply

Thank you SamTheDragon. Glad it was of help.

DanN
Score: 1 | 2 weeks ago | 1 reply

Can Cmake be used to generate distribution files that contain the executable code for a target platform as well as uninstall / install that executable on that platform? I currently use GNU make to "make" the executable and then "make dist", "make uninstall", and "make install" to perform the other functions I need all from the same Makefile. CMake seems to do the "make" the executable portion, but how about the other functions that GNU make lets me do?

Mutheu AtsiayaSpeaker
Score: 0 | 2 weeks ago | no reply

Good question DanN.
Yes Cmake can perform other functions other than generating an executable.
The Cmake command e.g for installing on target is install() that is written in a CMakeLists.txt file and invoked using cmake --install
For uninstalling look into creating a template file (cmake_uninstall.cmake.in) in your project directory which allows cmake to generate an uninstall script cmake_uninstall.cmake and using add_custom_target(uninstall ...) command in your cmakelists.txt file to run it. You can then use make uninstall or cmake --build . --target uninstall for unistalling
For generating distribution files you can look into CPack() which is used in CMakeLists.txt file

In summary CMakeLists.txt is the central file that cmake uses to automatically generate makefiles and other related files which can then be executed using make or cmake commands such as install and unistall and other functionalities.

Bruno
Score: 0 | 2 weeks ago | 1 reply

Hi, the link to the slides is pointing to the wrong pdf. thanks

Stephane.Boucher
Score: 1 | 2 weeks ago | no reply

Thanks for pointing that you. The slides have been updated.

OUR SPONSORS & PARTNERS