草庐IT

archlinux-arm

全部标签

arm - 我的 Go 工具是为错误的架构构建的吗?

我是Go语言的忠实粉丝,现在我正在尝试探索x86/amd64以外的其他架构。我为ARM构建Go,它似乎对该目标有很好的支持。所有库都成功构建,但测试失败(因为它试图在我的amd64系统上运行ARM测试二进制文件)。毕竟,我的$GOBIN文件夹中有5g/5l,它们生成有效且可工作的ARM二进制文件。但是其他Go工具发生了什么:5a:ELF64-bitLSBexecutable,x86-64,version1(SYSV),dynamicallylinked(usessharedlibs),forGNU/Linux2.6.9,notstripped5c:ELF64-bitLSBexecuta

go - 为 ARM 构建?设置 GOBIN 后无法使用 `go install` 进行交叉编译

每当我在设置goarch、goos和gobin后尝试使用“goinstall”时,我都会收到“设置GOBIN时无法安装交叉编译的二进制文件”,但不明白为什么?构建armlinux的最简单方法是什么? 最佳答案 您可以改用gobuild命令:envGOOS=androidGOARCH=arm64gobuild-o/arm64bins/appGo1.7中可用的GOOS/GOARCH:➜gotooldistlist|greparm05/29/16android/armandroid/arm64darwin/armdarwin/arm64f

c - Linux 中的结构分配在 ARM 中失败但在 x86 中成功

我注意到了一些非常奇怪的事情。假设我定义了以下结构typedefstruct{uint32_ta;uint16_tb;uint32_tc;}foo;这个结构包含在我从网络接收的一个大缓冲区中。以下代码适用于x86,但我在ARM上收到SIGBUS。externvoid*buffer;foomy_foo;my_foo=((foo*)buffer)[0];用memcpy替换指针取消引用解决了这个问题。在ARM中搜索SIGBUS让我知道这与内存对齐方式有关。谁能解释一下这是怎么回事? 最佳答案 您自己说过:您的特定处理器存在内存对齐限制,并

linux - 嵌入式 Linux ( ARM ) 中的低内存吞吐量

我正在使用ARM926EJS。在没有Linux的情况下,我在内存复制测试中的内存速度提高了20%(就像入门可执行文件一样)。但在Linux中,相同的代码运行速度要慢20%。代码是///Belowcodejustperformsburstmodememcopytest.voidasmcpy(void*a,void*b,intiSize){do{asmvolatile("ldmia%0!,{r3-r10}\n\t""stmia%0!,{r3-r10}\n\t":"+r"(a),"+r"(b)::"r"(r3),"r"(r4),"r"(r5),"r"(r6),"r"(r7),"r"(r8),

linux - ARM 的 vim 交叉编译

我正在使用arm-linux-gnueabi并尝试为我的设备编译vim。经过一段时间的搜索和研究,我成功了,但是当我从设备启动它时,我看到了这个:#/usr/tmp/vim/bin/vim~...~~VIM-ViIMprovedversion7.4.873byBramMoolenaaretal.VimisopensourceandfreelydistributableSponsorVimdevelopment!type:helpsponsorforinformationtype:qtoexittype:helporforon-linehelptype:helpversion7forve

linux - 如何使用QEMU学习ARM Linux内核开发?

我想像开发一些设备驱动程序等一样学习它,并为此使用QEMU,因为我没有像beagleboard这样的ARM硬件板。你们有什么建议?我可以使用Qemu模拟器在ARM目标上学习Linux内核吗?或者我应该尝试的任何其他选项? 最佳答案 这取决于您想学习什么:硬件还是软件。如果您真的想尝试使用不同的GPIO输出来实现伺服电机控制、LED灯闪烁和显示等功能,那么便宜的板(例如,RaspberryPi,约25美元)是首选。但是如果你想学习一般的软件,qemu肯定要快得多,而且它可以让你看到正在发生的事情的内部。用硬件进行实验需要示波器等。但是

linux - ARM MMU在各种操作模式下的操作

在我提问之前,我会把我的理解与主题相关,LinuxKernelmode对应于ARMsupervisormode。Linux用户模式对应于ARM用户模式。在内核模式(启用MMU)下,Linux使用相对地址而不是物理地址。即,物理地址=相对地址-PAGE_OFFSET+PHYS_OFFSET在用户模式(启用MMU)下,Linux使用虚拟地址而不是物理地址。即,物理地址=MMU转换(虚拟地址)使用pte、pmd、pgd问题:是否在管理员模式下启用了MMU(用于内核地址)。如果它被启用,那么这是否意味着相同的MMU在转换管理员模式和用户模式时以不同的方式运行。如果MMU在不同模式下有不同的功能

c++ - 我怎样才能阻止 gcc 在较新的 ARM cpu 上发出 swap{b}?

我正在编译DCP-O-Matic在RaspberryPi2上收到以下警告:/tmp/ccu6rDcg.s:Assemblermessages:/tmp/ccu6rDcg.s:4208:Warning:swp{b}useisdeprecatedforARMv6andARMv7我已将“-mcpu=cortex-a8-mfpu=neon”传递给编译器,但我仍然收到警告。我很确定Linux内核中有一些东西使这个警告无关紧要,但我真的很想解决这个问题。这post有很多有用的信息,但我似乎找不到合适的开关来阻止警告。我已经验证没有使用swp{b}的显式汇编代码。谁能推荐清除这些警告的最佳方法?我真

linux - 使用交叉编译器为 arm 编译 native GCC

我正在寻找为ARM系统创建GCC的native构建,但我遇到了一些麻烦。构建机器是i686-linux。我看到的每个教程都告诉我如何设置实际的交叉编译套件(我已经使用crosstools-ng完成了)。但是,我没有看到任何与编译原生ARMGCC相关的内容。我使用的配置字符串在下面,我只使用header设置了sysroot。我还交叉编译并安装了GMP和MPFR。../../gcc-4.3.5/configure\--host=arm-unknown-linux-gnueabi\--build=i686-build_pc-linux-gnu\--target=arm-unknown-lin

linux - ARM 在 WinCE 和 Linux 上的调用约定?

WinCE和Linux在ARM上使用相同的调用约定吗?有什么区别?目前我找到的文档解释得不是很好。例如http://msdn.microsoft.com/en-us/library/ms864497.aspx,它在一行上写着“WindowsCE.NETCompiler”,但在下一行写着“ARMcompiler”,在底部写着“CLARM”,不清楚是指同一个编译器还是不同的编译器。这是我到目前为止发现的...ARMCallingSequenceSpecification(WinCE)-文档编写不当ARMtoCcallingconvention(Linux)-非正式解释Wikipedia-没