CategoryEmbedded Systems

Upgrading CNC 3020 to support USB connection

The 3020 CNC router is a popular Chinese machine for a good reason. For around 500EUR, you can have a simple CNC with a rigid all-aluminum frame, three decent stepper motors, and pretty good resolution. However, a major disadvantage of this CNC is the out-of-date electronic parts. The motor controller is using a parallel port which is not available in any new computer(PC). For that reason, it is...

Simple Memory Management

This project is a memory allocation scheme that provides efficient dynamic memory allocation for small embedded systems lacking a Memory Management Unit (MMU). The proposed Simple Memory Management Scheme (SMM) maintains a balance between performance and efficiency, with the objective to increase the amount of usable memory in MMU-less embedded systems with a bounded and acceptable timing...

What is Real-Time Operating System

In general, an operating system (OS) is responsible for managing the hardware resources of a computer and hosting applications that run on the computer. An RTOS performs these tasks, but is also specially designed to run applications with very precise timing and a high degree of reliability. This can be especially important in measurement and automation systems where downtime is costly or a...

Internet of Things vs Remotely Controlled Devices

Until now we are all familiar with the Internet of Things concept. Or we think so. At its very basic level, IoT refers to the connection of everyday objects to the Internet and one another, with the goal being to provide users with smarter, more efficient experiences. A lot of people, as well as companies (probably for marketing reasons), have confused the real meaning of IoT. Developing a device...

Using Shared Memory in Linux Systems

Shared Memory is an efficient means of passing data between programs. One program will create a memory portion which other processes (if permitted) can access. A process creates a shared memory segment using shmget()|. The original owner of a shared memory segment can assign ownership to another user with shmctl(). It can also revoke this assignment. Other processes with proper permission can...

Dynamic Memory Allocation

Dynamic memory allocation is a process that allows a program to distribute efficiently its memory space in situations of unpredictable events that need to be stored in memory due to unknown inputs[10]. Using dynamic memory allocation, while a program is running, provides the ability to request more memory from the system. If there is enough memory available, the system will grant the program the...

Internet-Of-Things Memory Problems

The growth of Internet-of-Things(IoT) solutions creates vast new opportunities for developers of embedded systems by providing capabilities which can be added to just about any physical object including medical devices, household appliances, home automation, industrial controls, even clothing and light bulbs. This collection of billions of end devices, from the tiniest ultra-efficient connected...

Memory Management Algorithms for MMU-Less Systems

There are several different approaches for memory management that can solve the fragmentation problem on MMU-less embedded systems. Each algorithm is classified according to the way that it finds a free block of the most appropriate size. There are five categories extendedly analyzed in M. Masmano el al. [1], Sun et al. [2] and P. R. Wilson [10] works: Sequential Fit, Segregated Free Lists...

Disclaimer: The present content may not be used for training artificial intelligence or machine learning algorithms. All other uses, including search, entertainment, and commercial use, are permitted.

Categories

Tags