以太网外设需要25MHz晶振,是因为它作为基础时钟频率,能通过倍频高效支持百兆、千兆乃至万兆以太网的通信标准,同时兼顾成本、设计简化与信号稳定性。一、25MHz是主流以太网速率的……
平时多使用ARM 的Cortex-M系列MCU,如STM32F407。基本很少外扩SRAM,如果SRAM不够,则在MCU选型上就解决了。但最近接触的项目里面有使用到ESP32模块。……
在嵌入式项目开发过程中,对内存的管理往往是薄弱一环。如果有效,高效的检测内存溢出,也就成为内存管理中重要一个工具。内存溢出(Memory Overflow)指的是程序尝试访问超出分……
现在STM32的新推出高性能MCU都是双核傍身。于是,学习一下多核间通讯的知识,做个笔记。多核间通讯是现代处理器实现高性能计算的核心技术,主要通过共享内存、硬件邮箱和核……
在多任务操作系统中,进程是资源分配和调度的基本单位,每个进程都拥有独立的用户地址空间,这意味着一个进程无法直接访问另一个进程的内存数据。进程间通信(Inter-Process Co……
出于流水线的需求,MCU中多数指令操作需要操作的变量地址对齐。对于数据传输,地址对齐需求最高的应该是DMA控制器吧!如果地址未对齐,DMA控制器可能无法正确访问内存,导致数据错位或……
1. 堆栈的基本概念堆栈(Stack)是RAM中的一块连续区域,用于存储函数调用时的返回地址、局部变量和函数参数等信息。在STM32F407中,堆栈通常位于SRAM区域。2. ……
字节对齐在c语言学习时就是一道非常经典的题目。在工程应用上,字节对齐也非常重要。最近我在硬件驱动开发时就遇到了一例字节对齐的问题,借论坛机会总结一下字节对齐的知识点。我们的项目应用……
我使用的是Keil, 和老哥的不一样。这样看起来,还是编译器的事情。……
在嵌入式操作系统中,信号量(Semaphore)是一种重要的同步机制,用于控制多个任务对共享资源的访问,防止竞态条件的发生。信号量通常分为二值信号量、计数信号量和引申出来的互斥保量……