Overview Rust is becoming an increasingly popular language for development in embedded systems. Its greatest appeal over traditional system languages such as C is that memory management is inherently built into the language (and compiler) itself. Whereas developers have to take extra steps when managing memory in C, such caution is mitigated when developing in… Continue reading Rust Enabled Linux Kernel On A BeagleBone Black
Overview MAB Labs Embedded Solutions recently helped a client with a very strange BLE problem. Luckily, our background in wireless communication systems not only helped solve the problem but provide some insight as to why the solution worked. In this blog post, we’ll share the problem, the solution, and the explanation. The client has a… Continue reading Debugging nRF BLE Connection Issues With Zephyr RTOS
Overview Recently, MAB Labs has been developing an IoT/Edge device based on the CircuitDojo’s nRF9160 Feather platform (https://www.jaredwolff.com/store/nrf9160-feather/). The nRF9160 Feather has a feature-set that makes it appealing to use as the platform for initial prototyping and development. First, it has hardware support for GPS and connection to cellular networks designed for Edge devices; these… Continue reading Zephyr RTOS + nRF Feather + Visual Studio Code
Overview In this blog post, we will discuss two different tools to help us maintain multiple repositories that are part of a single project, along with the advantages and disadvantages of each. Specifically, we are going to discuss “git submodules” (https://git-scm.com/book/en/v2/Git-Tools-Submodules) and “repo” (https://source.android.com/setup/develop/repo). Of course, the first question we may have is why would… Continue reading Git submodules vs Repo
In a previous blog post (https://mab-labs.com/index.php/2021/09/16/nvidia-bsp-based-on-openembedded-the-yocto-project/), we identified a board support package (BSP), which is based on the OpenEmbedded/The Yocto Project and available on Github at https://github.com/OE4T/tegra-demo-distro. This BSP can be used to run Linux on a board that uses a SoM running a Nvidia processor. In the blog post that is linked above, we… Continue reading Customizing A Nvidia BSP Based on OpenEmbedded/The Yocto Project
For some time now, MAB Labs has been helping one of our clients customize their Board Support Package (BSP) targeting a Nvidia Jetson Nano. Nvidia recommends using their JetPack SDK for all interactions with any Jetson-based board, including customizations and flashing. While components of the JetPack SDK can be selectively placed under our own source… Continue reading Nvidia BSP Based on OpenEmbedded/The Yocto Project
MAB Labs recently worked on a feature for one of our clients called “Secure Boot” on an Nvidia Jetson Nano platform. In this blog post, we will see one mechanism for performing secure boot on a Linux based embedded system. In a later blog post, we will see how this was achieved on an Nvidia… Continue reading Embedded Linux Secure Boot
One of the readers of MAB Labs’ 0xB105F00D newsletter (you can sign up at https://mab-labs.com/#b105f00d) pointed out the recent systemd vulnerability that was discovered by Qualys. While the technical write-up may be found on Qualys’ website at https://blog.qualys.com/vulnerabilities-threat-research/2021/07/20/cve-2021-33910-denial-of-service-stack-exhaustion-in-systemd-pid-1, this blog post focuses on two aspects of this vulnerability. First, we would like to speculate as… Continue reading CVE-2021-33910 (i.e. “the systemd bug”)
MAB Labs has been recently working a project where we’ve needed to work on different branches of the same git repository. However, creating multiple clones of the same remote repository have caused some issues in our workflow. To avoid these issues, we instead created a single local clone of the remote repository, and created copies… Continue reading Git Clone – Inception Style!
IIoT Low Power Software and Hardware Considerations In this white paper, MAB Labs and Shield Digital Design present hardware and software considerations in reducing power consumption for an Industrial IoT (IIoT) device.