其它硬件开发

通用SIMD技术

在哪里可以找到关于常见的招数SIMD信息?我有一个指令集,并知道如何写不靠谱SIMD code,但我知道,现在SIMD更加强大。它可以容纳复杂的条件网点code。结果 例如(的ARMv6 ),下面的指令序列集等于Ra和Rb的对应字节的无符号最小路的每个字节: USUB8路,RA,RB SEL路,RB,镭 教程的链接/少见SIMD技术是好的太:) 的ARMv6 是最有趣的我,但 86 (S ..
发布时间:2016-05-29 14:39:29 其它硬件开发

快速正弦/余弦对ARMv7 + NEON:寻找测试者...

有人能访问到iPhone 3GS或潘多拉请测试以下汇编程序我只是写? 它应该计算正弦和余弦真的快上NEON矢量FPU。我知道它编译罚款,但没有足够的硬件,我不能对它进行测试。如果你可以只计算了几个正弦和余弦,并将结果与​​SINF()和cosf(进行比较),这将真正帮助。 谢谢! 的#include<&math.h中GT;///计算​​两个角的正弦和余弦 ///在:角=两个角度,前$ ..
发布时间:2016-05-29 14:39:23 其它硬件开发

ROM和RAM的ARM

我在ARM处理器上的工作,我想知道,如果使用的ROM和RAM都是比我承担很大的不同。为一个例子,对于一个程序具有以下存储器表 程序大小: code = 1264 RO-数据= 16 RW-数据= 0 ZI-数据= 1384 这是怎么ROM和RAM之间分配? 解决方案 您说的“比我们不同想到”,仿佛每个人都认为以同样的方式:) 我猜你是从低端微控制器经常有独立的程序和数据地址空间来。 AR ..
发布时间:2016-05-29 14:39:16 其它硬件开发

对于学习嵌入式编程的最佳平台?

我正在寻找了解嵌入式编程(C语言为主,但我希望刷了我的ASM以及),我想知道的最佳平台是什么。我在使用了Atmel AVR的,并将其与STK500编程的一些经验和发现,是比较容易的。我特别喜欢AVR Studio和让调试器可以查看寄存器的状态。 不过,如果我是花时间去学习的时候,我宁愿了解的东西是在工业prevalent。我想到的是ARM,那就是除非有人有更好的建议。 我也将寻找一些参考资料, ..
发布时间:2016-05-29 14:39:15 其它硬件开发

BeagleBoard的裸机编程

我刚刚得到了我的BeagleBoard-XM,我不知道是否有关于如何得到的硬件上运行一个非常简单的裸机软件吗?任何详细的步骤指南 我想问的原因是我想深入了解硬件体系结构是如何工作的,从引导程序的一切,连接器,中断,异常,MMU等我想出最好的办法是让一个简单的Hello World程序的执行XM的BeagleBoard无需操作系统。没有先进的,刚刚启动的董事会,并获得在屏幕上的“Hello Wor ..
发布时间:2016-05-29 14:39:10 其它硬件开发

跳转到ARM汇编不同的子程序?

说我有下面的汇编code: subroutineA: ....一些组装code ....subroutineB: ....一些组装code ....subroutineC: ....一些组装code .... 现在,在另一个子程序中,我想建立的东西,将随机跳转到3子程序上述之一。 是这样的: subroutineD: ....一些code随机分支要么 s ..
发布时间:2016-05-29 14:39:05 其它硬件开发

ARM DIVISION如何做呢?

我米试图找到如何在ARM分工,因为没有DIV命令。如果可以通过浮法数目的乘法来完成[/ 9 = * 0.09] 或通过使用库或通过使用减法。任何方式会做。先谢谢你。 目前,我司做减法使用,但我失去的小数。 我米这样做,使用循环 MOV R0,#70;华氏温度 SUB R1,R0,#32;减去32 MOV R4,#0;计数器循环 ADD R4,R4,#1;计数器+ 1 - >是 ..
发布时间:2016-05-29 14:39:02 其它硬件开发

错误的建筑在单声道的Scratchbox

我试图编译为单声道臂的Scratchbox在Ubuntu 11.10。但是,当我让我安装了一个错误信息。 [S盒-ARMEL:〜]的./configure --enable-最小=分析器,调试日志,soft_debug --with-TLS = - 与-TLS = __话题 - 与-的MonoTouch =无--without-MCS-文档--disable-单调试CFLAGS = -DAR ..
发布时间:2016-05-29 14:38:56 其它硬件开发

是ARM的Cortex-A8管线13级或14级?

