Red de conocimiento informático - Aprendizaje de programación - Jetson Nano viene con un conector de expansión de 40 pines

Jetson Nano viene con un conector de expansión de 40 pines

/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fhw_setup_jetson_io.html%23

Cada kit de desarrollo Jetson contiene una extensión de 40 pines enchufar. Se pueden utilizar muchos pines como GPIO o "Puertos IO de función especial (SFIO)", como I2C, I2S, etc. El conector de 40 pines le permite conectar el Jetson Developer Kit a HAT Raspberry Pi (hardware conectado en la parte superior) disponibles en el mercado, como módulos Seeed Grove, productos SparkFun Qwiic y más.

Cuando se graba el sistema, la configuración predeterminada de todas las E/S del kit de desarrollo Jetson se escribe en el dispositivo. Para cambiar la configuración de pines de un encabezado de expansión de 40 pines anterior a L4T 32.3, debe usar una hoja de cálculo Pinmux para actualizar la configuración de pines para la plataforma correspondiente y luego actualizar la nueva configuración en el kit de desarrollador. Si bien este puede ser un método apropiado para actualizar los sistemas de producción, se necesita una forma más conveniente de probar diferentes configuraciones de pines durante el desarrollo.

A partir de la versión 32.3 de L4T, NVIDIA proporciona la herramienta Jetson-IO para simplificar la configuración de E/S del encabezado de expansión de 40 pines. Jetson IO es una herramienta basada en Python que se ejecuta en el kit de desarrollador y modifica el firmware de Device Tree Blob (DTB) para que la nueva configuración del conector de 40 pines entre en vigor después de reiniciar el kit de desarrollo.

Para iniciar Jetson-IO, ingrese el siguiente comando en el kit de herramientas del desarrollador:

Al iniciar Jetson-IO, se mostrará la siguiente pantalla. La pantalla principal ahora muestra la configuración actual del conector de 40 pines y le ofrece dos opciones para configurar las E/S:

Cuando selecciona la opción "configurar para hardware compatible", se mostrará Jetson?IO una lista de configuración de algunos módulos de hardware.

Actualmente hay dos módulos de hardware disponibles para configuración:

Después de seleccionar una configuración, Jetson-IO regresa a la pantalla de inicio, que muestra el conector de expansión de 40 pines actualizado para esa configuración. . imagen.

Tiene las siguientes opciones:

Tenga en cuenta que después de actualizar el archivo de configuración, aún puede iniciar el kit de desarrollador con la configuración anterior porque Jetson ?IO Configuration agrega nuevas entradas para actualizar extlinux.conf. La configuración anterior todavía está en el archivo. Al iniciar un destino, el gestor de arranque le permite seleccionar una configuración (o cualquier otra configuración definida en un archivo).

Cuando selecciona la opción "Configurar encabezado de extensión de 40 pines" en la pantalla de inicio, Jetson-IO mostrará una lista de funciones especiales admitidas por la E/S del encabezado de 40 pines. Muestra los pines relacionados con la función entre paréntesis.

Por ejemplo, en el kit de desarrollo NVIDIA Jetson Nano, Jetson-IO muestra la siguiente lista de funciones.

Para obtener más detalles sobre las funciones compatibles, consulte el Manual de referencia técnica de Jetson SoC incluido en el kit de desarrollador.

Puedes seleccionar o anular la selección de funciones según sea necesario.

Para aceptar el conjunto de funciones seleccionado, seleccione la opción Atrás. Jetson?IO vuelve a la pantalla de inicio. Vuelve a mostrar la pantalla principal que se muestra después de la pantalla de hardware compatible y agrega una entrada:

Si desea configurar el encabezado de expansión de 40 pines desde la línea de comandos en lugar de desde el menú, NVIDIA proporciona un conjunto de comandos. herramientas, proporcionan la misma funcionalidad. Las siguientes secciones describen estas utilidades.

Ejemplo

Muestra una lista de configuraciones de módulos de hardware disponibles.

Ejemplo

Puede utilizar Jetson IO para admitir módulos de hardware personalizados creando una superposición del árbol de dispositivos para el módulo de hardware. Las siguientes secciones describen este proceso.

Para agregar soporte para hardware personalizado a Jetson IO, debe comprender cómo Jetson IO administra el hardware adicional. La compatibilidad con módulos de hardware se gestiona mediante archivos de superposición del árbol de dispositivos (archivos .dtbo).

La superposición del árbol de dispositivos de un módulo de hardware debe definir:

El atributo de nombre de superposición debe ser un nombre único que lo distinga de otras superposiciones. El atributo de compatibilidad debe tener uno o más de los siguientes, según lo que admita la plataforma Jetson.

Los usuarios pueden obtener la cadena de compatibilidad correcta para su plataforma Jetson ingresando el siguiente comando. Si tiene el Jetson Nano Developer Kit, este comando también identificará la versión de PCB.

Por ejemplo, considere el módulo FE-PI Audio Z V2. En el directorio /boot del destino hay un archivo de superposición con un nombre que coincide con el patrón:

Puede utilizar la utilidad fdtdump para examinar el contenido del archivo de superposición y ver el nombre de la superposición ( overlay-name ) y los datos compatibles. atributos (compatibles). Por ejemplo, en Jetson Nano Developer Kit puede mostrar estas propiedades ingresando:

Para crear una superposición de árbol de dispositivos simple para Jetson Nano (con placa portadora A02 y módulo A02) Developer Toolkit para agregar nuevos elementos personalizados. propiedades, cree un archivo llamado my-overlay.dts en la plataforma de destino con el siguiente contenido:

Ingrese el siguiente comando para compilar el archivo fuente DTS en un archivo de superposición:

Después de copiar el nuevo archivo de superposición en el directorio /boot, Jetson IO encontrará el archivo de superposición y le permitirá aplicarlo:

Si desea conectarse al encabezado de expansión de 40 pines Para crear un archivo de superposición para un módulo de hardware personalizado del conector, la forma más sencilla es utilizar Jetson-IO para configurar el encabezado de 40 pines según sea necesario y exportar la configuración como una superposición. Puede hacer esto usando scripts Jetson-IO orientados a menús o la herramienta de línea de comando ·config-by-...· asociada.

Por ejemplo, para crear una superposición para un Jetson Nano (A02) con la interfaz I2S habilitada, ingrese el siguiente comando:

Luego puede convertir la superposición en un árbol de dispositivos ingresando este archivo fuente de comando.

Puede modificar la fuente del árbol de dispositivos generado según sea necesario para su hardware personalizado y agregar nodos y/o propiedades adicionales requeridas por el módulo de hardware. Luego puede recompilar las fuentes del árbol de dispositivos y colocarlas en el directorio /boot/ para que Jetson IO las use: