草庐IT

ARM-Cortex_M

全部标签

linux - QEMU 是否适合学习 ARM 和 PowerPC 的汇编程序编程?

我想学习PowerPC和ARM的汇编程序编程,但我无法为此购买真正的硬件。我正在考虑为此使用QEMU。但是我不确定它是否足够好地模拟这两种架构,我是否会在其上使用native汇编程序编译和运行我的程序? 最佳答案 QEMU可以很好地测试程序校正(即代码是否可以在实际的ARM或PowerPC上正确运行)但它不适用于测试程序效率:仿真不是周期精确的,并且使用QEMU测量的速度不能可靠地(甚至不可靠地)与真实硬件上的速度相关联。此外,QEMU不会捕获未对齐的内存访问,这对于PowerPC仿真不是问题(PowerPC容忍未对齐的访问)但可能

linux - 如何在 QEMU 上的 GDB 中单步执行 ARM 程序集?

我正在尝试使用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

linux - 有什么方法可以在 Linux 上将二进制文件从 x86 重新编译到 ARM?

我想收集一些关于解决以下问题的想法。我有一个TOF相机,它的驱动程序适用于linuxx86/64。它工作正常。但事实上,如果可能的话,相机将用于基于ARM的嵌入式设备。问题:我是否必须反编译驱动程序二进制文件并使用ARM编译器重新编译?有没有可用的反编译工具?是否有可用的ARM>>x86模拟器?还有其他想法吗?ps:纯源很贵,反正我不爱买:) 最佳答案 AFAIK,到今天为止,还没有这样的反编译器可以从机器代码生成可编译的代码。您将不得不手动修复(通常是很多修复)生成的代码。你可以查看thisLinux反编译器的问题。检查QEmu.

java - 任何用于 Linux 上 ARM 架构的 Web 和 Java IDE?

我目前在ARMv7微处理器上运行DebianLinux(又名我的安卓手机。;))它真的运行得很好,没有任何问题。与许多其他基于arm的linux发行版相比,为arm编译的应用程序支持令人惊讶。我很想将它用于某些Web开发以及Java编程和编译,但是我在尝试找到任何架构独立的或为ARM处理器编译的IDE时遇到了一些麻烦..我非常好奇的一个是IntelliJIDEA。但我不知道它是架构独立的还是仅支持x86。我也相信Netbeans已经准备好并为NetBeans编译,但我不是它的大用户,所以我更愿意使用我更经常使用的一个。但如果真到了,而且它确实支持ARM,我肯定会用它。那么你们都知道些什

python - 用 python 为 arm 交叉编译 gdb 失败

我想在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:

c - arm-linux-gnu-gcc fatal error : stdio. h: 没有那个文件或目录

这些是/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

linux - 在 Linux 上针对 ARM 从 *.hex 转换为 *.bin

我想使用st-flash命令将程序上传到我的STM32F4探索板。问题是当我尝试上传*.hex或*.elf文件时它无法正常工作。我尝试了很多从*.elf或*.hex转换为*.bin的方法(比如使用xxd),但是当我上传它时它仍然不起作用。是的,我尝试从其他Windows计算机上传hex文件并且它有效。十六进制文件的示例(前三行,只是为了向您展示它的内部结构)::020000040800F2:100000000000022099020008A1020008A5020008D1:10001000A9020008AD020008B102000800000000BB我的操作系统是Ubuntu1

c - "(gdb) run"在 qemu 模拟 arm 架构上运行可执行文件时崩溃

我正在学习有关gdb的类(class)。在后面的类(class)中,类(class)涵盖了在ARM体系结构上进行调试,因此向我展示了一个允许我模拟这种情况的设置。我当前的设置包括:Windows10:物理主机Ubuntu12.04.5LTS:通过Windows10上的OracleVirtualBoxguest操作系统Linuxdebian-armel2.6.32-5-versatile:在Ubuntu上通过qemu2.8.0guest操作系统ARMDebian镜像来自https://people.debian.org/~aurel32/qemu/armel/图像是用启动的qemu-sy

linux - Boost 交叉编译 arm,尽管在 user-config.jam 中有定义,但工具集未被识别

我正在尝试从运行Linux的PC交叉编译飞思卡尔ARM处理器板的boost1.52.0。基于关于crosscompilingboost的(相当少的)文档,我已经设置了一个user-config.jam文件,内容如下:usinggcc:arm:/mnt/lv1/src/ROM1210/cross_compiler/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-g++;然后我跑了bootstrap.sh--prefix=`realpath../tools`./b2toolset=gcc-arm结果是:/mnt/lv1/src/ROM1210

c++ - 使用 g++-arm-linux-gnueabi 时包含 C++ 系统头文件的正确方法?

我正在尝试在安装了gcc-arm-linux-gnueabi和g++-arm-linux-gnueabi包的Ubuntu14.04上编译一个库。编译遇到的第一个源文件失败:/usr/bin/arm-linux-gnueabi-g++-DNDEBUG-g2-Os-pipe-fPIC-I.-DCRYPTOPP_DISABLE_ASM-mcpu=cortex-m3-mthumb--sysroot=/usr/arm-linux-gnueabi-c3way.cppInfileincludedfromcryptlib.h:83:0,fromseckey.h:8,from3way.h:7,from3