HTML/CSS

最小化sprintf或printf的实现

我正在处理一个嵌入式DSP,速度至关重要,内存很短。 目前,sprintf使用了大部分功能的资源我的代码我只使用它来格式化一些简单的文本:%d,%e,%f,%s ,没有精确或异国情调的操作。 如何实现一个更适合我使用的基本sprintf或printf函数? 解决方案 这个假设存在一个 itoa 将int转换为字符表示,并且 fputs 写出一个字符串到任何你想要的地方。 ..
发布时间:2017-08-15 19:40:33 HTML/CSS

嵌入式C项目有一个很好的XML解析器吗?

我在一个非常小的XML解析器为嵌入式项目。它需要编译成10-15k,不需要验证,需要简单便携。 解决方案 我能够调整C的以下XML解析器库的编译标志,并在我的Ubuntu机器上裁减超过50%的大小。 Mini-XML是唯一接近您所要求的内容: Mini-XML (36K) Expat (124K) RXP (184K) 这里有一个很好的讨论: 嵌入式系统的C XML库 ..
发布时间:2017-08-15 19:40:19 HTML/CSS

Linux如何确定模块init调用的顺序?

我有一个使用SPI闪存存储的设备,我想在该闪存设备上使用UBIFS文件系统作为我的rootfs。我面临的问题是在SPI模块初始化之前UBI模块初始化。因此,当UBI加载时,它不能附加到我告诉它的UBI设备(通过内核命令行),所以没有rootfs。下面的控制台输出说明了这一点。 我已经潜入到源码中,看到 init / main.c 有一个 do_initcalls()函数,只需调用一个函数指针 ..
发布时间:2017-08-15 19:39:14 HTML/CSS

用于微控制器的GUI库

我想为微控制器创建GUI驱动的应用程序( Atmel XMEGA ),连接到128x64点图形LCD( EA DOGL128-6 )和4个按钮进行导航。 控制显示本身(例如绘制像素和字符)是否问题,但按顺序为了防止我重新创造出我正在使用c编写的GUI-Library / -Toolkit,包含其源代码,将在32 MHz 8位微控制器上运行,并至少提供以下控件: / p> 面板(分组元素 ..
发布时间:2017-08-15 19:38:47 HTML/CSS

编写固件:装配或高级?

相关: 测试固件 启动微控制器模拟器/模拟器 解释汇编代码 如果您正在为微控制器如果您使用汇编或C或其他高级语言编写的话,真的有区别吗?如果你编写了C代码,你将如何编译它? 谢谢 解决方案 几条评论: 1)除非性能或优化限制值得保证,否则绝对不会装配。以下指标通过装配完成: 编码时间 调试时间 测试时间 记录时间 时间找出(1年后) )你编码时你正 ..
发布时间:2017-08-15 19:38:34 HTML/CSS

如何使用_small_代码空间减少十六进制ASCII字符转换的代码空间?

如何使用小代码空间减少十六进制ASCII字符转换的代码空间? 在嵌入式应用程序中,我有非常有限的空间(注1)。我需要将串行I / O的ASCII码值'0'的字节转换为'9',将'A'转换为'F'到通常的十六进制值0到15.此外,所有其他240个组合,包括'一个'到'f',需要被检测(作为一个错误)。 库函数如 scanf(),atoi() strtol()是太远,不能使用。 速度 ..
发布时间:2017-08-15 19:37:40 HTML/CSS

使用进位位和溢出位的原因

我正在介绍嵌入式系统类。正如我正在阅读,我遇到一个有趣的问题,即进位位和溢出位的实现。我知道一个进位和溢出位是什么,但是我不能想到有人会使用进位的情况。我认为的一个原因是调整记忆。有没有人能够清楚这个问题吗? 谢谢! 解决方案 进位标志对于比处理器的累加器或寄存器宽的数据有效执行算术和逻辑运算非常有用。这可能不是现代64位处理器的一个问题,但早期的微处理器和一些当前的微控制器可能仍然 ..
发布时间:2017-08-15 19:37:27 HTML/CSS

