Я работаю над BeagleBone Black (ВВВ с этого момента) со своим стоковым Angstrom Linux.
Я могу делать GPIO / аналоговое программирование с использованием JavaScript, но я хочу сделать это на C / C ++.
Я знаю, что такое sysfs и / dev / mem, я хочу знать, как настроить GPIO и аналоговые контакты.
Я могу написать код на C / C ++ для записи чтения GPIO / аналогов, но понятия не имею, что делать для инициализации.
Одним из способов является наложение дерева устройств, но я не хочу использовать две разные цели для одной цели, так как могу понять, что это можно сделать в C / C ++, но как?
Было бы полезно, если бы я мог получить некоторый пример, связанный как с sysfs, так и / dev / mem для настройки + r / w для gpio &/ или аналоговые контакты BBB (в Angstrom Linux, если это имеет значение)
У Дерека Моллой есть отличная серия видеороликов, описывающих, как именно это сделать, и многое другое. Его сайт BeagleBone имеет этот адрес: http://derekmolloy.ie/beaglebone/
Для кросс-разработки на C / C ++ рекомендуется использовать Eclipse в Linux на вашем настольном компьютере. Я лично запускаю Ubuntu в VirtualBox под Windows. Дерек Моллой описывает это в деталях: http://derekmolloy.ie/beaglebone/setting-up-eclipse-on-the-beaglebone-for-c-development/
С ядром Beaglebone Black (3.8) настройку можно выполнить с помощью Devicetree. Это показано очень подробно в этом видео: http://derekmolloy.ie/beaglebone/beaglebone-gpio-programming-on-arm-embedded-linux/
ОК, так что Linux — единственный путь?
Я пробовал кросс-компиляцию для других процессоров (голый металл), используя code :: blocks, em :: blocks & затмение / с помощью соответствующего кросс-gcc toolchain для окон. Пример: arm-none-eabi-gcc (инструменты GNU для встроенных процессоров ARM) с Eclipse CDT — это было здорово и просто.
Нет ли какой-нибудь цепочки инструментов, которая позволила бы мне кросс-компилировать для BBB / Angstrom-Linux на моем ноутбуке с Windows Я попробовал набор инструментов Linaro, но даже это не сработало
Спасибо за эти ссылки, дерево устройств кажется хорошим способом, я также хочу попробовать / dev / mem, оно выглядит более простым и похоже на программирование на голом металле на C / C ++ после выполнения mmap.