C 程序中10个与内存有关的常见错误
与内存相关的错误是最令人恐惧的错误之一,它们通常在距离错误源一段距离之后才显露出来。当将错误的数据写入错误的位置时,你的程序可能会在最终失败之前运行一段时间。
如何学习一个嵌入式系统?
这篇文档是我在网上看到的,作者的目标是设计一个简单的嵌入式操作系统,仅实现基本的任务调度器功能。正如作者所言,虽然不能被称为完整的操作系统,但它展示了小型嵌入式操作系统的精髓。对于我们来说,这是一份很好的学习资料,可以从中了解操作系统的基本原理。今天我将这篇文档分享给大家。
嵌入式C语言程序调试宏使用技巧!
在Linux中使用gcc编译程序时,对于调试目的的语句有一些特殊的语法。编译器在进行编译过程中会生成一些宏,我们可以利用这些宏来打印当前源文件的相关信息,主要包括当前文件名、当前运行的函数和当前程序行号。这些宏可以在调试过程中提供有用的信息。
一种串口命令控制台的实现!
对于那些曾经体验过Linux强大串口Shell命令控制台的朋友们来说,是否非常羡慕它的功能?如果我们的低端MCU,比如STM32F系列,也能拥有这样的交互能力,将会大大简化调试、维护和配置的繁琐工作。
嵌入式BootLoader与APP固件如何合并?
嵌入式固件通常分为BootLoader和App两个部分。BootLoader主要用于启动校验、App升级、App版本回滚等功能,它在CPU上电的第一阶段中运行,并在完成相关任务后跳转至App地址执行应用程序。
单总线的抽象分层!
onewire(单总线)是由DALLAS公司推出的一种外围串行扩展总线技术。如其名,它采用一条信号线进行通信,能够同时传输时钟信号和数据,并支持双向通信。单总线具有节省I/O口线、资源结构简单、成本低廉、易于扩展和维护等优点。
基于RT-Thread的智能指纹门锁
该项目使用W600的TW-03 WIFI模组作为主控芯片,使用FPC1020A作为指纹识别模块。门锁的开启动作使用MG996R舵机来实现。W600运行RT-Thread操作系统,并通过OneNET连接进行数据交互。
一些Makefile通用模板!
在Windows下进行开发时,许多集成开发环境(IDE)都内置了编译器,如Visual Studio,它提供了”一键编译”的功能。完成代码编写后,只需点击一次操作,就可以完成编译、链接并生成目标文件。