用于专有ARM设备的交叉编译单声道

目前正在开发中,我们正在开发一些手持式小端设备的软件。我们目前正在C这样做,这是一个痛苦。幸运的是,我们创造这些设备的公司提供了c ++的支持,不幸的是,同一家公司搞砸了c ++库,所以项目在编译的连接器阶段失败了,呵呵! 所以最近我一直在寻找替代品,最有趣的选择是单声道。我可以看到,编辑单声道手臂主要是在scratchbox中完成的,这似乎是一个很好的选择。但我也可以看到,我需要设置类似于 ..
发布时间:2017-08-15 19:37:14 HTML/CSS

在SPI问题中初始化SD卡

我已经看过Stack Overflow问题 使用SPI界面初始化microSD卡 并没有看到任何与我的问题相符的答案(也就是我还没有尝试过的事情)。 我有一个类似的问题,我试图通过微控制器的SPI接口访问SD卡(具体来说是一个 HC908 )。我试过遵循物理层简化规范v2.00中的流程图,似乎在创见1 GB& 2 GB和AE& C 1 GB卡。但是我在我的相机上使用的旧卡上的其他三张随 ..
发布时间:2017-08-15 19:36:46 HTML/CSS

C嵌入式系统的XML库

我正在使用一个嵌入式系统项目,该项目正在使用XML来获取数据进出系统。我不希望XML处理能够使用 snprintf() / strcat()和朋友,或通过计数“ ”和“> ”字符解析XML。 > 我发现了几个XML库,其中一些甚至可能足够小,但最接近C的是C ++,它不在该系统的卡中。我希望能找到一个满足以下约束的XML库: C源代码 没有动态内存分配 便宜。免费是更好的,但是co ..
发布时间:2017-08-15 19:36:17 HTML/CSS

了解GNU链接器脚本的位置计数器

我正在从事一个大学项目,我从头开始为Atmel SAM7S256微控制器编写软件。这比我之前使用过的其他MCU更深入,因为关于链接器脚本和汇编语言的知识在这个时候是必要的。 我已经真的仔细检查SAM7S芯片的示例项目,以便充分了解如何从头开始构建SAM7 / ARM项目。一个显着的例子是Miro Samek的“使用GNU构建裸机ARM系统”教程发现 here (这个问题的代码来自哪里)。我也 ..
发布时间:2017-08-15 19:35:58 HTML/CSS

通过/ dev / mem驱动Beaglebone GPIO

我正在为Beaglebone上的一个LED闪烁写一个C程序。我知道我可以使用sysfs方式...但是我想看看是否可以得到与/ dev / mem映射物理地址空间相同的结果。 #ifndef _BEAGLEBONE_GPIO_H_ #define _BEAGLEBONE_GPIO_H_ #define GPIO1_START_ADDR 0x4804C000 #define G ..
发布时间:2017-08-15 19:34:58 HTML/CSS

解释ARM(特别是移动)外设寻址和总线架构?

我会先说我不是专家,我的问题可能会误会,在这种情况下,如果你纠正我并附上资源,我会很高兴,以便我们进一步了解更多细节。 我试图找出系统总线以及移动设备中出现的各种设备(如传感器芯片,WiFi / BT SoC,触摸屏等)的方式。)由CPU(和其他MCU)寻址。 在PC世界中,我们有总线仲裁器将命令/数据路由到设备, afaik,地址是硬连线在板上(纠正我,如果我错了)。然而,在移动世界 ..
发布时间:2017-08-15 19:34:00 HTML/CSS

ARM Cortex M4(或M3)上的周期计数器?

