其它硬件开发

制定臂信任区计划

我如何开发采用ARM的信任区域应用?具体来说,我想开发一个程序,可以在安全的世界保存敏感数据。 若本计划在正常的世界或世界安全运行?我知道有trustlets在安全的世界,做我需要开发trustlets?是否有SDK或API 我可以用它来直接与现有安全的世界的操作系统进行交互还是需要编译和安装我自己的安全操作系统? 任何意见,将大大AP preciated。 感谢您! 解决方案 有 ..
发布时间:2016-05-29 14:26:33 其它硬件开发

最快的方式来计数寄存器1的个数,ARM汇编

所以我不得不对位操作之前的面试问题。本公司是一家知名的GPU公司。我曾在汇编语言非常少的背景(尽管是计算机体系结构的博士生怪异),并为这个故事将表明,我把事情弄糟了。这个问题是一个简单的: “写快速code,将计算一个32位寄存器1的数。” 现在我在学习臂组件的过程。所以很自然,我再次重新审视这个问题,刚才通过研究ISA想出这个code。 为您手臂的专家在那里,这是正确的?是否有一个更快的方 ..
发布时间:2016-05-29 14:26:30 其它硬件开发

在ARM系统调用

我看了一下系统在Linux中调用,到处都给出关于x86架构(ox80中断和SYSENTER)的描述。但我无法追查的文件和程序在ARM achitecture系统调用。任何人都可以请帮助。 我认识了一些相关的文件 \\弓\\ ARM \\核心\\ calls.S 的\\弓\\ ARM \\核心\\入门common.S(解释需要) 解决方案 在ARM的世界里,您可以通过软件中断(机制通知 ..
发布时间:2016-05-29 14:26:16 其它硬件开发

的ARM / Thumb:在拇指$ ​​C $ c。使用BX,调用Thumb函数,或跳转到Thumb指令在另一个函数

我想学习固件改装有用的技能(对此我没有源$ C ​​$ C) 从拇指code这些问题涉及使用BX的跳或调用其他现有的拇指code。 我如何使用BX跳转到现有固件拇指code,从我的拇指code。 我如何使用BX调用现有的Thumb函数(必须先设置LR),从我的拇指code。 我的理解是,CPU着眼于LSB位(0),我必须确保这样做是为了保持CPU状态为“拇指状态设置为 1 “。 ..
发布时间:2016-05-29 14:26:13 其它硬件开发

铛:如何列出支持的目标架构?

目前,我一般和专门的iPhone / Android的目标感兴趣的ARM。但我只是想知道更多关于铛,因为它认为在未来数年中发挥重要的作用来。 我试过 铛-cc1 --help | grep按名单 铛-cc1 --help | grep的拱| grep的-v搜索 铛-cc1 --help | grep的目标 - 三< VALUE>指定三重目标(例如i686的-苹果darwin9) ..
发布时间:2016-05-29 14:26:04 其它硬件开发

什么是SP(堆栈)和LR在ARM?

我一遍又一遍地阅读的定义,我仍然没有得到什么SP和LR在ARM?我明白PC(它显示下一条指令的地址),SP和LR可能是相似的,但我只是不明白它是什么。你能帮我吗? 编辑:如果您能举例解释一下,这将是极好的。 编辑:终于想通了LR是什么,仍然没有得到什么是SP的 解决方案 LR是链接寄存器用来保存返回地址的函数调用 SP是堆栈指针。堆栈一般是用来保持在函数调用“自动”变量和上下文/参数 ..
发布时间:2016-05-29 14:26:01 其它硬件开发

如何ARM架构的x86的有什么不同?

我一直听到很多有关ARM和x86架构。是X86架构专门设计的键盘工作,而ARM预计将移动?什么是两者之间的主要区别? 解决方案 ARM 是的 RISC (精简指令集计算机)架构,而 86 是一个的 CISC (复杂指令集计算)之一。 那些在这方面之间的核心区别是ARM指令只能与装载几个指令寄存器和/数据保存到内存中,而86可以同时直接操作的内存进行操作。直到V8 ARM是一个原生32位架 ..
发布时间:2016-05-29 14:25:56 其它硬件开发

如何解决交叉编译的crt0.o中的问题?

如何添加 ctr0.o ? 我得到这个错误: yagarto-4.7.2 /斌/ ARM-NONE-EABI-LD:找不到的crt0.o:没有这样的文件或目录 collect2:错误:LD返回1退出status` 而来自编译非常简单的程序在这里: / * - * first.s / / *这是一个注释* / 。全球主要/ *'主'是我们的切入点,而且必须是全球性的* / .FUNC主 ..
发布时间:2016-05-29 14:25:45 其它硬件开发

在U-Boot开启中断了的ARM Cortex A-9

我想配置一个GPIO中断的uboot的,这样它来测试中断响应时间没有任何干预的操作系统(裸机)。我能够配置引脚多路复用和建立与GPIO引脚中断也是成功的。 我的问题是关于在中断服务程序的登记。我看到我的平台,中断向量表位于地址0xFFFF0000地址(我读的系统控制寄存器,了解这一点)。中断ID为GPIO为56和,我只是计算在我的中断服务程序应驻留,只是试图与指针我ISR例行写地址的地址。这是做 ..
发布时间:2016-05-29 14:25:39 其它硬件开发

对于ARM ELF脚本/工具predicate编译为Thumb或ARM

我的根文件系统和 klibc 文件系统。我创建制作规则和一些开发商有没有联网间旧的编译器。注1 我试图验证所有的文件遭到内置手臂检测编译器的某个版本,只有当。我已经重新建立了树的好几倍。我使用 readelf -A 并寻找 Tag_THUMB_ISA_use:拇指-1 ,但这似乎是在手臂仅code(但与互通编译器内置),以及拇指 code。我可以手动运行 objdump的-S​​ 并检查汇编程序, ..
发布时间:2016-05-29 14:25:36 其它硬件开发

Linux的时钟结构

在Linux下如何是时钟架构来实现。 有一个文件在include / linux / clkdev.h 结构clk_lookup { 结构LIST_HEAD节点; 为const char *的dev_id; 为const char * CON_ID; 结构CLK * CLK; }; 什么是各个领域,它是在弓/ ARM /板时钟架构广泛使用*** / ... ..
发布时间:2016-05-29 14:25:33 其它硬件开发

与TrustZone的虚拟机管理程序

我正在看的从ARM本文上的的TrustZone 并有些事情我不清楚。 事实上,一个管理程序提供了一个特殊的CPU模式,对于在的TrustZone ,处理器配备了一个额外的第33位的:难道不是“T模式也是特定位的设置?那么如何是一个额外位使得在安全性方面的所有差异。我也明白,额外位让位给两个独立的32位地址的间距,但除此之外,我无法把两者结合。有人能解释清楚为什么的TrustZone 比管理程序更 ..
发布时间:2016-05-29 14:25:30 其它硬件开发

如何运行RAM code ARM架构

我编程了ARM Cortex-R4和我有我想从TCRAM执行它们,只是为了看看在性能上的提高是不够好几个二进制文件。 我知道我不得不写一个函数的二进制文件复制到RAM(可与链接器脚本来完成,并知道二进制文件的大小)。但是,如何将它们运行? 想象一下:第一个二进制文件func1的(),FUNC2(),FUNC3()和FUNC4()。我想复制整个模块TCRAM,我怎么会调用一个函数呢?我不得不使用 ..
发布时间:2016-05-29 14:25:22 其它硬件开发

明确访问存入银行ARM寄存器

据中ARM说明书,应该可以访问编组寄存器为一个特定的CPU模式,例如,“R13_SVC”。当我尝试这样做GCC骂我,出现以下错误: 立即EX pression要求#preFIX - `MOV R2,sp_svc“ 怎么了? 更新。从ARM体系结构参考手册ARMv5及更高版本的ARMv6下面的文字使我相信这是可能的,部分A2.4.2: 寄存器R13和R14有六个编组 每个物理寄存器。一 ..
发布时间:2016-05-29 14:25:18 其它硬件开发

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

我试图来分析一个C函数(这是从一个叫中断,但我可以提取它和其他个人资料吧)上的Cortex M4。 哪些计数通常此功能所用的周期数的可能性? 功能应顶部运行〜4000个周期,所以RTC是不是我想的选项,从拆卸手动计数周期可以是痛苦的 - 只有有用的,如果平均,因为我想用典型的闪存/内存典型的流简介使用模式。 我听说过周期计数寄存器和指令MRC,但他们似乎可用于A8 / 11。我没有在皮质-M ..
发布时间:2016-05-29 14:25:08 其它硬件开发

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

我的工作在哪里我写软件从地面爱特梅尔微控制器SAM7S256一所大学的项目。这是更深入的比其他MCU我合作过,作为连接器脚本和汇编语言知识是必要的这一次。 我一直很仔细审查了SAM7S芯片示例项目,以充分了解如何从头开始一个SAM7 / ARM项目。一个明显的例子是米罗萨梅克的“建设裸机ARM系统的GNU”教程中这里(凡在这个问题上的code是)。我也花了很多时间阅读sourceware.org ..
发布时间:2016-05-29 14:25:07 其它硬件开发

过程用于降低可执行文件的大小

我产生一个十六进制文件上,我想保持低于32K的ARM处理器上运行。这是目前比大了很多,我想知道,如果有人可能对什么是苗条的最佳方法一些建议下来? 下面就是我迄今所做 所以,我跑'大小'它来确定十六进制文件有多大。 然后'大小'再看看有多大的每个目标文件是链接创建十六进制文件。看来大多数的大小来自外部库。 然后我用'readelf',看看哪些函数占用的内存最多。 我寻遍code来看看我 ..
发布时间:2016-05-29 14:25:03 其它硬件开发

交叉编译的OpenSSH的ARM

是否有人知道我可以交叉编译的OpenSSH的ARM? 这是我做了什么: 首先,我已经下载的Zlib源$ C ​​$ C,未解压它,它建成并使用以下命令行安装了它: #的./configure - preFIX =的/ usr /本地/交叉/ ARM #化妆 #make install的 但后来,当我尝试编译的OpenSSH为ARM目标板,它给人的中的错误“zlib的缺失”./ ..
发布时间:2016-05-29 14:24:59 其它硬件开发