Hubris: A Reliable Microcontroller Operating System for Embedded Systems

Hubris: A Reliable Microcontroller Operating System for Embedded Systems

Hubris is a microcontroller operating system environment designed for deeply embedded systems with high reliability requirements. This article will delve into the design philosophy, functional features, and usage of Hubris. Design Philosophy of Hubris The core design goal of Hubris is to provide a safe and reliable operating system environment for resource-constrained embedded systems. It … Read more

Introduction to ARM Architecture: A Comprehensive Guide

ARM (Advanced RISC Machine) is a 32-bit and 64-bit RISC (Reduced Instruction Set Computing) processor architecture designed by Arm Ltd. The ARM architecture is widely used in various devices due to its efficiency, flexibility, and low power consumption, ranging from embedded systems to high-performance computers. This article will detail the characteristics, advantages, application scenarios, and … Read more

Understanding the MIPI Framework: A Comprehensive Guide

Understanding the MIPI Framework: A Comprehensive Guide

1. Introduction 1. The MIPI Alliance, or Mobile Industry Processor Interface Alliance, is an open standard and specification initiated by MIPI for mobile application processors. 2. The MIPI Alliance defines a set of interface standards, standardizing internal interfaces of mobile devices such as cameras, displays, basebands, and RF interfaces, thus increasing design flexibility while reducing … Read more

Understanding the Distinction Between Embedded C Programming and Traditional C Language

Understanding the Distinction Between Embedded C Programming and Traditional C Language

When we first learn embedded development, a common question arises: what is the difference between C language and embedded C programming? Embedded engineers typically tell you that the difference lies in the fact that embedded C runs on embedded development boards, which differ from CPUs in computers, leading to different compilers and executable programs. Unlike … Read more

Understanding the Debugging Interfaces of STM32 Cortex-M Cores

Understanding the Debugging Interfaces of STM32 Cortex-M Cores

Follow+Star Public Account, don’t miss out on exciting content Author | strongerHuang WeChat Public Account | Embedded Column When learning MCU development, debugging is definitely an essential step. This article discusses the debugging interfaces related knowledge using STM32F1 and Cortex-M3 as examples (the principles are similar for other series chips/cores). 1 Overview In STM32, there … Read more

Fundamentals of Cortex-M3 Registers

Fundamentals of Cortex-M3 Registers

1. Registers CM3 has general-purpose registers R0 to R15 and some special function registers. For general-purpose registers R0 to R12, the initial reset values are unpredictable. 2. CM3 has a set of general-purpose registers from R0 to R15. Note: Most 16-bit Thumb instructions can only access R0 to R7, while 32-bit Thumb-2 can access all … Read more

Understanding Serial Communication in Embedded Systems

Understanding Serial Communication in Embedded Systems

Embedded electronic devices are collections of various circuits (processors or other integrated circuits). In order to exchange information between these independent circuits, they must follow the same communication protocol. To accommodate different needs, engineers have defined hundreds of thousands of communication protocols, which can generally be divided into two categories: parallel or serial. 1. Parallel … Read more

Why IoT Devices Choose RTOS Over Linux

Why IoT Devices Choose RTOS Over Linux

Follow+Star public number, don’t miss wonderful content Compilation | strongerHuang WeChat Public Account | Embedded Column The rapid development of the Internet of Things in recent years, everyone must have seen it, because of the Internet of Things, C language has become the most popular language (JAVA has always been the leader in previous years). … Read more

Analyzing the Boot Process of VxWorks 6.x BSP on ARM

Analyzing the Boot Process of VxWorks 6.x BSP on ARM

Click “Read the original text” to access more VxWorks resources BSP is used to initialize hardware, boot the operating system, and provide the device driver interface between software and hardware. When developing a BSP for a specific architecture, it is necessary to understand its basic architecture and instruction system. Generally, the design and development of … Read more