我正在Cortex M4上调试一个C函数(这个函数是从一个中断调用的,但是我可以在Cortex M4中提取它,并在其他地方进行配置文件)。 计算此功能中通常使用的周期数的可能性是什么? 函数应该在〜4000个周期的顶部运行,所以RTC不是一个选项,我猜,手动计算循环的反汇编可能会很痛苦 - 只有平均值才有用,因为我想在一个典型的流上配置典型的闪存/内存使用模式。 我听说过循环计数器寄 ..
发布时间:2017-08-15 19:33:20 HTML/CSS

如何为嵌入式系统设计串行命令协议?

我有一个嵌入式系统,我正在与串口进行通信。命令结构现在被设计为交互式操作:它显示提示,接受几个命令,并以人类可读的形式显示结果。 我是考虑将其更改为更多的机器可用格式,所以我可以通过MATLAB GUI与它进行交谈,而不会有太多麻烦(现在它在交互式提示和不同的消息长度等方面打嗝)。 是否有文档或标准描述如何为嵌入式系统设计好的串行命令协议? 解决方案 从编写软件到使用RS232 ..
发布时间:2017-08-15 19:32:26 HTML/CSS

使用Haskell进行相当大的实时系统:如何(如果?)?

我很好奇,可以理解是否可以将Haskell的实力应用于嵌入式实时世界,而谷歌搜索已经发现了 Atom 包。我会假设在复杂的情况下,代码可能具有所有古典的C错误 - 崩溃,内存损坏等,然后需要跟踪到 导致的原始Haskell代码。所以,这是问题的第一部分:“如果你有Atom的经验,那么你是如何处理调试编译C代码中的低级别错误并将其固定在Haskell原始代码中的任务?” 我搜索了更多的Ato ..
发布时间:2017-08-15 19:32:12 HTML/CSS

将ASM转换为C(不是逆向工程师)

Microchip提供了一些免费的源代码(I don不要在这里发布,以防万一这是一个no-no。基本上,谷歌AN937,点击第一个链接,并有一个链接“源代码”及其压缩文件)。它在ASM中,当我看着它时,我开始越过眼睛。我想把它转换成类似于c语言的东西,以便我可以跟随。因为行如: GLOBAL _24_bit_sub movf BARGB2,w subwf AARGB2,f ..
发布时间:2017-08-15 19:31:24 HTML/CSS

如何确定使用gcc的嵌入式系统中的最大堆栈使用情况?

我正在为嵌入式系统编写启动代码 - 在跳转到main()函数之前加载初始堆栈指针的代码 - 我需要告诉我应用程序将使用多少个堆栈字节(或者一些较大的,保守的估计)。 我被告知gcc编译器现在有一个-fstack-usage选项和-fcallgraph-info选项,可以以某种方式被使用以静态计算我的确切的“最大堆叠使用量”。 (“与GCC的编译时栈需求分析”由Botcazou,Comar和 ..
发布时间:2017-08-15 19:30:34 HTML/CSS

什么是可用的互动语言运行在微小的内存?

我正在寻找通用编程语言, 有一个交互式(实时编码)提示 当编译器托管在单独的机器上时,可以在32 KB的RAM中工作,或8 KB,而单独的机器上只支持少至8-32 KB的RAM,而不在单独的机器上运行 一个MMU)。 以下是我的列表,目前为止,我缺少什么? Python : PyMite VM 需要64K闪存,8K RAM。具有8K以上的LPC,SAM7和ATmegas。 ..

实现rand()

我正在C中编写一些嵌入式代码,需要使用rand()函数。不幸的是,控制器的库中不支持rand()。我需要一个快速的简单实现,但更重要的是几乎没有空间开销,产生较高质量的随机数。有没有人知道使用哪个算法或代码? 编辑:这是为了图像处理,所以“相对较高的质量”意味着体面的循环长度和良好的均匀性。 p> 解决方案 查看这个随机数生成器的集合。他是随机数生成的领先专家,所以我有信心使用他推荐 ..
发布时间:2017-08-15 19:29:59 HTML/CSS