Questions tagged [embedded]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

Filter by
Sorted by
Tagged with
0 投票
2 回答
567 浏览

将现有的嵌入式源代码移植到 RTOS

我有一个现有的嵌入式源代码,它直接在没有操作系统的微控制器上运行。我需要移植代码以在特定的 RTOS 上运行。

在尝试某件事时,有什么指导方针可以从哪里开始?资源、最佳实践和其他见解将非常受欢迎。

0 投票
4 回答
2104 浏览

用于 Arduino 的 Korg Nanokey MIDI 控制器?

我有一个Korg NanoKey,我想用它来控制我在 Arduino 平台上设计的简单合成器。(我有一个Arduino Uno。)基本上,我不关心 MIDI,我只想阅读键盘按下的音符,但如果 MIDI 是我能做到这一点的唯一方法,那么我没关系。所以我最大的问题是,我该怎么做?我无法在互联网上找到其他已经这样做的人。

但更具体地说,我看到了两个挑战:首先,我想将 NanoKey 直接插入 Arduino 的 USB 端口,然后我想知道 Arduino 是否会为 NanoKey 提供必要的电源。其次,我不确定我会阅读什么协议。我可以按照本教程中的说明读取 MIDI 信号吗?

0 投票
3 回答
3147 浏览

为嵌入式应用程序从 std::string 切换到 std::wstring?

到目前为止,我一直在我的嵌入式系统(路由器、交换机、电信设备等)的 C++ 应用程序中使用 std::string。

对于下一个项目,我正在考虑从 std::string 切换到 std::wstring 以获得 Unicode 支持。例如,这将允许最终用户在命令行界面 (CLI) 中使用中文字符。

我应该期待什么并发症/头痛/惊喜?例如,如果我使用仍然使用 std::string 的第三方库怎么办?

由于对国际字符串的支持对我所从事的嵌入式系统类型的要求并不那么强烈,因此我只会在不会引起严重头痛的情况下这样做。

0 投票
2 回答
8058 浏览

Arduino 串行对象数据类型,用于创建一个包含对端口的引用的变量

我正在使用 ArduinoMega2560 开展一个项目。有多个串行端口可用,我想要一个变量来保存对其中一个的引用,如下所示:

但是,Arduino 文档要么有限,要么我没有找到我正在寻找的信息。我认为我需要它“Serial、Serial1 等的类型是什么?”。

0 投票
9 回答
52635 浏览

uint8、uint16等的使用

目前,我正在使用针对 32 位 MIPS 平台的代码库(C、C++ 混合)。该处理器是一个相当现代的处理器[只是提到我们拥有大量的处理能力和内存]。

代码库使用 uint8[1 字节宽无符号整数]、uint16[2 字节宽无符号整数]、uint32[4 字节宽无符号整数]等数据类型。

我知道在将代码移植到不同平台时如何使用这些构造。

我的问题是:

  1. 使用 uint16 的用途/好处是什么,而 uint32 也足够了(如果有的话)?

  2. 使用较短的数据类型(考虑数据对齐)是否会节省内存使用?

  3. 如果是为了节省几个字节的内存,在现代硬件中这样做是否明智?

0 投票
11 回答
4387 浏览

嵌入式环境中的 STL

我是一名 C++ 程序员,多年来一直听说 STL适合在嵌入式环境中使用,因此通常禁止在基于嵌入式环境的项目中使用。我相信像 Boost 这样的 STL 库功能更强大并提供一种更快、更不容易出错的开发方式(当然,语法有点吓人,但一旦过去,我认为它是一个真正的宝藏)。另外,我发现 STL 很重并且增加了代码的最终足迹的说法是荒谬的,因为它被模板化的人只会得到他要求的可编译代码,而不是整个 STL。

我的问题是,这种称为 STL 的民粹主义(至少我周围的大多数人都这么认为)概念不适用于嵌入式环境的原因是什么?

我确实看到了一个类似性质的问题,但在这里我期待帮助指出关于 STL 和嵌入式环境的一般优缺点。

编辑:所以在这里我将在收到回复时添加要点:
1. 可移植性问题
2. 应对 STL 容器的巨大 dymanice 分配
3. STL 难以调试
4. STL 中的深度函数调用导致编译器性能低下内联弱(函子的力量无用!)

0 投票
2 回答
671 浏览

lpc1788上的双缓冲

我面临着很大的担忧。我目前正在参加一个三明治课程,我正在自学如何在嵌入式系统上开发软件——碰巧是在 open1788 板上。

我计划实现双缓冲功能,因为我可以在我的 LCD 屏幕上看到闪烁。确实可以在绘制时查看形状!

使用双缓冲,重绘整个屏幕的速度足够快。也许我应该深入研究管理剪辑,这样我只需要重绘需要的部分屏幕?但这不是问题。

所以,我写了几个函数来处理双缓冲选项的选择。如果我不希望软件使用双缓冲,那么我不会为它分配内存;否则我会。

问题是为堆分配的默认空间高达 1024 字节。我的临时缓冲区的长度为 261120 字节!(481 像素宽每 272 像素高,每个 16bpp)。

结果,malloc 返回 NULL。

我采取的第一个解决方案是放置一个静态缓冲区,我的意思是:

但明显的缺点是即使您不使用双缓冲,它仍然会被分配。

第二种解决方案是编辑配置文件以使堆更大,每替换 1024 字节,例如 1048576 字节 (0x100000)。我不喜欢这个解决方案,因为我应该专注于节省内存空间。

也许我非常怀念嵌入式编程技能?根据这一点,最好的解决方案是什么?我怎样才能取得进步?我不会告诉你我阅读和挖掘数据表的杂乱能力。

如果有人可以为我提供初学者参考资料,我将非常感激,这些参考资料主要适用于我正在编程的电路板。

提前致谢!

0 投票
1 回答
1211 浏览

找出在 XP Embedded 上运行

有没有办法查明我的程序是否在 XP Embedded 上运行?我已经尝试过 .NET System.Environment.OSVersion,但版本信息看起来像“普通”Windows XP 的版本信息,除了次要版本号,依赖它对我来说似乎很脆弱。

0 投票
4 回答
6962 浏览

嵌入式 C++ 项目的代码覆盖率分析

我最近开始研究一个非常大的 C++ 项目,在完成 90% 的实现后,我确定他们需要在测试期间展示 100% 的分支覆盖率。该项目托管在嵌入式平台(Green Hills Integrity)上。我正在寻找 StackOverflow 上其他在类似环境中使用过代码覆盖率产品的人的建议和经验。我对有关这些类型的工具的正面和负面评论都感兴趣。

0 投票
1 回答
3184 浏览

如何在 C/C++ 中模拟中断?

我正在尝试设计一个人工学习单元。自然,我想在微控制器实现之前模拟模型。模拟的主要问题是尝试模拟微控制器传感器中断(例如使用 PIC18)。我并没有考虑实际造成中断,而是试图用代码模拟一个中断。

我想这可以归结为基本的 C/C++ 信息。如果可以,您如何在其中实现/模拟/模拟中断?


15 30 50 per page
1
2 3 4 5
1498226