omap_udc.c g_hid.c спрятал гаджет на beaglebone с Ubuntu

Я хочу использовать beagleboneas в качестве периферийного устройства HID. Я планирую сделать следующее:

  1. Узнайте, как создавать вещи с помощью Ubuntu.
  2. Получите исходный код ядра (3.2.28?).
  3. Скомпилируйте omap_udc и g_hid
  4. Вставьте эти модули в ядро
  5. Скомпилируйте пример из gadget_hid.txt
  6. Отправлять команды клавиатуры с помощью клавиатуры hid_gadget_test /dev/hidg0

Кто-то задал этот вопрос, но с angstrom по ссылке ниже:

Я следовал ответу, указанному в ссылке, но создал его с помощью Ubuntu. Однако вот что получаю в ответ:

$ sudo insmod g_hid
insmod: error inserting './g_hid.ko': -1 Invalid module format

Может ли кто-нибудь сказать мне причину? Что я не так? Как решить эту проблему?


person user1644791    schedule 04.09.2012    source источник


Ответы (1)


Похоже, вы собрали свои модули с другим компилятором (или, возможно, архитектурой?) для ядра.

Сначала вы должны решить, как собрать и развернуть кросс-компилируемое ядро. Я предполагаю, что у вас установлен кросс-компилятор ARM и binutils? В Ubuntu есть пакеты для них, или вы можете использовать CodeSourcery G++ Lite

Достаточно разумный набор инструкций можно найти здесь< /а>

По сути это:

export ARCH=arm
export CROSS_COMPILE=arm-none-linux-eabi
make menuconfig
make uImage modules
make install_modules INSTALL_MOD_PATH-<target root filing system>
person marko    schedule 04.09.2012
comment
Спасибо, Марко, я исправил проблему с неверным форматом модуля -1 из-за несоответствия версии ядра при сборке и запуске. - person user1644791; 06.09.2012
comment
Но теперь у меня нет такого устройства, когда insmod. По словам кого-то в сети, это связано с тем, что ядро ​​3.2.23/28 для beaglebone еще не полностью работает. Мне интересно, кто-нибудь знает последнее рабочее ядро ​​с модулем g_hid? если да, то можно ли получить инструкцию? - person user1644791; 06.09.2012
comment
@ user1644791 еще одна дикая догадка - ожидаются параметры модуля? Это очень часто бывает с гаджетами и по моему опыту не задокументировано. Время обратиться к исходному коду модуля! - person marko; 06.09.2012