Posts by CanGulmez

@CanGulmez

Can Gulmez

Embedded/Linux Software Developer | Electronics Engineer
Turkey, Kayseri github.com/CanGulmez Joined October 2025
1k Points27 Badges5 Connections6 Followers8 Following

Posts by CanGulmez

CanGulmez in Tutorials 4 min read
In this tutorial, I will continue to discuss embedded Linux development with ssh server activation. Previously, I've entered into BeagleBone Black over J1 serial header with a USB-UART converter. In here, I will show that how to enter into it with ss...
CanGulmez in Tutorials 2 min read
Until here, I've talked about the embedded Linux development in four stage: toolchain, bootloader, Linux kernel, rootfs. In this tutorial, I will create a SD card image including these and then run it in BeagleBone Black. Firstly, let's remember tha...
CanGulmez in Tutorials 3 min read
In this tutorial, I will go with the fourth stage of embedded Linux development which is the rootfs. Every Linux-based system have a filesystem. If you are on GNU/Linux, you already probably know it and how it structured. Apart from that embedded L...
CanGulmez in Tutorials 3 min read
In this tutorial, I'll go with the third stage of embedded Linux development. That's the Linux kernel. It's the responsible for: Manage all the hardware resources: CPU, memory, I/O. Provide a set of portable, architecture and hardware independent ...
CanGulmez in Tutorials 4 min read
In this tutorial, I will continue the embedded Linux development series with second stage which is the bootloader. Firstly, a bit theoretical background. The bootloader is a piece of code responsible for: Basic hardware initialization Loading of ...
CanGulmez in Tutorials 3 min read
In today, I'm beginning a new series about embedded Linux development. I'll show that how to build an end-to-end embedded Linux system from scratch by hand. I'll fetch the associated every stuffs from source code and then build the corresponding out...
CanGulmez in Tutorials 2 min read
POSIX shared memory allows to us to share a mapped region between unrelated processes without needing to create a corresponding file. Linux uses a dedicated tmpfs file system mounted under the directory /dev/shm. This file system has kernel persist...
CanGulmez in Tutorials 5 min read
Let's continue discussing the Linux programming with mmap system call. The mmap system call creates a new memory mapping in the calling process's virtual address space. There are two types of mapping: File mapping: A file mapping maps a region of a...
CanGulmez in Tutorials 6 min read
In any type of program, we mostly are interested in two different time: Real Calendar time: This time is measured from a standard point generally, UTC, 1 January 1970. Obtaining the calendar time is primarily source of what you see at screen of your...
CanGulmez in Tutorials 7 min read
In everyday, we run some kind of programs to handle our works. There are many type of programs, GUIs, CLIs, TUIs or so on. But at low level, there are two kind of program formats: PE Portable Executable for Windows and ELF Executable and Linkable For...
CanGulmez in Tutorials 2 min read
In this tutorial, I will explain an code injection technique into ELF executable. Firstly, you need to understand the ELF executable, its contents, sections, symbol table or so on. I've written a dedicated article previously. So if you don't have an...
CanGulmez in Tutorials 4 min read
Interrupts is the must-known concept in embedded programming. So I wanna explain the interrupt management in ARM Cortex-M in this tutorial. ARM architecture distinguishes between the two types: interrupt and system exception. Interrupts are primaril...
CanGulmez in Tutorials 4 min read
In embedded programming, we trust IDEs like STM32CubeIDE, Keil or so on. These IDEs give us just some buttons and UIs to build, flash, and debug the source code that we've written for a MCU. But, I think that every engineer that works on this field h...
CanGulmez in Tutorials 5 min read
In this tutorial, I will inspect, flash and debug a firmware written for STM32F446RE microcontroller. To accomplish this, we need some dedicated tools: + openocd + arm-none-eabi- + gdb-multiarch openocd is the primarily tool that we have to get. It...
CanGulmez in Tutorials 6 min read
In this tutorial, I wanna talk about "program" and "process" terms that are fundamental elements in computer-science. This two terms generally are used exchangeably. But in technically, both are so different. Let's begin with explaining these terms a...
CanGulmez in Articles 5 min read
In embedded world, using IDE like Keil and STM32Cube IDE is heavily the preferred choice because of simplifying the all processes. But I think that we, embedded software developers, must learn and know what is going on under the hood! In this artic...
chevron_left

Latest Jobs

View all jobs →