Paso 4: Parche el árbol de dispositivos
Ahora, abrimos un terminal y conectar a la tarjeta de Zybo via ssh (sabrás su IP Zybo con ifconfig). Le parche el árbol de dispositivos.
- SSH root
- DTC-I fs dts - O /proc/device-tree -o devicetree.dts
Esto descargará el árbol de dispositivos en un formato legible por humano. Se parchearlo en orden para el DMA ser vistos por el kernel de Linux. Utilice el editor de textos nano y crea "pl.dtsi" con el siguiente contenido:
/ {
{scratch_mem}
#address-células = < 1 >;
las células #size = < 1 >;
reg = < 0x10000000 0x10000000 >;
compatible = "genérico-uio";
interrupciones = < 0 58 0 >;
interrupción-padres = < 0 x 1 >;
};
amba_pl: {amba_pl}
gamas;
las células #size = < 0 x 1 >;
#address-células = < 0 x 1 >;
compatible = "simple-bus";
{} DMA
#dma-células = < 1 >;
compatible = "genérico-uio";
interrupción-padres = < 0 x 1 >;
interrupciones = < 0 29 4 0 30 4 >;
reg = < 0x40400000 0x10000 >;
};
};
};
También, agregue la siguiente línea al archivo "devicetree.dts" -> /include/ "pl.dtsi"
Ahora, vamos a recompilar el árbol de dispositivos en formato binario y sustituir el original árbol de dispositivos. Entonces, reconocerá nuestra scratch_mem periférica (ubicado en 0x10000000) y nuestro motor DMA periférico (ubicado en 0x40400000). Haga lo siguiente:
- sudo mount/dev/mmcblk0p1 boot
- sudo cp /boot/devicetree.dtb /boot/devicetree.dtb.orig
- sudo cp devicetree.dtb /boot/devicetree.dtb
- sudo sync
- sudo umount/boot
- reiniciar el sistema
Su ssh conexión cerrará y reiniciará su Zybo. Se aplicarán los cambios de árbol del dispositivo.