GPIO/аналоговое программирование для BeagleBone Black на Angstrom Linux, какой компилятор для кросс-разработки на Windows?

Я работаю над BeagleBone Black (теперь BBB) со стандартным Angstrom Linux.

Я могу программировать GPIO/Analog с помощью JavaScript, но я хочу делать это на C/C++.

Я знаю, что такое sysfs и /dev/mem, я хочу знать, как настроить GPIO и аналоговые контакты.

Я могу написать код C/C++ для записи GPIO/аналогового чтения, но понятия не имею, что делать для инициализации.

Одним из способов является наложение дерева устройств, но я не хочу использовать две разные вещи для одной цели, так как я понимаю, что это можно сделать на C/C++, но как??

Было бы полезно, если бы я мог получить пример, связанный как с sysfs, так и с /dev/mem для настройки +r/w gpio и/или аналоговых контактов BBB (на Angstrom Linux, если это имеет значение)


person Imran Munshi    schedule 02.01.2014    source источник
comment
Я предлагаю вам пометить это тегом beagleboneblack, чтобы ваша целевая аудитория увидела ваш вопрос.   -  person Ross    schedule 03.01.2014
comment
Я попробовал набор инструментов Linaro (arm-linux-gnueabihf-), но он никогда не работал, может ли кто-нибудь предложить какой-нибудь другой набор инструментов   -  person Imran Munshi    schedule 03.01.2014


Ответы (2)


У Дерека Моллоя есть отличная серия видеороликов, описывающих, как именно это сделать, и многое другое. Его сайт 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/

person jonasberg    schedule 03.01.2014

Итак, Linux — единственный способ? Я пробовал кросс-компиляцию для других процессоров (голое железо), используя code::blocks, em::blocks и eclipse/, используя соответствующую цепочку инструментов cross-gcc для Windows. Например: arm-none-eabi-gcc (инструменты GNU для встраиваемых процессоров ARM) с Eclipse CDT было здорово и просто. Нет ли какой-либо цепочки инструментов, которая позволила бы мне выполнить кросс-компиляцию для BBB/Angstrom-Linux на моем ноутбуке с Windows. Я попробовал набор инструментов linaro, но даже это не сработало.

Спасибо за эти ссылки, дерево устройств кажется хорошим способом, я также хочу попробовать /dev/mem, он выглядит более простым и похож на программирование на чистом железе C/C++ после выполнения mmap.

person Imran Munshi    schedule 06.01.2014