就是那个问题。断言的使用通常甚至使最有经验的开发人员也感到困惑。开发人员应考虑要传递给ASSERT的表达式是潜在的错误情况,还是试图捕获错误。这种情况下的错误将是应满足以下条件的运行时条件:… 继续阅读 技巧和窍门–何时进行ASSERT或不ASSERT…
类别: 软件
工具类– The ANSI-C Standard
ANSI-C标准可能是任何嵌入式软件开发人员都可以使用的最重要的工具之一。 ANSI C标准规定了C语言是什么,其语法,行为和功能。尽管是编写地球上大多数嵌入式软件的基础标准,但实际上很少有开发人员… 继续阅读 工具类– The ANSI-C Standard
嵌入式基础– The difference of ‘ ‘ and ” “
嵌入式软件开发人员通常与低级传感器交互,并且对如何使用带符号和无符号类型有很好的了解,但是在字符串和字符类型方面,许多开发人员很容易感到困惑。以使用为例‘v’ and “v”在定义中或作为函数参数。许多开发人员会… 继续阅读 嵌入式基础– The difference of ‘ ‘ and ” “
工具类–开源循环缓冲区
Circular buffers are a critical component to have in the embedded software engineers’ toolbox. Over the years there have been many different implementations and examples of circular buffers that have littered the internet. I’ve grown particularly fond of the open source CBUF.h module that can be found at //github.com/barraq/BRBrain/blob/master/firmware/CBUF.h The CBUF.h module implements a circular buffer using … 继续阅读 工具类–开源循环缓冲区
使用循环缓冲区自定义printf的7个步骤
通常不建议将printf与基于微控制器的嵌入式系统一起使用,这是行业最佳实践。避免使用printf的几个原因是,它通常效率低下,具有阻塞功能并且会中断嵌入式系统的实时行为。事实是… 继续阅读 使用循环缓冲区自定义printf的7个步骤
嵌入式基础–使用便携式类型的5个提示
为了重用和移植嵌入式软件,绝对必须编写无歧义的代码。在此处的上一篇文章“了解可移植类型”中,讨论了可移植类型的基础,以及char,int和long的常见类型如何取决于体系结构和含义。… 继续阅读 嵌入式基础–使用便携式类型的5个提示
技巧和窍门–中断API
中断在实时嵌入式系统中起着至关重要的作用,但是很少有中断控制与应用程序编程接口(API)相关联。汇编语言代码或编译器内在函数通常散布在整个代码中,使得使用中断函数很危险且难以理解。本文将探讨中断API应该具有的功能… 继续阅读 技巧和窍门–中断API
嵌入式基础–代码和数据空间的神秘化
在为资源受限的系统开发软件时,强烈建议开发人员使用跟踪代码,数据和RAM使用情况的指标。始终可以在编译器生成的地图文件中找到此信息,但不一定总是最终值和总值。许多编译器会计算这些值并将其打印到… 继续阅读 嵌入式基础–代码和数据空间的神秘化
使用堆栈卫士提高代码完整性
开发可靠的嵌入式软件取决于规划最坏的情况,并确保有防护措施和陷阱来处理这些情况。嵌入式软件中经常被忽略的一个领域是堆栈。堆栈是临时存储,供微控制器用来存储信息,例如局部变量,… 继续阅读 使用堆栈卫士提高代码完整性
设计新闻CEC–嵌入式系统的Baremetal C编程
课程概述:C编程语言是有史以来使用最广泛且最成功的计算机编程语言之一。当为没有操作系统的嵌入式系统开发固件时,有许多C概念很容易使开发人员失望。本课程将回顾开发关键技术的关键概念… 继续阅读 设计新闻CEC–嵌入式系统的Baremetal C编程