2016-04-28 2 views
1

У меня возникла любопытная проблема при попытке загрузить накладки на дереве устройства на черном Beaglebone. Загрузчик не загружает файл .dtbo, потому что он ищет файл с именем, отличным от имени, которому было сказано загрузить. Файл .dts был составлен на том же устройстве, с помощью команды:Идентификация наложения дерева устройств

-О DTB DTC -o TEST-DT-00A0.dtbo -b 0 - @ TEST-DT-00A0.dts

сборник завершено без ошибок, но когда я пытаюсь загрузить двоичный файл с помощью:

эхо тест-DT-00A0.dtbo> /sys/devices/bone_capemgr.9/slots

Я вижу ошибку:

-bash : echo: write error: Нет такого файла или каталога

Рассматривая причину сбоя с помощью dmesg показывает, что загрузчик пытается загрузить файл с именем (-0, вставленным в имя файла):

ТЕСТ-DT-0-00A0.dtbo

Конечно, если я переименую файл .dtbo в имя, ожидаемое загрузчиком, он загрузится правильно и работает нормально.

Кто-нибудь есть идеи, почему дополнительный '-0' был добавлен в имя загрузчиком дерева? На втором Beaglebone загрузчик ожидал, что файл будет называться TEST-DT-00-00A0.dtbo (-00 добавлено к названию).

Если это помогает, вот выход из uname:

Linux beaglebone 3.8.13-bone79 # 1 SMP Вт 13 октября 20:44:55 UTC 2015 armv7l GNU/Linux

Спасибо за любую помощь !

ответ

0

Похоже, что загрузчик дерева устройства немного упрощен и предполагает, что имя файла имеет точно На это имя написано 16 символов. Если фрагмент дерева устройства не имеет 16-символьного имени, тогда при загрузке фрагмента может произойти различный уровень заполнения или усечения.

Правильная вещь, то было бы для вышеприведенного фрагмента будет переименован в нечто вроде:

TEST-DT-12345678-00A0.dtbo

(16 символов до -00A0.dtbo)

Тогда это правильно загрузится с помощью загрузчика дерева устройства, управляющего именем.

Кроме того, будьте осторожны при попытке загрузить файл с путем:

эхом /lib/firmware/TEST-DT-12345678-00A0.dtbo> /sys/devices/bone_capemgr.*/slots

символы на пути будут засчитаны 16 символов ожидаемая длина имени в результате дерева устройства загрузчиком попытке загрузить фрагмент:

TE-00A0.dtbo

Если вы не испытываете «нет такого файла или каталога "при попытке загрузить фрагмент, обязательно проверьте dmesg!

Смежные вопросы