3

我正在使用其股票 Angstrom Linux 开发BeagleBone Black(从现在开始为BBB )。

我可以使用 JavaScript 进行 GPIO/模拟编程,但我想在 C/C++ 中进行。

我知道 sysfs 和 /dev/mem,我想知道如何配置 GPIO 和模拟引脚。

我可以为 GPIO/模拟读写编写 C/C++ 代码,但不知道如何进行初始化。

一种方法是设备树覆盖,但我不想为了一个目的去做两种不同的事情,因为我可以理解它可以在 C/C++ 中完成,但是如何?

如果我能同时获得一些与 sysfs 和 /dev/mem 相关的示例,用于配置 gpio 的 +r/w 和/或 BBB 的模拟引脚(在 Angstrom Linux 上,如果这很重要),那将会很有帮助

4

2 回答 2

3

Derek Molloy has a great series of videos describing exactly how to do this, and more. His BeagleBone site has this address: http://derekmolloy.ie/beaglebone/

For C/C++ cross-development, the recommended path is to use Eclipse in Linux on your desktop computer. I personally run Ubuntu in VirtualBox under Windows. Derek Molloy describes this in full detail: http://derekmolloy.ie/beaglebone/setting-up-eclipse-on-the-beaglebone-for-c-development/

With the Beaglebone Black kernel (3.8), configuration can be done using Devicetree. It is shown in great detail in this video: http://derekmolloy.ie/beaglebone/beaglebone-gpio-programming-on-arm-embedded-linux/

于 2014-01-03T23:32:04.443 回答
0

好的,那么Linux是唯一的方法吗?我已经尝试使用 code::blocks、em::blocks 和 eclipse/ 对其他处理器(裸机)进行交叉编译,方法是使用相应的 windows 跨 gcc 工具链。例如:带有 Eclipse CDT 的 arm-none-eabi-gcc(用于 ARM 嵌入式处理器的 GNU 工具)非常简单。没有任何工具链可以让我在我的 Windows 笔记本电脑上为 BBB/Angstrom-Linux 进行交叉编译。我尝试了 linaro 工具链,但即使这样也没有用

感谢这些链接,设备树似乎是个好方法,我也想尝试 /dev/mem,它看起来更简单,并且在完成 mmap 后类似于裸机 C/C++ 编程。

于 2014-01-06T07:48:48.533 回答