为了重用和移植嵌入式软件,绝对必须编写无歧义的代码。在此处的上一篇文章“了解可移植类型”中,讨论了可移植类型的基础,以及char,int和long的常见类型如何取决于体系结构和含义。… 继续阅读 嵌入式基础–使用便携式类型的5个提示
类别: 嵌入式基础
嵌入式基础– Header Guards
头保护是一项重要功能,应包含在所有头文件中。头文件保护的目的是防止宏,typedef,枚举和函数原型被意外地两次包含在源文件中。如果确实将这些定义包含两次,则可能会由于以下原因导致编译器错误:… 继续阅读 嵌入式基础– Header Guards
嵌入式基础–阻塞驱动程序与非阻塞驱动程序
可以采用许多不同的方式来设计和实现驱动程序,但是无论采用哪种方法,都必须预先考虑一个关键特性。阻止还是不阻止。这个决定不仅会影响驾驶员的效率,还会影响系统的实时行为。驱动程序阻塞… 继续阅读 嵌入式基础–阻塞驱动程序与非阻塞驱动程序
嵌入式基础–代码和数据空间的神秘化
在为资源受限的系统开发软件时,强烈建议开发人员使用跟踪代码,数据和RAM使用情况的指标。始终可以在编译器生成的地图文件中找到此信息,但不一定总是最终值和总值。许多编译器会计算这些值并将其打印到… 继续阅读 嵌入式基础–代码和数据空间的神秘化
嵌入式基础–了解微控制器启动过程
嵌入式软件开发中最容易被忽视的过程之一是微控制器启动过程。原因是硅工具链非常擅长提供和抽象启动过程,因此开发人员通常不会考虑它。不幸的是,这可能导致缺乏对微控制器的了解… 继续阅读 嵌入式基础–了解微控制器启动过程
嵌入式基础–一些关于数组的误解
数组是C语言中使用最广泛的数据对象之一,但事实证明,数组存在许多误解,而且一些技巧对于大多数程序员来说都是完全不被理解或未知的!以一个简单的数组初始化为例,每个元素为十进制20:… 继续阅读 嵌入式基础–一些关于数组的误解
设备驱动程序白皮书
随着新年的临近,人们的思想将开始转向可以在新年改善自己的决议和行动。这些决议通常反映出我们希望看到的身体或精神变化,很少包含对工作能力的改进。因此我以为… 继续阅读 设备驱动程序白皮书
嵌入式基础–了解软件设计周期
通常认为开发人员需要了解他们编程时所使用的语言,开发人员所使用的微控制器和工具链,但这只是项目实施阶段的狭窄关注点。为了真正正确地实现嵌入式软件,需要对软件设计周期有一个完整的了解… 继续阅读 嵌入式基础–了解软件设计周期
嵌入式基础–线性动态电流
当需要开始针对能耗优化嵌入式设备时,通常真的很想通过调整系统的工作电压来开始。如果工程师回头看一下有关MCU功耗的笔记,他们会发现一些类似Power = Constant *的东西。… 继续阅读 嵌入式基础–线性动态电流