问题标签 [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.

0 投票
6 回答
2973 浏览

.net - 如何提高垃圾回收性能?

可以使用哪些优化模式来提高垃圾收集器的性能?

我问的原因是我使用 Compact Framework 做了很多嵌入式软件。在慢速设备上,垃圾收集可能会成为一个问题,我想减少垃圾收集器启动的时间,当它启动时,我希望它更快地完成。我还可以看到,使用垃圾收集器而不是反对它可以帮助改进任何 .NET 或 Java 应用程序,尤其是重型 Web 应用程序。

这是我的一些想法,但我没有做过任何基准测试。

  • 重用临时类/数组(减少分配计数)
  • 将活动对象的数量保持在最低限度(更快的收集)
  • 尝试使用结构而不是类
0 投票
5 回答
693 浏览

linux - Blackbox type data logging

In a Linux embedded application I'm developing, there is the need to record some events that happen from time to time. These records are saved on a MTD flash device and once written there is no need to change them or do efficient searches, but read access is required to show the data back to the user. A big problem is that power can go away at any time, without a proper shutdown sequence. The frequency these events occur can be very slow (days/weeks), but several of them will occur at once. The data to be saved for each event is strongly typed: date, time, a couple of short text strings and several integers.

Currently I inherited a solution based on jffs2 and SQLite that is far from optimal because the DB file sometimes get corrupted. When this happens the whole file gets unreadable and there is no way to understand if it was caused by a bug in jffs2, or in SQLite or if the flash sector was bad, or if the power was cut at the wrong time.

Is there a library or a combination of filesystem/library that can better help me solve this kind of problem ? Or should I just use a text file with a CSV-like format ?

0 投票
4 回答
446 浏览

graphics - 动态(算法)图形技术

我正在为具有有限内存(512k 闪存,32k RAM)的 32 位处理器编写应用程序。

该设备上的显示为 128x160 和 16 位颜色,如果我要在处理器上缓冲它,通常会消耗 40k 内存。我没有那么多内存,所以我正在寻找动态生成屏幕数据的技术、技巧、窍门和想法。

可能有帮助的事情:

  • 也许您知道这种限制的资源
  • 也许您已经动态生成了有吸引力的图形
  • 在我扫描显示器时,是否有一种通用算法可以用来即时组合程序内存中的元素(包括 alpha 混合)
  • 简单的矢量渲染技术(或免费(bsd/mit/apache)源码)
  • ???

我有一个乘法器,但没有浮点处理器。显示器本身有一个非常简单的控制器和用于显示器的内存——但是读取和写入很昂贵,所以如果可以避免的话,我不想将它用作我的工作区。

-亚当

0 投票
8 回答
7330 浏览

c - 什么是嵌入式系统的好 C 内存分配器?

我有一个单线程的嵌入式应用程序,它分配和释放大量的小块(32-64b)。基于缓存的分配器的完美场景。虽然我可以尝试编写一个,但它可能会浪费时间,并且没有像已经在前线的一些解决方案那样经过测试和调整。

那么我可以在这种情况下使用的最佳分配器是什么?

注意:我在系统中使用 Lua 虚拟机(这是 80% 以上分配的罪魁祸首),所以我不能轻易地重构我的代码以使用堆栈分配来提高分配性能。

0 投票
10 回答
1023 浏览

embedded - 我应该从哪里开始使用 HDL?

我是一名自学成才的嵌入式开发人员。我主要使用用 C 和 ASM 编写的 AVR,但我也涉足过其他系统。我希望转向更复杂的设备,如 CPLD 和 FPGA,但我不知道从哪里开始。所以我的一个半问题是:

  1. 您更喜欢 VHDL 还是 Verilog,为什么?
  2. 对于没有 HDL 经验的人开始学习这样的野兽,有什么好方法?
0 投票
5 回答
8418 浏览

database - 嵌入式系统上的 Sqlite

我有一个使用 Sqlite 在 PC 上生成的数据库文件。然后将该文件传输到没有操作系统的基于 ARM7 的嵌入式系统。嵌入式系统必须访问这个数据库,但不需要更新它。

我一直在尝试让 sqlite3 足够小以用于嵌入式系统,但到目前为止,我无法将应用程序大小设置为低于 256 KB(我的限制)。

有没有人能够将 sqlite3 缩小到这个大小?有没有其他软件可以用来读取这个数据库?

编辑:我正在尝试使用 C 访问数据库。这将使用 sqlite3_exec() 函数完成。

有两张桌子。一个表有 ID 和文本,第二个表有 ID,链接到第一个表的 ID、文本和状态值。唯一需要的访问权限是第一个表上的 ID 或部分文本,以及第二个表上的 ID。

也许有一些独立的代码可以用来访问数据库?

0 投票
2 回答
3083 浏览

c# - 如何从 C# 打印到 Bluebird BIP-1300 热敏打印机?

我的应用程序在本地 CF 2.0 下运行,我想知道如何在 http://www.milliontech.com/home/content/view/195/95/'>Bluebird 的嵌入式打印机中连接和发送要打印的内容BIP-1300 设备。

理想情况下,我想要一个 C# 中的示例。

先感谢您。

0 投票
3 回答
1443 浏览

c - 在“C”代码中使用链接器命令文件变量的绝对值

我有一个链接器命令文件,它将堆栈的顶部地址分配给一个变量

我想在“c”程序中使用这个地址——我想将堆栈复制到另一个位置,然后更新堆栈指针以指向新位置,然后对原始 RAM 库进行破坏性内存测试。

我发现如果我做类似的事情

然后该函数似乎传递了存储在堆栈位置的值

而不是堆栈本身的地址。任何人都可以帮忙吗?

0 投票
5 回答
1940 浏览

embedded - 裸机系统的软件测试

我正在用 C++ 为不支持操作系统的嵌入式系统编写一个项目;几乎没有库支持。非常裸机。因此,我的相当多的代码是紧密耦合的(例如,软件触发的中断和它们正上方的层)。

我正在做的部分工作涉及更改串行端口配置,从而驱动 PC 端(UI 端)和微处理器(活动端)的并发更改。到目前为止,我在一个非常小心的增量类型开发中做得很好(一块一块地安装它)。但是,我希望对我的代码在工程意义上的工作更有信心。

对于这种情况,您会推荐什么样的方法/框架?

编辑:

我在 Tern, Inc. 制造的 ACore86 板上使用 AMD186 ES。编译器:Paradigm,免费版(随板提供)。不幸的是,我没有选择改变我正在做的事情。

0 投票
2 回答
255 浏览

c++ - 当用户尝试发送短信时收到通知

我的应用程序作为服务实现(在 services.exe 下运行)。我正在添加一项新功能,该功能需要在用户发送 SMS 时得到通知。

我曾尝试使用IMAPIAdviseSink、 注册IMAPISessionIMsgStore,但我没有收到任何通知。

我可以看到的其他选项是创建一个短消息服务提供者或实现IFormProviderEx接口,但我不确定这可能对 SMS 功能和用户体验产生什么影响。

有什么方法可以让我的应用程序可靠地获取在发件箱中创建的 SMS 通知?

编辑:该应用程序是用本机 C++ 编写的。我研究了 RIL 和其他几个 API,但我只能找到有关收到传入 SMS 通知的信息。

好的,更多信息:IMAPIAdviseSink在独立应用程序中注册我的作品的相同代码。它只是无法在服务中获得通知。

反正有没有在我的服务中获得通知?还是我需要一个单独的流程来监控 SMS 事件并通知我的服务?

标记