HTML/CSS

低级/嵌入式系统对软件开发人员的编程难度大吗?

鉴于我作为通才的背景,我可以涵盖模拟电子学领域的许多领域,编写与RDBMS后端接口的简单应用程序。 我目前在一家开发硬件以解决行业特定问题的公司。我们有一个有经验的程序员,他们为PC编写了商业应用程序,视频游戏和一大堆其他的东西。但是,当我和他谈论低层次的编程时,他同时表达了对加入项目的兴趣和怀疑/不确定性。 即使在谈论电脑的时候,他似乎在语言层面比较低级别的东西(指令集,ISR)更舒 ..
发布时间:2017-08-15 19:50:10 HTML/CSS

8位的按位转置

我正在C中寻找一个有效的算法来逐位转置8个字节的数据。我的意思是,如果我有这样的8个字节:$ / $ $ $ $ $ $ $ $ $ 00000000 11000000 00000000 11111111 01010101 我想得到以下8个字节: 00001010 00001011 01000010 11000011 11000010 10000011 ..
发布时间:2017-08-15 19:49:56 HTML/CSS

嵌入式平台开发(!C)

我很高兴看到C的替代品在嵌入式开发人员世界中的流行度如何。 Ada ... 我只使用过C(有一点汇编器),但是我的目标资源非常有限。在这个空间还有别的地方吗?什么是机顶盒中的零件? 如果!C是什么原因? 编译器支持目标 跟踪\静态分析工具 其他... 谢谢。 解决方案 Forth 非常受嵌入式开发的欢迎。 此外, Smalltalk 在嵌入式社区中可能不受 ..
发布时间:2017-08-15 19:49:18 HTML/CSS

嵌入式系统的小型libc

我正在寻找一个小型libc,用于ARM7微控制器上的freertos嵌入式使用。 我看过newlib,但对我的需求来说有点太复杂了。 Newlib在 a函数中调用malloc()函数(例如printf()),这对于小型嵌入式实时系统来说是不利的。 有没有人知道小巧便携的开源libc实现,将适合我的应用程序? 解决方案 PDCLib 可能符合您的需求。尽管如此,仍然不完整 可能需要 ..
发布时间:2017-08-15 19:48:49 HTML/CSS

Lisp在嵌入式平台上

是否有任何适合实时嵌入式应用的开源Lisp编译器?即增加垃圾收集,可定制的内存处理,占用空间小等。 编辑: “编译器”我的意思是本机代码,而不是字节码解释器(虽然建议的微控制器的解释实现是有趣的,远远小于我想象的可能!) 解决方案 看看 Picobit 和代码,这是一个微控制器的方案。还有 tinyscheme ,但是我不知道嵌入更小的处理器是否适合。 ..
发布时间:2017-08-15 19:48:05 HTML/CSS

在Raspberry Pi上运行无操作系统的C程序

我想尝试使用Raspberry Pi进行一些不同的低级嵌入式应用程序。唯一的问题是,与可用的AVR和PIC微控制器板不同,Raspberry Pi通常运行一个操作系统(如Raspbian),可以在所有运行的程序中分配CPU时间,并使某些实时应用程序变得不切实际。 我最近了解到,假设你有一个像GRUB一样的引导加载程序,在x86上运行一个C程序几乎没有实际的设置,只是一个程序集程序来调用主函数 ..
发布时间:2017-08-15 19:47:38 HTML/CSS

高效的软件编码

在典型的手持式/便携式嵌入式系统设备中,电池寿命是设计H / W,S / W以及设备可以支持的功能的主要问题。从软件编程的角度来看,人们知道MIPS,内存(数据和程序)优化的代码。 我知道H / W深度睡眠模式,待机模式用于在较低周期或时钟周期内对硬件进行时钟整定,以节省电量,但​​是我正在寻找一些想法这个观点: 其中我的代码正在运行,它需要继续执行,给定这样我可以有效地编写代码“powe ..
发布时间:2017-08-15 19:47:17 HTML/CSS

轮询或中断方式

何时应该使用轮询方法,何时应该使用基于中断的方法? 是否有可以使用两种方式的情况? 解决方案 如果感兴趣的事件是: 异步 紧急 不频繁 然后一个基于中断的处理程序就会有意义。 如果感兴趣的事件是: 同步(即你知道什么时候在小窗口中预期) 不紧急(即慢轮询间隔没有不良影响) 频繁(即您的轮询周期中的大部分创建一个“命中”) 然后轮询可能更合适。 ..
发布时间:2017-08-15 19:46:07 HTML/CSS

Beagleboard裸机编程

我刚刚得到了我的BeagleBoard-Xm,我想知道有没有详细的一步一步的教程如何获得在硬件上运行的非常简单的裸机软件? 我想要深入了解硬件架构如何工作,从Bootloader,接口,中断,异常,MMU等方面的一切。我认为最好的方法是获得一个简单的hello世界程序来执行beagleboard xm没有操作系统。没有什么先进的,只需启动板,并在屏幕上获得一个“你好世界”的输出。而已! ..
发布时间:2017-08-15 19:45:53 HTML/CSS

组装指令如何变成CPU上的电压变化?

过去3 - 5年,我一直在C和CPython工作。考虑我在这里的知识基础。 如果我使用汇编指令,如 MOV AL,61h 到支持它的处理器,处理器内部究竟是什么来解释这个代码并将其分派为电压信号?这样一个简单的指令可能如何执行? 当我尝试想到包含在 MOV AL,61h 甚至 XOR EAX,EBX 。 编辑:我读了几个意见,问我为什么把这个嵌入式嵌入式系统在嵌入式系统中并不常见 ..
发布时间:2017-08-15 19:45:38 HTML/CSS

