HTML/CSS

lwIP是否支持Zeroconf?

我看到 lwIP 有一些AutoIP(又名IPv4LL,又名为 RFC 3927 )代码,但是我不能确定它是否在 Zeroconf 堆栈,即mDNS和 DNS-SD (使用 RFC 2782 )。 p> 那么lwIP是否支持DNS-SD服务发现?如果没有,是否可以轻松地从像 Avahi 这样的项目(假设许可允许)中移植代码? p> 解决方案 不,lwIP不支持Zeroconf除Aut ..
发布时间:2017-08-15 20:22:14 HTML/CSS

嵌入D(编程语言)

我喜欢很多关于D的内容。 统一文档(这将是 使我的工作很容易) 内置于 语言的测试功能。 以语言调试代码支持。 转发声明。 (我总是 认为这是愚蠢的声明 相同的功能两次。) 内置功能来替换 预处理器。 模块 用于正确类型检查的typedef 而不是别名。 嵌套函数。 (咳嗽 PASCAL 咳嗽) 输入和输出参数。 (多显而易见!) 支持低级编程 - 嵌入式系 ..
发布时间:2017-08-15 20:21:33 HTML/CSS

什么是嵌入式系统? Mobile可以被视为嵌入式产品吗?

嵌入式系统是什么意思? 如果我们正在制作的系统/机器或产品是多种用途,那么我们可以将其视为嵌入式系统?还是只有专门用于被认为是嵌入式系统的特定任务的系统? PC /移动/笔记本电脑可以被视为嵌入式系统吗? 解决方案 通常嵌入式系统是一个投入运行对于一个特定的,狭隘的目的,缺乏普通的桌面/笔记本电脑上可以找到的通用用户界面。 这不是说嵌入式系统不能有这些 - 我已经看过测试设备, ..
发布时间:2017-08-15 20:21:06 HTML/CSS

如何做嵌入式代码覆盖

我为非POSIX嵌入式系统编写了一个项目,所以我不能使用gcc选项 - 覆盖(我没有读或写)。还可以如何产生像gcov一样的输出。我有一个输出函数。 解决方案 可以通过嵌入式跟踪处理器来最容易地完成,一个板设计暴露跟踪端口,以及合适的硬件调试器和关联软件。例如,许多基于Cortex-M的设备包括ARM的嵌入式跟踪宏单元(ETM),Keil的uVision IDE和ULINK-Pro调试器支 ..
发布时间:2017-08-15 20:20:39 HTML/CSS

安全存储和访问EEPROM

我最近建立了在微控制器的EEPROM中存储不经常更新的配置变量的需要。将状态添加到程序中,立即强制人们担心在EEPROM中检测未初始化的数据(即第一次启动) 转换或使旧固件版本的数据变为无效,以及 寻址多个结构,每个结构可能在固件更新中增长。 广泛的Google搜索只发了一篇解决通过固件更新保持EEPROM数据有效。有没有人使用那篇文章讨论的方法?有没有更好的替代方法? 解决方 ..
发布时间:2017-08-15 20:19:49 HTML/CSS

一种在嵌入式设备上将C89中的字节流转换为数据包流的方法

我正在使用一个使用rs232(rs232 over USB)连接到PC的嵌入式设备。 我正在考虑开发自己的协议: 但我不想重新发明。 请注意:我考虑相当受限的设备:4kb的RAM,没有内核,也没有标准的C lib。 你能想到一个标准的方法(也许是开源库)? 如果您编写自己的解决方案确实有 ..
发布时间:2017-08-15 20:19:35 HTML/CSS

工作站和嵌入式程序员之间的心态差异

你认为在一个桌面环境(windows,linux,无论什么...)和在嵌入式系统上工作的人的程序员之间的心态有什么区别? 我可以想到的一个简单的例子是,在嵌入式环境中,我总是检查一个malloc不是NULL。大多数代码我已经看到,目标桌面当然不是检查malloc返回值的努力。 任何其他心态差异的例子? 解决方案 有趣的是你在这个例子中提到了malloc()。 在每一个硬实 ..
发布时间:2017-08-15 20:19:23 HTML/CSS

嵌入式系统的简约人性化可读序列化格式解析器

我的意思是 YAML , JSON 等等。 INI 请注意, XML 对于我的目的来说太冗长和太不方便,所以我们最后一个把它放在一边。 格式应该将数据存储为名为key-value“对的数据,并允许嵌套和数组。不存在阵列并不重要。另外,类型意识(不仅仅是简单字符串返回数据的能力)受到高度赞赏。 我需要的是纯粹的 C 库,它提供了解析数据的API(编码是可选的,重要性较小)。当编译为ARM ..
发布时间:2017-08-15 20:19:01 HTML/CSS

嵌入式C ++系统中的持续集成/单元测试

一般用于单元测试的工具,特别是嵌入式系统的连续集成? 我特别以为您通常需要进行交叉编译和部署,也不能容易地将目标平台可视化。也可能难以运行测试代码和框架。 我可以用什么来缓解这些困难? (我认为它应该是某种双重定位,构建服务器在更容易的目标上运行测试) 解决方案 对于单元测试,请查看Unity。 http://sourceforge.net/apps/trac/unit ..

ARM Cortex M3如何在硬故障之前确定程序计数器值?

