Я пытаюсь создать очень базовый c драйвер платформы / miscdevice для beaglebone black, но не могу скомпилировать дерево устройств при добавлении соответствующего узла. (Я пытаюсь получить здесь минимум работы. Добавлю дополнительную информацию в узел, как только начну работать и смогу успешно зондировать)
Я следовал этому руководству (среди прочего): https://elinux.org/BeagleBone_and_the_3.8_Kernel
Я пытаюсь добавить узел устройства в часть OCP дерева устройств, как указано в нескольких найденных мною руководствах. Это для beaglebone black - пример, показанный из моего добавления к am33xx.dtsi:
ocp {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "l3_main";
/* MY ADDITION *****************/
beep {
compatible = "my-beep"
};
/*******************************/
..... (other nodes)
};
Я попытался добавить этот узел в am33xx.dtsi, am335x-bone-common.dtsi и построить с помощью build root . И также попытался добавить узел в am335x-boneblack.dts, а затем попытался вручную сделать dtb. Ни один из этих методов не скомпилирует двоичный файл дерева устройств (в нем говорится об ошибке).
Однако я почти уверен, что запись должна быть в am33xx.dtsi. 1018 * запись узла платформа / miscdevice должна быть правильно структурирована? Должен ли он вообще быть в ocp?