单元测试嵌入式软件

解决方案 嵌入式软件可能有在过去十年中,我们通常做了以下工作: 不依赖于目标硬件的算法,我们只是在非嵌入式平台上构建和测试单元测试。 对于需要硬件的内容,单元测试有条件地编译成代码以使用任何可用的硬件。在我们的例子中,这是目标上的一个串行端口,将结果推送到另一个更有能力的机器上,检查测试是否正确。 根据硬件,你有时可能会在非嵌入式平台上创建“虚拟”设备。这通常包括改变程序所使用的存储器 ..
发布时间:2017-08-15 19:44:54 HTML/CSS

我如何单元测试Arduino代码?

我想能够单元测试我的Arduino代码。理想情况下,我可以运行任何测试,而无需将代码上传到Arduino。什么工具或图书馆可以帮助我? 有一个 Arduino模拟器在开发中,这可能是有用的,但它似乎还没有准备好使用。 AVR Studio 包含一个可以有用的芯片模拟器,但是我可以'看看我如何与Arduino IDE结合使用。 解决方案 在没有任何预先存在的单元测试框架对于Ard ..
发布时间:2017-08-15 19:44:41 HTML/CSS

将二进制与存储器中特定位置的功能/数据链接

我目前正在为ATMega编写一个中间内存引导程序。 我想放置一些常用的功能和数据在内存中的特定位置,以便: 引导加载程序部分的有限大小无法克服 库函数,驱动程序等不会被应用程序部分复制,从而浪费空间 为了说明的目的,所需的内存布局如下: 在这个线程在avrfreaks,我到了我能够移动所有代码(在我的bootloader +库开发环境 - 应用程序w不能在单独的项目中开发 ..
发布时间:2017-08-15 19:44:28 HTML/CSS

通过批量或类似的方式设置Windows嵌入式标准的互联网时间服务

我有一个PLC运行windows嵌入式标准,我在这里安装和修改了我公司的软件,作为安装过程的一部分(今天全部是手册)。我现在正在自动化此过程。 我想通过批处理将日期和时间属性 - > Internet时间服务器设置为pool.ntp.org文件或类似命令 w32tm 无法识别。 我试过使用命令 net time /setsntp:pool.ntp.org / p> ..
发布时间:2017-08-15 19:44:01 HTML/CSS

GreenHills - 小数据区溢出

我希望有人可以快速回答这个问题,但是基本上当我打开优化时,我会收到以下错误: [elxr](错误)小数据区 overflow:0xfff9f6fc(signed)没有 适合16位,同时在文件test_main.o 中执行 重定位位置__sti___13_test_main_cpp_252229d3 + 0xc,引用符号oe_init_intconn 当我放入此链接器指令时也会出 ..
发布时间:2017-08-15 19:43:48 HTML/CSS

如何重定向Tornado / VXWorks shell输出?

最近我一直在使用Tornado 2中的shell来处理一个嵌入式C / C ++项目,作为调试工具包中发生的一切。这种方法的唯一问题是它是一个复杂的系统,因此产生了相当的输出。每当一些新的信息到达时,龙卷风“有助于”滚动窗口,这意味着如果您发现错误,则它会很快消失。每次你向上滚动看看,系统会添加更多的信息,所以唯一的方法来查看它是断开硬件。 我很想知道是否有人有一种方法可以重定向Tornad ..
发布时间:2017-08-15 19:43:35 HTML/CSS

调用request_mem_region()失败

起始地址0x4806E000(UART4基地址)已经存在于/ proc / iomem中,名称为omap4-uart。 如何禁用已分配的内存区域 编辑: 即使request_mem_region成功,启动过程中的控制台显示此消息。 [0.758514]串行:8250/16550驱动程序,3个端口,启用IRQ共享 [0.760040] omap_uart.0:MMIO 0x4 ..
发布时间:2017-08-15 19:43:08 HTML/CSS

为什么内存区域被标记为非高速缓存?

在嵌入式应用程序中,我们有一个表格描述了目标板上有效的各种地址范围。该表用于设置MMU。 RAM地址范围标记为可​​缓存,但其他区域标记为不可缓存。为什么是这样? 解决方案 如果同时由硬件和软件访问存储区域(EX:硬件配置寄存器或散点集合列表为DMA),该区域必须被定义为非缓存。对于实际的DMA,可以将内存缓冲区定义为缓存,在大多数情况下缓冲区缓存可用于允许应用程序级别快速访问该缓冲 ..
发布时间:2017-08-15 19:42:34 HTML/CSS

嵌入式系统中的函数指针是否有用?

在采访中,他们询问在编写嵌入式系统的代码时是否使用函数指针是有益的(在速度方面)?我不知道嵌入式系统,所以不能回答这个问题。只是一个多云或模糊的答案。 那么真正的好处是什么?速度,可读性,维护成本? 解决方案 我想也许Viren Shakya的回答错过了访问者试图引用的观点。在某些结构中,函数指针的使用可能会加快执行速度。例如,如果你有一个索引,使用它来索引一个函数指针数组可能比一个大的 ..
发布时间:2017-08-15 19:41:44 HTML/CSS

浮点数运算中的齐平零行为

尽管如此,据我所知,IEEE 754并没有提到一个冲洗到零模式来处理非规范化数字更快,一些架构提供此模式(例如 http:// docs.sun.com/source/806-3568/ncg_lib.html )。 在本技术文档的特定情况下,对非规范化数字进行标准处理是默认值,必须明确激活flush-to-zero。在默认模式下,非规范化的数字也可以在软件中处理,这是较慢的。 我在嵌 ..
发布时间:2017-08-15 19:41:31 HTML/CSS