logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux驱动开发:环境准备与报错处理

Linux 内核驱动开发听上去很 “高大上”,其实本质就是—— 用户态程序是跑在 glibc 库搭好的 “舞台” 上,调用它封装好的函数;而驱动开发,就是要走到这个 “舞台” 的最底层,去实现 glibc 本身都要依赖的那些内核接口,是打通应用与硬件的关键一环。

#linux#运维#服务器
从原理到实践:51 单片机 UART 串口通信全解析

在物联网飞速发展的当下,各种设备都具有了联网的可能,他们可能通过蓝牙芯片、网卡设备与其他网络设备产生关联。但是你有没有想过,在物联网概念出来前,各个单片机是如何通信的?其实很简单,直接采用物理导线连接的方式连接即可。而串口通信作为一种经典、成熟、便捷的异步通信技术,在许多工业场景中都有着重要作用,而如今成为各设备短距离数据交互的主流方案。全双工通信:支持同时进行数据的发送和接收。异步传输:通信双方

#51单片机
Reactor设计模式及其在epoll中的应用

Reactor的产生过程,采用这种设计模式对于编程有什么好处,网络epoll是如何使用Reactor模式的?并且提供了一份通用的示例代码,后续可以直接在这个代码上进行应用层的封装。

文章图片
#服务器#运维#c++ +1
常见的设计模式(2)单例模式

单例模式作为最常见的设计模式,本文从新手思考的方式,逐步完善。最后用到C++11的局部静态变量magic static的特性简化代码,并将其封装成一个模板基类,方便后续开发的使用。

文章图片
#设计模式#单例模式
为什么 i.MX6ULL 需要两级 BootLoader,而 STM32 只需要一级?

本文梳理了i.MX6ULL与STM32在启动流程上的差异,核心源于芯片工艺与存储设计的不同:先进工艺难以集成大容量Flash,故i.MX6ULL需外接eMMC,依赖BootROM加载SPL和U-Boot完成硬件初始化。由于板卡配置多样,掩膜ROM仅做最简读取,后续由可定制的SPL和U-Boot完成DDR、eMMC等复杂初始化。为解决启动死锁,SPL先在OCRAM中初始化DDR,再将完整U-Boot

文章图片
#stm32#嵌入式硬件#单片机
CMSIS标准与各种库的发展历史+哈弗架构+CPU统一编址

本文系统解析STM32开发中的三大核心概念:一、CMSIS与HAL库的关系,阐明标准库历史背景、HAL统一接口优势及胶水层适配作用;二、对比哈弗与冯诺依曼架构,从流水线角度解释STM32采用哈弗架构以提升实时性;三、阐述统一编址机制,说明CPU仅通过地址访问外设,总线矩阵实现硬件区分。全文揭示STM32在架构设计与软件生态上的深层考量。

文章图片
#架构#嵌入式
模电基础:差分放大电路

差分放大电路通过对称结构有效抑制零点漂移问题,其核心原理是利用双管对称抵消共模信号(如温度漂移),同时放大差模信号。长尾式电路采用共用Re简化设计,四种接法组合适应不同需求。改进措施包括:用电流源替代Re提升共模抑制比,增加调零电阻消除误差,采用场效应管提高输入阻抗。差分电路通过结构创新实现了对微弱信号的稳定放大,是集成运放的关键基础模块。

文章图片
#单片机#嵌入式硬件
keil与STM32CubeMX安装使用流程:DFP包、库函数、固件包的理解

本文主要讲解了STM32开发环境搭建的过程与问题。了解了库函数(无论标准库还是HAL库)的本质都是操作寄存器,而不同的MCU内部寄存器不同,使得库函数对每一种MCU都需要重写一份,这个操作在HAL库中称为固件包。最后简单示例了STM32CubeMX的操作流程,点亮了一颗LED。

文章图片
#stm32#嵌入式硬件#单片机
嵌入式易错点:ARM指令架构、IP核、MCU厂商关系+BOOTLoader刷机原理

<think>我们根据要求生成≤150字的摘要。需要概括文章核心:ARM生态分层、STM32是MCU/SoC、BOOT引脚与BootLoader刷机原理、Startup与BootLoader区别。语言精炼。字数控制。</think>本文解析ARM生态链:ARM仅授权IP,芯片厂商基于Cortex-M内核集成外设制成STM32等MCU,下游公司再做成电路板。重点讲解BOOT引

文章图片
#嵌入式
UART串口通信协议

串口简单介绍、实现了基础的通信功能

文章图片
#stm32#嵌入式硬件#单片机
    共 35 条
  • 1
  • 2
  • 3
  • 4
  • 请选择