Understanding the Four Layers of Embedded Systems

Understanding the Four Layers of Embedded Systems

Embedded systems are divided into four layers: hardware layer, driver layer, operating system layer, and application layer. 1. Hardware Layer The hardware layer is fundamental to the entire embedded system. If you are familiar with microcontrollers and interfaces, and can program in C and assembly language, starting from the hardware layer of embedded systems is … Read more

Why Are There No Embedded Software Architects?

Why Are There No Embedded Software Architects?

This embedded system specifically refers to those based on the Linux platform; microcontrollers and other RTOS are not discussed. I have been engaged in embedded software development for 6 or 7 years, involving BSP, drivers, application software, Android HAL, frameworks, etc. Besides focusing on the development of the embedded industry, I also pay some attention … Read more

A Lightweight Framework for Embedded Systems

A Lightweight Framework for Embedded Systems

Scan to FollowLearn Embedded Together, learn and grow together Introduction to mr-library mr-library is a lightweight framework for embedded systems, providing a unified low-level driver device model and basic service functions, featuring modular design, configurability, and extensibility, helping developers quickly build embedded applications. mr-library framework supports basic kernel functions such as mutexes and object management. … Read more

TizenRT: A Versatile RTOS Platform for Embedded System Development

TizenRT: A Versatile RTOS Platform for Embedded System Development

Introduction TizenRT is a lightweight Real-Time Operating System (RTOS) platform designed to support low-end IoT devices. Developed by Samsung Electronics, it is open-source on GitHub. TizenRT provides important support for the development and operation of IoT devices by offering a stable and efficient operating system. It helps developers quickly build reliable IoT devices, thus promoting … Read more

Essential Data Structures for Embedded System Development

Essential Data Structures for Embedded System Development

In embedded system development, the choice of data structures is crucial for optimizing memory usage, improving program efficiency, and simplifying code logic. Today, Hua Mei has summarized the eight commonly used data structures in embedded development (recommended to bookmark): 1. Array An array is a simple linear data structure used to store a collection of … Read more

Understanding Arm Embedded Systems: STM32F103 Microcontroller Architecture, Programming, and Development

Understanding Arm Embedded Systems: STM32F103 Microcontroller Architecture, Programming, and Development

Table of Contents Chapter 1 Introduction 1 1.1 Embedded Systems 1 1.1.1 Overview of Embedded Systems 2 1.1.2 Comparison of Embedded Systems and General-Purpose Computer Systems 3 1.1.3 Characteristics of Embedded Systems 4 1.2 Composition of Embedded Systems 6 1.3 Real-Time Operating Systems 8 1.3.1 Concept of Real-Time Systems 8 1.3.2 Basic Features of Real-Time … Read more

7 Essential Software Architecture Design Patterns for Embedded Software Engineers

7 Essential Software Architecture Design Patterns for Embedded Software Engineers

Architectural patterns are general reusable solutions to common problems in software architecture within a given context. Click on the “Embedded Application Research Institute” above and select “Top/Star Public Account“ Valuable resources delivered instantly! Author | C Language Programming Learning Base Organizer | Embedded Application Research Institute A pattern is a solution to a problem in … Read more

OpenOCD: A Powerful Tool for Embedded System Debugging and Programming

OpenOCD: A Powerful Tool for Embedded System Debugging and Programming

In embedded system development, debugging and programming are critical processes. OpenOCD (Open On-Chip Debugger), as an open-source tool, provides developers with robust chip-level programming and debugging support. This article will detail the features, installation and build process of OpenOCD, as well as its application scenarios in embedded development, providing developers with a comprehensive reference. Introduction … Read more

Advanced Software Architecture Design for Embedded Systems: Part 2

Advanced Software Architecture Design for Embedded Systems: Part 2

Click below【Learn Embedded Together to follow, learn, and grow together Continuing from the previous part, the software architecture design of embedded systems (Part 1) continues to explain, keep it up~ 5. Language-Oriented Programming (LOP) 5.1. Advancing Automated Code Generation The popular definition of language-oriented programming is: integrating domain-specific knowledge into a specialized computer language to … Read more