背景

背景

背景

海湾合作委员会错误影响 Cortex M0 架构好像是v5.4.1引入的(...并且似乎固定在后备箱中,但是,我们对此选项 ATM 不感兴趣)。

为了解决这个问题,我使用了带有 Debian 8.4 映像并安装了gcc-arm-none-eabi软件包的虚拟机:

$ gcc-arm-none-eabi -dumpversion
4.8

当我在虚拟机中编译代码并加载到目标设备时,问题消失了,一切都很顺利。

问题

为了使虚拟机脱中介化,

  • gcc-arm-none-eabi v5.3从下载开发者.arm.com/...
  • $PATH相应地将下载路径添加到变量中
  • 跑步make

但是,生成的代码在微控制器上无法按预期工作。这意味着我无法在主机上使用 gcc-arm-none-eabi-5.3 编译代码。

进一步的实验

为了缩小问题范围,

  • 我用相同的方法编译了应用程序代码(app)海湾合作委员会5.3在虚拟机上(安装后32位支持)。生成的二进制文件在目标(微控制器)上运行正如预期的那样。
  • 我编译了该应用程序海湾合作委员会7.3.1尽管期望不工作。然而,生成的二进制文件能够在微控制器上正确运行。这是预计不会。
  • 我删除了gcc-arm-none-eabi并重apt-get remove试了之前的尝试。应用程序二进制文件仍然可以在微控制器上运行,这不是预期的
  • gcc-arm-none-eabi-4.8我在通过安装之前恢复了虚拟机apt。我gcc-arm-none-eabi-7.3直接从下载路径使用没用正如预期的那样
  • 我用 编译了该应用程序gcc-arm-none-eabi-5.3,希望它能够正常工作。然而,它不适用于微控制器。这是预计不会。
  • 如果我此时使用 来安装工具链(v4.8)apt-get install gcc-arm-none-eabi,生成的二进制文件将无法在微控制器上运行,即没有预料到奇怪
  • 如果我再次将虚拟机恢复为全新安装并使用apt-get install gcc-arm-none-eabi gdb-arm-none-eabi股票编译器安装 v4.8不起作用(这也是奇怪

问题

根据“进一步的实验”,运行时中应该还使用了一些其他依赖项。我们如何确定这些依赖关系?

相关内容