如果你看到ARM的一个 presentations 。很显然,在取指令阶段需要3个周期,但在第一周期的排序的打折的。但为什么?有什么想法? 感谢您...... 解决方案 从某种程度上隐藏的文件上的 Cortex A8的: 的提取管线开始其中产生一个新的虚拟地址F0阶段。这个 地址可以是由一个分支prediction为一个previous提供一个分支目标地址 指令,或者如果有使这 ..
发布时间:2016-05-29 14:38:53 其它硬件开发

为什么“LDR”不能用'B'取代?

我有一个计划(ARM),并在那里一些指令(开发协会disas): .PLT:000083F0 ADRL R12,0x83F8 .PLT:000083F8 LDR PC,[R12,#(off_90D8 - 0x83F8)! ; sub_83D0 该地址0x90D8店0x83D0: 000090D8 D0 83 00 00 因此​​,LDR之后,PC是0x83D0,将exec的在0x8 ..
发布时间:2016-05-29 14:38:51 其它硬件开发

获得从子程序调用者的LR为C变量 - ARM

我有一个是应该获得致电者的LR寄存器的值到一个局部变量的C函数。 我试过以下code: 挥发性长LR; ASM( “海峡%0,[SP,#4] \\ N”: “= R”,(LR) ); 但是,这并不能改变什么。这并不是说我得到了错误的值,它只是在局部LR变量的值不会有任何变化(包括垃圾)。 任何想法? 谢谢! 解决方案 要直接回答这个问题,有两种解决办法。长LR; ..
发布时间:2016-05-29 14:38:49 其它硬件开发

ARM ELF对象中的函数不正确的大小

目标文件的输出readelf: 符号表“的.symtab”包含15项: 编号:值大小类型绑定可见NDX名称 0:0 00000000 NoType在本地默认UND 1:0 00000000 FILE本地默认ABS fp16.c 2:0 00000000部分本地默认1 3:0 00000000部分本地默认3 4:0 00000000部分本地默 ..
发布时间:2016-05-29 14:38:30 其它硬件开发

写在ARM汇编语言功能,在特定位置插入一个字符串到另一个字符串

我要通过我的课的教科书之一,我偶然发现了这个问题: 将在ARM汇编语言的函数,将在特定位置插入一个字符串到另一个字符串。的功能是: 的char * csinsert(字符* S1,字符* S2,INT LOC); 该函数具有一个指针在a1至S1,一个指向在A2 S2,并且在A3在何处插入发生的整数。该功能在A1返回一个指向新的字符串。 您可以使用库函数的strlen()和mal ..
发布时间:2016-05-29 14:38:28 其它硬件开发

NEON,SSE和交叉负载VS洗牌

我想用ARM NEON内在来了解在cvtColor的 SIMD优化的“Iwillnotexist Idonotexist”提出的意见: ...你为什么不使用ARM NEON intrisics映射到VLD3指令?这不遗余力你所有的洗牌,既简化和加快了code。英特尔SSE执行需要洗牌,因为它缺少2/3/4路去交织加载指令,但你不应该对他们传递他们的空闲。 我遇到的麻烦是该解决方案提供了 ..
发布时间:2016-05-29 14:38:21 其它硬件开发

最短的GAS ARM(Linux)的计划?

我玩弄学习汇编语言的想法,并决定给ARM一试。我决定去与GNU汇编,主要是因为它在我的手机的仓库中,这样我就可以与任何地方集会玩,如果我很无聊。 不管怎样,我在网上搜索,但我无法找到如何正确地退出了ARM的Linux二进制任何一种参考。我明白,相当于86套基本EAX寄存器到数字,指定系统调用,然后调用系统中断0x80到实际执行系统调用,正常退出程序;现在我想做的ARM类似的东西(显然同code不 ..
发布时间:2016-05-29 14:38:18 其它硬件开发

LPC1768 / ARM的Cortex-M3微秒延迟

我想实现裸机手臂环境(LPC1768)/ GCC一微秒的延迟。我见过使用SysTimer产生一个中断了,然后做一些C计数,这是作为一个时间基准的例子 https://bitbucket.org/jpc/lpc1768/src/dea43fb213ff/ main.c中 然而,在系统频率为12MHz,我不认为这会很好地随之扩展到微秒的延迟。基本上处理器将花费所有它的时间服务中断。 是否可以查询 ..
发布时间:2016-05-29 14:38:15 其它硬件开发

校验code实施Neon在内部函数

我想实现校验和计算code(2的补加)的NEON,使用内部。当前的校验和计算正在对ARM进行。 我执行从存储器中取出128位在一次成NEON寄存器并执行的SIMD(加),并且结果是从128位的数字折叠以一个16位数字。 一切看起来都工作正常,但我的NEON实现消耗更多时间的ARM版本。 ARM版采用: 0.860000小号 NEON版本需要: 1.260000小号 注意: 使用公用 ..
发布时间:2016-05-29 14:38:09 其它硬件开发