我有一个使用STM32F103(ARM Cortex M3)的嵌入式项目,在发布模式下偶尔会出现硬故障。作为恢复的一部分,我想从硬故障之前检索PC值,并将其存储在电池供电区域的以后调试中。 我如何确定程序计数器在硬故障点的值?显然,PC现在被设置在硬突破中断的位置。 我应该在哪里看?那里有正常模式寄存器银行的地址? 谢谢! 解决方案 Cortex-M3使用与“经典”ARM类 ..
发布时间:2017-08-15 20:17:54 HTML/CSS

简单的去抖动例程

这是一个没有任何操作系统的简单的裸机系统。 我想避免具有特定计数的循环结构,因为处理器速度可能会波动。 解决方案 我想你可以在这里学到很多东西: http://www.ganssle.com /debouncing.pdf 如果可能,您最好的选择是在硬件中执行此操作,但也有一些软件在这方面的想法。 p> 来自TFA的简单示例代码: #define CHECK_MS ..
发布时间:2017-08-15 20:17:27 HTML/CSS

ISR和函数调用之间的区别?

我想了解ISR(中断服务程序)和函数调用之间的区别。 从硬件的角度来看,我觉得函数调用和ISR都是一样的。请纠正我错了 我可以找到有关ISR和函数调用的内容如下: ISR: 程序 执行 期间可能发生的异步事件>将PC,标志和寄存器保存在堆栈中, 禁用所有中断并加载ISR的地址 ISR不能有参数可以传递给它 无法返回值 启用中断 一般小因为他们正在花时间进行 ..

在嵌入式系统中处理堆栈溢出

在嵌入式软件中,如何以通用方式处理堆栈溢出? 我遇到一些处理器,以像最近的AMD处理器那样以硬件方式进行保护。 维基百科有一些技巧,但那些真实的实践方法呢? 任何人都可以提供一个明确的建议方法,在所有情况下都适用于今天的32位嵌入式处理器? 解决方案 理想情况下,您使用静态堆栈使用(无递归调用)编写代码。然后,您可以通过以下方式评估最大堆栈使用情况: 静态分析(使用工具) ..
发布时间:2017-08-15 20:17:01 HTML/CSS

嵌入式+实时开发培训的建议

我正在为嵌入式实时工程学习事业。 但是找到好的培训材料有些困难。 特别是因为您无法像使用桌面应用程序开发一样体验嵌入式开发。 是否有任何可用于基础培训的书籍或套件? 任何关于RTOS学习的建议? 使用RTOS时是否有任何建议? 解决方案 这真的是一个复杂的问题,有这么多的选择和权衡。 关于硬件,我会去找一个低端的微控制器,因为当它们变小时,事情往往变得更容易,离桌面 ..
发布时间:2017-08-15 20:16:13 HTML/CSS

嵌入式系统上的“唯一性”/熵的来源

我有一个嵌入式系统。在启动或重置时,我想要做的是生成唯一的ID,以便在不同的重新启动时以很高的概率生成不同的唯一ID。 它无法访问实时时钟,但它可以访问ADC和UART。我想知道是否有一个体面的方法从这些来源收集熵,以生成唯一的ID。我很熟悉 Yarrow 。有没有好的方法来使用这个? 不幸的是,我没有任何可预见的特征的噪声源; ADC连接到多个相对低噪声的输入,所以我想我只能使用AD ..
发布时间:2017-08-15 20:15:59 HTML/CSS

在多任务环境中饲养看门狗的策略

将一些嵌入式代码移植到FreeRTOS后,我对这个看门狗留下了一个有趣的困境。看门狗定时器是我们应用的必需品。使用FreeRTOS对我们来说也是一个巨大的福音。当应用程序更加单一的任务时,它会及时地向监督机构提供逻辑流程,以便我们能够及时确保任务正在顺利进行。 有多个任务,但这并不容易。一个任务可能由于某种原因而不能取得进展,但另一个任务是做得很好,并且取得了足够的进展,以便让监督者高兴地进 ..
发布时间:2017-08-15 20:15:46 HTML/CSS

解开汇编语言意大利面条码

我继承了一个用8051汇编语言编写的10K线程序,需要进行一些更改。不幸的是,它是用最好的意大利面条代码的传统。该程序作为单个文件编写 - 是一个迷宫的CALL和LJMP语句(总共约为1200个),子程序具有多个入口点和/或出口点,如果它们可以被识别为子程序。所有变量都是全局的。有评论有些是正确的。没有现有的测试,没有预算的重构。 应用程序的一点背景:代码控制目前在国际上部署的自动售货机应用 ..
发布时间:2017-08-15 20:15:33 HTML/CSS

什么是Test-and-Set用于?

阅读测试和设置后维基百科条目,我仍然是留下了一个问题“什么是测试和设置?” 我意识到可以使用它来实现Mutex(如维基百科所述)但是它有什么其他用途? 解决方案 您可以随时在数据写入数据后进行一些工作,确保自从您启动以来,另一个线程没有覆盖目的地。许多锁定/互斥锁算法需要这种形式。 ..
发布时间:2017-08-15 20:14:52 HTML/CSS

康维生活的低成本使用效果是什么?

限制:一个96x128的电路板,大约2kB的RAM可用和52MHz的处理器(请参阅这里的技术规格: http://www.getinpulse.com/features )。 我目前的将每个单元格表示为矩阵中单个位的天真解决方案(96 * 128/8 = 1,536字节)有效,但速度太慢。可以使用什么技巧来提高性能? 存储活细胞的坐标(例如在这个实现中 http://dotat.at/ ..
发布时间:2017-08-15 20:14:39 HTML/CSS