embedded相关内容

轻量级的正则表达式解析器

我想使用正则表达式解析器中一些字符串处理,以帮助在C应用程序。我的理想寻找的东西轻量级和开源。目标平台是一个嵌入式系统,所以我们希望尽可能多地保存在特定的内存消耗。我发现一些选项在线,但想知道如果任何人都可以作出更多的建议,可以在这一特定背景下帮助。 非常感谢, 解决方案 Scintilla的,一个开源的文本编辑器组件,使用 Ozan S. Yigit的RE引擎 选择它是因为它是在公共 ..
发布时间:2016-08-21 19:56:06 C/C++

安全存储和访问EEPROM

我最近成立了需要存储在微控制器的EEPROM经常更新的配置变量。添加状态,本程序将立即迫使人们担心 检测EEPROM未初始化的数据(即第一次启动)的, 转换或无效旧的固件版本的数据,和 多个结构,其中每一个可在固件更新生长的寻址。 广泛的谷歌搜索只打开了一篇文章,解决 ..
发布时间:2016-08-21 19:55:24 C/C++

有没有检查堆栈损坏的编程方法

我与多线程嵌入式应用工作。每个线程分配基于其功能堆栈大小。最近我们发现,该线程之一通过定义本地变量比堆栈大小以上的阵列损坏堆栈。该操作系统是uItron。 我的解决办法, 我注册了一个定时器10毫秒,此计时器将检查堆栈损坏。 堆栈腐败检验方法, 1.初始化一些独特的图案堆栈存储器(我用0x5A5A5A5A) 2.从时间检查堆栈存储器的顶部仍然是0x5A5A5A5A 我的问题, 有没有 ..
发布时间:2016-08-21 19:54:51 C/C++

一个简约的人类可读的序列化格式分析器嵌入式系统

通过的“人类可读的序列化格式”的我的意思是 YAML , JSON , INI 或喜欢。请注意, XML 太繁琐,太不方便了,我的目的,让我们把它单独作为最后的手段。 应该存储数据的格式“命名的键 - 值”的对,并允许嵌套和数组。阵列的缺席不是关键的,虽然。此外,类型意识(能够返回,不仅为纯字符串数据)是高度AP preciated。 我需要的究竟是一个纯粹的 C 库,它提供了一个API,用于 ..
发布时间:2016-08-21 19:54:18 C/C++

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

我的工作与使用RS232(通过USB RS232)连接到PC的嵌入式设备。 我在考虑发展我自己的协议: < MAGIC><长度GT;<二进制数据><&CRC GT; 但我不希望推倒重来。 请注意说:我正在考虑相当受限设备:内存,内核没有,也没有标准C的lib 4KB 你能想到这样做(也许开源库)的标准方法是什么? 如果您code自己的解决方案确实有任 ..
发布时间:2016-08-19 16:20:57 C/C++

8个字节按位转

我要寻找C的一个有效的算法来按位转8个字节的数据。我的意思与此的是,如果我有8个字节是这样的: 00011100 00111000 00000001 00000000 11000000 00000000 11111111 01010101 我想获得以下8个字节: 00001010 00001011 01000010 11000011 11000010 10000011 00000010 0 ..
发布时间:2016-08-19 16:19:20 C/C++

我在哪里可以开始使用可编程的硬件?

我已经至少从现在了解编程硬件一点点的很长一段时间的愿望,我想我会问这里得到一些出发点。我是一个多才多艺的合理程序员用Delphi和Objective-C的经验,但甚至从来没有听过​​一个设备端口/ interupt(我不知道的术语),更不用说编程的硬件。 首先,我想什么能够做的是, 购买套件的简单一点与2,3或10个按钮 通过USB将设备插入我的电脑 收听到设备并写一些code做一些事 ..
发布时间:2016-08-19 15:58:50 C/C++开发

单元测试模式为单片机C code

虽然有大量的单元测试框架,支持C,我对如何写微控制器code单元测试(PIC在我的情况有点难倒了,但我认为这个问题是比这更普遍)。 对于许多微控制器写入code都是围绕着写的配置和数据值寄存器,读取寄存器输入数据和响应中断事件。我想知道如果任何人都可以提供最有效的方法来一些这方面的指针。 解决方案 您写; “对于许多微控制器写入code都是围绕着写的配置和数据值寄存器,读取寄存器输入数 ..
发布时间:2016-08-19 15:49:57 C/C++

什么是一些重构方法,以减少编译code的大小?

