
什么是嵌入式环境下的并发控制?
随着代码规模的增加以及基于实时操作系统(RTOS)的多线程技术的应用,嵌入式软件开发对于”并发控制和线程安全”的关注越来越重要。当多个执行线程(包括线程和中断服务程序)需要访问相同的共享资源(包括软件数据和硬件资源)时,可能因为竞态而导致错误。虽然这种错误很容易发生,但很难被发现,所以在设计阶段保证正确性的收益更为重要。

嵌入式中,获取程序运行时间的两种方法!
在单片机编程中,了解程序执行所需的时间、while循环周期以及delay延时函数的准确性是非常重要的。然而,由于懒惰或者缺乏简单的方法,我们常常会把这些问题推到以后解决。为了解决这些问题,本文提出了一种简便的测试方法。

回调函数在嵌入式中的实际应用!
在常规的STM32或其他单片机开发中,通常会使用由芯片厂商提供的固件库函数。这些固件库函数中包含了许多回调函数。那么什么是回调函数呢?回调函数是一种作为参数传递给另一个函数的函数。接受回调函数作为参数的函数会在特定的时间点执行它。回调机制使得底层软件层可以调用上层软件层定义的函数。

如何快速读懂嵌入式系统架构?
如果你希望成为一名现代嵌入式系统工程师,那么在项目的初始阶段就需要确定系统的架构。系统的架构涵盖了硬件和软件两个方面。硬件部分不仅决定了系统的复杂性和成本,还决定了后续软件逻辑的实现方式。一旦确定了架构,在项目进行中就很难进行修改。

汇总嵌入式日志输出的几种方法!
嵌入式开发的一个特点是在很多情况下没有操作系统或者文件系统,传统的将日志打印到文件的方法并不适用。最常用的方式是通过串口输出UART日志,例如51单片机,只需要实现串口驱动,然后通过串口输出即可。

嵌入式固件升级防变砖的几种方法
汽车软件Boot程序的主要功能是刷新App程序。在一个具体的客户项目中,Boot程序也是客户需求的一部分,通常会有一个软件开发计划与项目一同进行(有时为了与其他的Boot程序区分,将项目上的Boot程序称为CB,即Customer Boot)。

一种嵌入式系统软件定时器的实现
软件定时器是一种由程序模拟的定时器,在需要使用大量定时器的情况下,可以通过一个硬件定时器模拟成许多软件定时器,这样可以克服硬件资源有限的问题。软件定时器的一个优点是数量不受限制。

几个实用的程序调试技巧!
在某个技术交流群中,有一位小伙伴遇到了一个异常问题。他将一个开源软件移植到自己的Ubuntu系统上时,执行时出现了”文件不存在”的提示。他通过”ls -l”命令查看,确认该文件确实存在,并且已经修改了权限,所以可以排除权限问题。