Zephyr – Code checker

Zephyr – Code checker

Learn the importance and practical applications of the CodeChecker tool for static code analysis in C. The article describes how CodeChecker assists in identifying and fixing potential code defects, motivating developers to adhere to best practices and security standards. We’ll go by the hand through the installation, configuration and use of this tool in projects…

Wireshark – proprietary protocol

Wireshark – proprietary protocol

Protocol means “an official standard for handling given situations.” As embedded developers, when we hear the word “protocol,” we most often think of a communication protocol, or a set of rules by which devices communicate with each other. Communication protocols are ubiquitous, from the low-level ones within a PCB (I2C, SPI, UART) to network protocols…

Debug story

Debug story

You’re programming quietly, until suddenly the Window of Death pops up. You’ll probably look through recent code changes and find something suspicious. But if you still don’t know what might have caused our problem, we’ll be left with good old classic debugging. Let’s forebug, then, all the way to the source of our problem. Let’s…

How about Clangd instead of IntellliSense?

How about Clangd instead of IntellliSense?

I have long heard that Clangd is better than IntelliSense. But what does that actually mean better? It is, after all, just an opinion. I decided to check it out. In the following text, I describe how I swapped IntelliSense for Clangd and what the results were. ‍ While working on a project on nRF…

Zephyr – LED blinking

Zephyr – LED blinking

Every programming course traditionally starts with a “Hello World” program. These simple programs, displaying only a single line of text, help confirm that the programming environment is correctly set up. This assurance allows programmers to tackle more complex tasks without worrying about configuration issues. However, for embedded programmers, displaying a single line of text is…

Zephyr – application development

Zephyr – application development

The Zephyr Project, an RTOS hosted by the Linux Foundation, offers a broad spectrum of features and customizable modules, catering to various development needs. It supports the creation of custom drivers, which can be easily integrated into projects. Although Zephyr’s extensive options and documentation can appear daunting, there are three main approaches to kickstart application…

Embedded RTOS – tools and community support

Embedded RTOS – tools and community support

If you use an RTOS on a daily basis, it’s natural that it is your first option when undertaking a new project. However, if you’re just starting out or thinking about trying something new, it’s worth paying attention to the community support and tools available. We believe that it is these two aspects that are…

Embedded RTOS performance testing

Embedded RTOS performance testing

It’s time to compare RTOSes in battle. We will check how they perform in terms of performance. We’ll measure how they behave with elementary operations like context switching under no load, periodicity or return from interrupt. At the end, each of them will face an activity that requires busyness – a real application. After reviewing…

Embedded RTOS middleware

Embedded RTOS middleware

RTOS systems provide specially designed middleware solutions that are tailored to the needs of a specific operating system. Customization for a specific solution is designed to enhance its performance and capabilities. The following table and accompanying description provide an overview of the capabilities of RTOSes such as FreeRTOS, ThreadX, embOS, and Zephyr. What are we…

Embedded RTOS – our experience

Embedded RTOS – our experience

When starting application development in an embedded system, a developer is faced with the choice of where to start – bare metal or GPOS (General Purpose Operating System, such as Linux), or perhaps RTOS (Real Time Operating System).What are the differences between the two? Bare metal.‍Oncea necessity (who programmed microcontrollers in the first decade of…