Implementing Logical Simulation of I2C Bus Abstraction Based on Linux and RT-Thread Device Driver Model

Implementing Logical Simulation of I2C Bus Abstraction Based on Linux and RT-Thread Device Driver Model

Author | Acuity 1. Introduction The I2C bus is a simple, “bidirectional two-wire synchronous serial bus” developed by PHILIPS. The use of I2C is not unfamiliar; C51, ARM, MSP430, etc., generally integrate hardware I2C, or for those that do not integrate I2C, it is possible to simulate an I2C bus using ordinary IO ports based … Read more

How to Port MQTT Protocol in Buildroot on T113-i Board

How to Port MQTT Protocol in Buildroot on T113-i Board

In actual project development, engineers may need to port some tools or protocols in the file system. So how should we perform the porting operation? We can add package configurations to port new features in the Buildroot of the OK113i-S development board. In this article, I will introduce how to port the MQTT protocol in … Read more

Zephyr Timing Measurement

Zephyr Timing Measurement

Zephyr provides a set of timing APIs for measuring code execution time, helping to analyze and optimize code. These timing APIs may use a different timer than the default kernel timer, and the timer used is specified by the architecture, SoC, or board configuration. API The timing APIs are defined in zephyr/include/zephyr/timing/timing.h and will only … Read more

Master These Two Design Concepts in Embedded Development

Master These Two Design Concepts in Embedded Development

Having referenced various embedded books available on the market, including MCS-51, AVR, ARM, etc., I have not found any that introduce design concepts. Even if such books exist, they are rare. Writing programs is not difficult, but writing them well and quickly requires some experience accumulation. The idea of structured and modular program design is … Read more

3 Common C Language Techniques in Embedded Development

3 Common C Language Techniques in Embedded Development

1. Register Operations In embedded development, it is often necessary to manipulate registers, performing operations such as writing and reading. Each register has its inherent address, making it particularly important to access these addresses using C language. #define GSTATUS1 (*(volatile unsigned int *)0x560000B0) Here, we provide an example. This is a macro definition for a … Read more

Two Essential Design Principles in Embedded Development

Two Essential Design Principles in Embedded Development

Source: Internet After reviewing various embedded books available in the market, including MCS-51, AVR, ARM, etc., I found that none specifically introduce design principles, and even if there are, they are quite rare.Writing code is not difficult, but writing good and efficient code requires some experience.The idea of structured and modular program design is the … Read more

Embedded Development | Methods to Improve MCU Code Compilation Speed

Embedded Development | Methods to Improve MCU Code Compilation Speed

Follow+Star Public Account, don’t miss wonderful content Author | strongerHuang WeChat Public Account | strongerHuang Programmers doing software development hate one thing, which is the slow code compilation speed. Code for one minute, compile for ten minutes, who can stand that? Today, let’s talk about some common operations or methods to improve compilation speed in … Read more

Embedded Linux Driver Development: LED Control Method

Embedded Linux Driver Development: LED Control Method

☞【Practical Tips】A Comprehensive Linux IoT Project for Your Resume Today, we will light up an LED using driver development. Let’s see what the differences are! 1. First, Let’s Look at the Schematic First, check the schematic to see which IO port the LED on our board is connected to. Alright, from the schematic we know … Read more

All Aspects of Embedded Linux Driver Development

All Aspects of Embedded Linux Driver Development

01 What to Learn in Embedded Driver Development Embedded development generally falls into the following four areas: 1. Embedded Hardware Development: Familiarity with circuit knowledge, very familiar with various common components, and mastery of analog and digital circuit design capabilities. Proficient in embedded hardware knowledge, familiar with hardware development models and design patterns, familiar with … Read more

Steps for Developing Embedded Linux Projects

Steps for Developing Embedded Linux Projects

Development boards from microcontroller manufacturers, along with their software project examples, can greatly assist engineers when starting a new design. However, after the project design reaches its early stages, the software provided by manufacturers may lead to some issues during further design. Designs that use a real-time operating system as the application code platform also … Read more