我需要新的功能遗留固件应用程序。的应用程序的大小已经所述装置的有限的闪存容量邻近和一些新的函数和变量推它在边缘。打开编译器的优化做的伎俩,但客户是警惕这样做是因为他们已经造成了过去失败的。那么,什么是一些常见的事情看重构C code当产生较小的输出? 解决方案 使用生成功能,而不是数据表尽可能 禁用内联函数 打开经常使用到的宏功能 降低了比本机尺寸较大的变数分辨率(即8位微,试图 ..
发布时间:2016-08-19 15:43:44 C/C++

最好的方法开始使用比你的计算机编程其他的东西?

什么是开始使用计算机的编程之外的事情的最好方法? 我不说像手机主流的东西用的API。 请承担工作的C / C ++知识 解决方案 布莱恩,你可能会发现的Arduino 有趣。它价格低廉,pretty受欢迎。我开始玩弄微控制器板和这样一个几年前和导致机器人的兴趣。有趣的那种,至少对我来说。 如果问津的一个.NET味的开发环境,有一个模拟到Arduino通话 netduino 了是值得一 ..
发布时间:2016-08-19 15:34:41 C/C++

进入嵌入式

我想用嵌入式领域熟悉自己,但也只有有限的资源在时间和设备的购买条款。 什么是良好的语言来包装我的头周围内置,无需投入太多的时间扶着一个专门为嵌入式语言?我最熟悉PHP,Java和ActionScript中,但不幸的是所知甚少C.我记得读书的地方,有人用PERL嵌入式系统编程,但不知道如果这是真的有可能。 可以被学习,而无需购买筹码做,等通过模拟或如? 有人可以推荐一个简单的路线图 ..
发布时间:2016-08-19 15:34:00 C/C++

一个好的串行通信协议/堆栈的嵌入式设备?

写各个项目的几个不同的自定义串行协议之后,我开始变得沮丧重新发明轮子每一次。代替继续开发定制的解决方案,为每一个项目,我一直在寻找一个更通用的解决方案。我不知道是否有人串行协议知道(或更好,但实现)符合下列要求: 支持多台设备。我们希望能够支持一个RS485总线。 有保证的收发。某种确认机制,以及一些简单的错误检测(CRC16可能是罚款)。 不是主/从。理想的是,从机将能够以异步方式发送 ..
发布时间:2016-08-19 15:33:41 C/C++

良好(preferable免费)学习资源/书籍,嵌入式C / C ++程序员

好了,最初我之所以问这个问题是我不时需要时间学习材料挣扎C / C ++开发谁是一般主管,但需要改进某些方面直接关系到嵌入式系统软件开发(电信为主)。而且我发现我没有这么多有用的东西推荐。 莫非社会的帮助与很好的参考(我想这是更关系到初级/中级但我想好材料成熟的工程师更有价值)? 明显的区域覆盖是: 在资源有限的条件下开发软件。 低层次的编程策略。 硬件之前,软件开发是可用的。 特 ..
发布时间:2016-08-19 15:33:34 C/C++开发

sqlite3的列类型

我开始有将数据从 XML 转换为分贝新项目。 XML的都有自己的格式,不能用于填充分贝。 我选择使用 sqlite的,因为它是一个嵌入式平台,我需要一个轻量级的库。 我的列类型挣扎。 我写了下面的SQL语句: 静态INT回调(无效* NOTUSED,INT ARGC,字符** argv的,字符** azColName) { INT I; 对于(i = 0; I< ARGC ..
发布时间:2016-08-19 15:05:50 数据库

实施可以考虑作为提示语句的实际?

在C中,注册存储预选赛是一个的提示的到,这样的标识应该尽可能快地(例如存储在被访问的实现CPU寄存器)。 §6.7.1 与存储类说明注册一个对象标识符的声明表明,访问对象是尽可能快。到这样的建议是有效的程度是实现定义的。 和 §6.7.3的用途限制条件的(如寄存器存储 类)是促进优化[...] 不过,我听说实现(在嵌入式系统中专门找到),其中注册具有较强的意义:它是一个 ..
发布时间:2016-08-19 14:47:45 C/C++

稍微延迟从中断返回后

我已经写了使用上的STM32发现船上一个按钮一个小程序,作为以二进制/十进制/十六进制模式(计数器通过3个选项屏幕周期,一旦pressed,计数到16复位通过选项循环)之前每个preSS。 我遇到了一个小小的“错误”(读,不是真的),有我有点困惑。如果我在十进制/十六进制计数,它返回在选项中循环立即但如果我在二进制数达其这样做的(明显的延迟)之前需要1秒〜左右。 INT主要(无效) { ..
发布时间:2016-08-19 14:45:15 C/C++

是否c。提供一种方式来声明一个外部变量为“只读”,但将其定义为可写的?

我开发为使用GCC C.在库中的嵌入式产品一个硬件抽象库有应只读链接库中的应用程序中的变量,但可以从编译单元内进行修改是定义它。 有没有一个标准,申报整数(库头文件)可以接受的方式,将允许应用程序读取变量中的值,而是告诉编译器生成一个错误,如果任何试图生成code,它写回呢? 例如,如果我要声明的功能的是: 的extern无效美孚(INT常量吧); ...那么调用者被允许通过一个局部变 ..
发布时间:2016-08-19 14:42:08 C/C++