我想使用arm-linux-gcc编译器套件[arm-linux-gcc(Buildroot2011.08)4.3.6]交叉编译一个简单的ARM架构程序。我尝试使用一个简单的makefile来编译C代码,并使用另一个简单的makefile来编译C++代码。例如,下面复制了我的C代码生成文件,但它没有创建用于在我的嵌入式系统上运行的ELF二进制文件。主机系统是x64GNULinux。这是我为C程序编写的非常简单的makefile的list:CC=arm-linux-gccCFLAGS=-Wallmain:test.oclean:rm-ftesttest.o上面复制的makefile只创建
我正在运行Ubuntu12:04LTS并安装了arm-linux-gnueabiC和C++编译器。编译后的二进制文件不会在我的目标板上运行。看起来即使我指定了cpu和arch,编译器仍然会为错误的CPU构建二进制文件。它构建的不是atm9tdmi,而是7-A。我是做错了什么还是我应该配置什么?谢谢。~/ArmTest$arm-linux-gnueabi-g++-4.4-mcpu=arm9tdmi-march=armv4t-Omain.cpp-oCPPTest~/ArmTest$readelf-ACPPTestAttributeSection:aeabiFileAttributesTag
我正在尝试打印我存储的数字。我不确定我是接近还是远离。任何帮助将不胜感激。这是我的代码:.data.balign4a:.word4.text.globalmainmain:ldrr0,addr_of_amovr1,#8strr1,[r0]write:movr0,#1ldrr1,addr_of_amovr2,#4movr7,#4swi#0bxlraddr_of_a:.worda它编译并运行,但我没有看到任何打印出来的东西。据我了解,我需要在r1中开始打印的地址,r2中有多少字节,r0中的文件描述符,以及r7如果设置为#4则指定写入调用。我只是想存储#8,然后打印存储的数字。
我想学习PowerPC和ARM的汇编程序编程,但我无法为此购买真正的硬件。我正在考虑为此使用QEMU。但是我不确定它是否足够好地模拟这两种架构,我是否会在其上使用native汇编程序编译和运行我的程序? 最佳答案 QEMU可以很好地测试程序校正(即代码是否可以在实际的ARM或PowerPC上正确运行)但它不适用于测试程序效率:仿真不是周期精确的,并且使用QEMU测量的速度不能可靠地(甚至不可靠地)与真实硬件上的速度相关联。此外,QEMU不会捕获未对齐的内存访问,这对于PowerPC仿真不是问题(PowerPC容忍未对齐的访问)但可能
我正在尝试使用GNU汇编器学习ARM汇编器编程。我已经用QEmu设置了我的PC,并且有一个DebianARM-HFchroot环境。如果我汇编并链接我的测试程序:.text.global_start_start:movr0,#6bxlr与:astest.s-otest.oldtest.o-otest然后将文件载入gdb并在_start上设置断点:root@Latitude-E6420:/root#gdbtestGNUgdb(GDB)7.6.1(Debian7.6.1-1)Copyright(C)2013FreeSoftwareFoundation,Inc.LicenseGPLv3+:G
我想收集一些关于解决以下问题的想法。我有一个TOF相机,它的驱动程序适用于linuxx86/64。它工作正常。但事实上,如果可能的话,相机将用于基于ARM的嵌入式设备。问题:我是否必须反编译驱动程序二进制文件并使用ARM编译器重新编译?有没有可用的反编译工具?是否有可用的ARM>>x86模拟器?还有其他想法吗?ps:纯源很贵,反正我不爱买:) 最佳答案 AFAIK,到今天为止,还没有这样的反编译器可以从机器代码生成可编译的代码。您将不得不手动修复(通常是很多修复)生成的代码。你可以查看thisLinux反编译器的问题。检查QEmu.
我目前在ARMv7微处理器上运行DebianLinux(又名我的安卓手机。;))它真的运行得很好,没有任何问题。与许多其他基于arm的linux发行版相比,为arm编译的应用程序支持令人惊讶。我很想将它用于某些Web开发以及Java编程和编译,但是我在尝试找到任何架构独立的或为ARM处理器编译的IDE时遇到了一些麻烦..我非常好奇的一个是IntelliJIDEA。但我不知道它是架构独立的还是仅支持x86。我也相信Netbeans已经准备好并为NetBeans编译,但我不是它的大用户,所以我更愿意使用我更经常使用的一个。但如果真到了,而且它确实支持ARM,我肯定会用它。那么你们都知道些什
我想在Android机器等设备上调试ARM应用程序,我更喜欢使用gdb(ARM版本)而不是gdb和gdbserver来调试,因为有一个dashboard,Python中GDB的可视化界面。在设备上必须配合gdb(ARM版),所以我需要用python交叉编译一个ARM版的gdb,使用命令如下:./configure--host=arm-linux-gnueabi--target=arm-linux-gnueabi--with-python=/usr/bin但最后出现了错误信息:configure:8096:checkingwhethertousepythonconfigure:8098:
这些是/usr/bin中的文件[root@xilinxbin]#ls-ldarm*-rwxr-xr-x.1rootroot691752Feb52013arm-linux-gnu-addr2line-rwxr-xr-x.1rootroot721416Feb52013arm-linux-gnu-ar-rwxr-xr-x.1rootroot1297632Feb52013arm-linux-gnu-as-rwxr-xr-x.1rootroot689168Feb52013arm-linux-gnu-c++filt-rwxr-xr-x.1rootroot545664Feb62013arm-linu
我想使用st-flash命令将程序上传到我的STM32F4探索板。问题是当我尝试上传*.hex或*.elf文件时它无法正常工作。我尝试了很多从*.elf或*.hex转换为*.bin的方法(比如使用xxd),但是当我上传它时它仍然不起作用。是的,我尝试从其他Windows计算机上传hex文件并且它有效。十六进制文件的示例(前三行,只是为了向您展示它的内部结构)::020000040800F2:100000000000022099020008A1020008A5020008D1:10001000A9020008AD020008B102000800000000BB我的操作系统是Ubuntu1