openSUSE:ARM 微控制器指南

跳转到:导航搜索

如何在 openSUSE 上为 ARM 微控制器开发

一个 Hackweek Interstellar 项目和一个 在 2014 年 ARM 技术研讨会欧洲的演示已经展示了如何使用 openSUSE on ARM 来为基于 ARM 的微控制器开发。此页面概述了一些在 openSUSE 中可用的开发工具。

请注意,目前 openSUSE 仅适用于 Cortex-A,不适用于 Cortex-M 或 Cortex-R。

GCC

openSUSE 的 gcc 和 gcc48 (4.8.3) 编译器软件包在 armv7l 上已知可以为 ARMv7-M 生成可用的内核代码。

已知问题

  • 使用最新编译器编译旧的 Linux 内核或 U-Boot 版本(例如 Linux 3.0.x 或 2.6.33)可能会在运行时暴露对齐错误。然后您可以尝试来自 devel:gcc 的旧 gcc 版本。或者尝试将任何下游代码移植到最新的上游版本,这些版本更可能工作,当然。

OpenOCD

版本:13.2 新打包

openocd 软件包可用于将代码闪存到微控制器以及与 gdb 配合调试其执行。

pyOCD

一个 python-pyOCD 软件包正在 创建

GDB

与合适的服务器一起使用,openSUSE 的 gdb 软件包已知可以调试 ARMv7-M 代码。

已知问题

  • 使用 gdb 7.8 和 openocd 0.8.0 作为服务器,无法始终为 STM32F429-Discovery 设置断点。可能是 Thumb 与 ARM 指令集问题?

技巧

远程文件编辑

作为替代方案,而不是在 ARM 设备本身上进行所有编码,sshfs 是一种快速设置的方法,可以从 x86_64 上的 openSUSE 桌面远程编辑您的源代码文件。当然,NFS 会更高效。