97得票29回答
在嵌入式开发中,使用C语言而不是C++是否有任何理由?

问题 我在我的硬件上有两个编译器,分别是C++和C89。 我正在考虑使用带类但不使用多态性(以避免虚函数表)的C++。 我想使用C++的主要原因是: 我更喜欢使用“inline”函数而不是宏定义。 我想使用名称空间来避免代码混乱。 我认为C++更加类型安全,主要是因为有模板和详细的强制...

90得票4回答
在8位嵌入式系统上编写像Flex/Bison一样可用的解析器

我正在使用avr-gcc工具链,用C语言在AVR微控制器上作为练习编写一个类似BASIC的小型解释器。如果我要在Linux上运行该程序,我可以使用flex/bison。既然我限定了自己使用8位平台,那我应该如何编写解析器呢?

83得票12回答
嵌入式C++:使用STL还是不使用?

我一直是一个嵌入式软件工程师,但通常在OSI协议栈的第3层或第2层。我不是真正的硬件人员。我通常做电信产品,通常是手持/手机,这通常意味着像ARM7处理器这样的东西。 现在我发现自己处于更普遍的嵌入式世界中,在一个小型创业公司里,我可能会转向“不太强大”的处理器(这是主观的部分)-我无法预测...

81得票3回答
为什么不推荐在太空/辐射环境中使用C++模板?

通过阅读这个问题,我理解到例如为什么在辐射高的环境中,比如太空或核电站中不建议使用动态分配或异常处理。 至于模板,我不明白为什么不能使用。您能否向我解释一下? 根据这个答案,它说使用模板是相当安全的。 注意:我不是在谈论复杂的标准库内容,而是特意制作的自定义模板。

75得票16回答
有哪些能在小内存中运行的交互式语言?

我正在寻找通用编程语言,需要满足以下条件: 具有交互式(实时编码)提示符 在单独使用时仅需32 KB RAM,或者当编译器托管在另一台机器上时,只需8 KB RAM 可以在仅有8-32 KB RAM总量的微控制器上运行(没有MMU)。 以下是我目前的列表,还缺少哪些? Python...

71得票11回答
这个 GCC 错误信息 "... relocation truncated to fit..." 是什么意思?

我正在编写主机加速器系统的主机端。主机运行在 Ubuntu Linux 的 PC 上,并通过 USB 连接与嵌入式硬件通信。通信是通过将内存块复制到和从嵌入式硬件的内存中完成的。 在板子的内存中,有一个我用作邮箱的内存区域,我在这里写入和读取数据。邮箱被定义为一个结构体,并使用相同的定义在我...

68得票12回答
简单串行点对点通信协议

我需要两个设备之间的简单通讯协议(一台PC和一台微控制器)。PC必须向微控制器发送一些命令和参数。微控制器必须传输一组字节(从传感器获取的数据)。 这些数据必须受到噪声保护(除了奇偶校验,我认为我需要一些其他的数据纠错方法)。 是否有任何标准解决方案来实现这一点?(我只需要一个想法,而非完...

68得票7回答
跳转表是什么?

请问有人能够解释一下跳转表的原理以及为什么它在嵌入式系统中是必需的吗?

67得票10回答
嵌入式软件单元测试

在嵌入式系统中,您使用了哪些最佳实践来进行单元测试?

63得票6回答
如果我将输出重定向到 /dev/null,printf 还会产生费用吗?

我们有一个包含很多打印消息的守护程序。由于我们正在使用CPU较弱和其他约束硬件的嵌入式设备,因此我们希望在最终版本中尽量减少printf消息的任何成本(IO、CPU等)。(用户没有控制台) 我的队友和我意见不一。他认为我们可以将所有内容重定向到/dev/null。这样不会产生任何IO成本,所...