Guía de desarrolladores de software automotriz sdk linux – texas wiki wiki seguridad social administración discapacidad aplicación

El procesador SDK Linux Automotive contiene muchos componentes de software. Varios componentes son desarrollados por la comunidad de código abierto (blanco). Texas Instruments desarrolla algunos componentes que aprovechan la aceleración de HW en SoC. TI contribuye, e incluso a veces mantiene, algunos de estos proyectos comunitarios de código abierto, pero el modelo de soporte es diferente de un proyecto desarrollado únicamente por TI.

Las demostraciones gráficas también se pueden ejecutar desde la línea de comandos. Para hacerlo, salga de Weston presionando Ctrl-Alt-Retroceso desde el teclado que se conecta al EVM. Entonces, si la declaración de beneficios de seguridad social de la pantalla LCD permanece en "Por favor espera…", presione Ctrl-Alt-F1 para ir a la línea de comando en la consola LCD. Después de eso, la línea de comandos se puede utilizar desde la consola serie, la consola SSH o la consola LCD.

Se aplican para el retiro de la seguridad social varias otras aplicaciones que se incluyen en el sistema de archivos predeterminado. Para invocar estas aplicaciones, el usuario debe iniciar el weston-terminal (esquina superior derecha del escritorio) y luego invocar las aplicaciones cliente como se describe a continuación desde la ventana del terminal:

Con ivi-shell configurado para weston, las aplicaciones cliente de wayland utilizan el protocolo ivi-application para ser administrado por una administración central de ventanas HMI. Wayland-ivi-extension proporciona ivi-controller.so para administrar las propiedades de las superficies / capas / pantallas y también proporciona el ivi-input-controller.so para administrar el enfoque de entrada en una superficie.

Todas las aplicaciones cliente de muestra en el paquete weston como weston-simple-egl, weston-simple-shm, weston-flower, etc. también tienen soporte para ivi-shell. El SDK incluye la aplicación llamada layer-add-surfaces que forma parte de la extensión wayland-ivi. Esta aplicación permite al usuario invocar las diversas funcionalidades de ivi-shell y controlar las aplicaciones.

La aplicación se ejecuta actualmente en la pantalla kms. La aplicación requiere la información del conector para su visualización. Un abogado de seguridad social puede obtener la información de la pantalla conectada a la placa ejecutando la aplicación más moderna en el sistema de archivos, como se describe anteriormente. Para ejecutar la aplicación. "más modesto" Asegúrese de que la pantalla esté conectada a la placa.

Para ejecutar la salida de una sola decodificación en las pantallas duales. Asegúrese de que ambas pantallas estén conectadas y obtenga la información sobre los conectores y la resolución asociada con ambas pantallas desde la aplicación más moderna.

También se puede ejecutar una decodificación doble y mostrar su salida en dos pantallas diferentes. Asegúrese de que las dos pantallas estén conectadas y obtenga la información sobre los conectores y la resolución asociada con ambas pantallas desde la aplicación más moderna.

Todos estos comandos se pueden colocar en un archivo de texto y se pueden ingresar como entrada al gsttestplayer con el comando "-do" opción. En este caso, gsttestplayer se ejecuta de forma no interactiva, leyendo los comandos del archivo de texto una línea tras otra. Los comandos sleep y rebobinar son útiles para este modo, para introducir retrasos o para crear un bucle respectivamente.

MessageQ es la API de espacio de usuario proporcionada para IPC. La aplicación de ejemplo para MessageQ consiste en una aplicación "MessageQApp" ejecutándose en el A15 y los binarios correspondientes ejecutándose en el remotecore La siguiente tabla muestra las rutas bajo las cuales se pueden encontrar los binarios de remotecore en el sistema de archivos de destino. Para asegurarse de que estos binarios estén cargados por el kernel del gobierno de la seguridad social, vincúlelos simbólicamente a la ubicación que se muestra en la tabla a continuación.

RPMsg es el espacio de kernel IPC y el componente básico para el espacio de usuario MessageQ IPC API. La siguiente página wiki ilustra cómo construir y ejecutar un cliente de espacio de kernel de Linux rpmsg para comunicarse con un procesador esclavo (por ejemplo, DSP, IPU, etc.) mediante el módulo RPMsg de IPC.

U-boot intenta detectar la plataforma (J6 / J6eco) y elegir el dtb adecuado. Para los tableros DRA7xx, solo detecta la placa base. Si está utilizando una pila de placa base más LCD, debe especificar manualmente el dtb correcto definiendo fdtfile dentro de uenv.txt. Por ejemplo, si estuviera usando J6 EVM + LCD de 10 pulgadas LG, agregaría la siguiente línea a uenv.txt:

El mk-qspi-boot.sh estará disponible en el directorio de inicio de "Procesador SDK Linux Automotriz" sistema de archivos. El mk-qspi-boot.sh se ejecuta en el destino. Los scripts leen los archivos binarios (requisitos de seguridad social de MLO, u-boot.img, kernel / dtb, ipu images) de MMC / SD y parpadean en la memoria flash QSPI en la partición apropiada descrita en la tabla anterior. También formatear la seguridad social discapacidad pa & crea la partición rootfs en eMMC y copia el sistema de archivos de la partición rootfs de eMMC.

La partición de inicio MMC / SD contiene MLO, u-boot.img y uenv.txt. La partición rootfs contiene el sistema de archivos ext4 con kernel & DTBs en el directorio rootfs / boot. El formateo del dispositivo eMMC se puede hacer usando el script mk-eMMC-boot.sh. Primero inicie el EVM con el modo de inicio MMC / SD y luego ejecute el script mk-eMMC-boot.sh para crear las particiones eMMC.

los "rawemmc" la partición se usa para actualizar la imagen de disco al sector 0 de eMMC sin formato. Esto se usa para actualizar el eMMC a los tableros nuevos. Consulte la sección Uso del modo de inicio de periféricos USB para actualizar la seguridad social. MLO existente y u-boot.img de la partición de inicio de eMMC (vfat)

• Prepare la tarjeta mmc / sd mencionada en el paso 4 de la Guía del usuario de Automotive SDK de Linux para procesadores. De forma predeterminada, el script mksdboot.sh crea dos particiones, 64 MB de partición de arranque con sistema de archivos vfat y el tamaño restante de la tarjeta sd con partición rootfs con sistema de archivos ext4.

2. Una vez que el dispositivo eMMC ha sido particionado a vfat / ext4, el usuario puede escribir en el archivo o partición existente. Por ejemplo, como se muestra en la lista anterior de interfaces dfu, el usuario puede actualizar el archivo MLO o u-boot.img desde ubuntu PC. La interfaz alternativa número 3 debe seleccionarse para actualizar MLO, y 10 debe seleccionarse para u-boot.img.

1. Agregue un archivo nuevo / personalizado al directorio raíz de rootfs (ext4) o partición de inicio (vfat) de sdcard y actualice las imágenes de disco sin formato del sistema de archivos a eMMC. Por ejemplo, considere el archivo zImage, dra7-evm-lcd10.dtb se agrega al directorio raíz de rootfs (ext4) y al archivo README en la partición de inicio (vfat). Asegúrese de que el permiso de lectura / escritura del archivo esté configurado.

La siguiente tabla muestra los núcleos remotos y sus definiciones correspondientes en los archivos dtsi del kernel ($ {INSTALL_DIR} /board-support/linux/arch/arm/boot/dts/dra7.dtsi, y dra74x.dtsi beneficios de discapacidad de seguridad social), así como el argumento a utilizar en los comandos de carga / descarga.

El eco 55020000.ipu > El comando de desvinculación desmonta los canales de comunicación entre A15 y remotecore y descarga el remotecore. El integrador del sistema debe manejar cualquier cierre de nivel de aplicación que deba realizarse.

Si es deseable evitar sobrescribir los binarios remotos existentes, se puede utilizar el método de enlaces simbólicos en lugar de la copia directa. Por ejemplo, Processor SDK proporciona dos tipos de binarios de control remoto DSP: uno para DSPDCE de retiro anticipado de seguridad social (dra7-dsp1-fw.xe66.dspdce-fw) y otro para OpenCL (dra7-dsp1-fw.xe66.opencl-monitor ). dra7-dsp1-fw.xe66 se crea como un enlace simbólico que apunta al binario de OpenCL por defecto. Cuando se necesita cambiar a DSPDCE, el enlace simbólico de dra7-dsp1-fw.xe66 puede actualizarse apuntando a dra7-dsp1-fw.xe66.dspdce-fw.

Después del cambio, se puede ejecutar la aplicación copycodectest para verificar que el firmware DSPDCE esté cargado. Esta aplicación llena el búfer de entrada con un número ingresado como argumento y después del proceso, el búfer de salida se prueba para el mismo patrón.

Durante el arranque predeterminado, udev suministra el firmware al kernel. Al iniciar el servicio udev durante el arranque, aumenta el tiempo de arranque unos segundos. En los casos en que se requiere un inicio rápido, el usuario no puede iniciar el servicio udev durante el inicio. En tales casos, el firmware se puede suministrar a la aplicación de discapacidad de seguridad social del kernel en línea mediante la interfaz sysfs. Un ejemplo de script se muestra a continuación.

Muchos componentes de Vayu que se ejecutan en las IPU, incluida la IPC, deben acceder a los periféricos ubicados físicamente en esta región de banda de bits. Como resultado, estos accesos deben realizarse indirectamente utilizando una dirección de memoria virtual, asignada utilizando la AMMU de la IPU.

Muchos de los componentes alineados en el mapeo de esta memoria usando una página AMMU grande que mapea 512M de memoria física comenzando en 0x4000: 0000 a la memoria virtual comenzando en 0x6000: 0000. Luego, los componentes (de forma predeterminada) acceden a los periféricos utilizando el espacio de direcciones 0x6XXX: XXXX.

En ese mismo archivo, puede ver que estas direcciones son configurables, y las direcciones 0x6XXX: XXXX predeterminadas solo se usan si el integrador del sistema aún no ha configurado otras direcciones (por ejemplo, en un script .cfg). Los usuarios pueden anular estas direcciones de buzón de correo predeterminadas utilizando la matriz de estimación de seguridad social [] del módulo buBaseAddr de buz.AdterruptIpu de ti.sdo.ipc.family.vayu, documentada aquí:

El kernel de linux contiene el "Adjuntar tarde" característica incorporada. La función se habilita o deshabilita por núcleo remoto en el momento del arranque a través de la seguridad social del árbol de dispositivos para todos los atributos de nodo. Para permitir "Adjuntar tarde" para un núcleo remoto, se deben establecer 3 atributos en el núcleo remoto y en cada uno de los temporizadores, nodos mmu utilizados por el control remoto. Estos tres atributos son

El árbol del kernel de Linux entregado con Processor SDK Linux Automotive incluye un archivo dts que muestra cómo habilitar la función de conexión tardía para IPU2 en un DRA7xx evm con 10" LCD 1280×800. Este archivo fue construido de la siguiente manera. Los temporizadores utilizados por IPU2 se encuentran en $ PSDKLA / board-support / linux / arch / arm / boot / dts / dra7-evm.dts &ipu2 {

IPU2 utiliza timer3 para suministrar el tick OS y timer4 y timer9 como temporizadores de vigilancia. IPU2 también utiliza una MMU denominada mmu_ipu2 en el árbol de dispositivos. Todos estos nodos, incluido el nodo IPU2, deben tener configurados los tres atributos y la seguridad social descritos anteriormente.

La conexión tardía se puede habilitar para otros remotecores configurando los atributos de conexión tardía en los nodos del árbol de dispositivos correspondientes. La conexión tardía se puede habilitar para otras configuraciones de hardware eligiendo un archivo .dts base diferente. p.ej. Si el EVM tiene una pantalla OSD en lugar de 10" LCD, puede cambiar la inclusión a "dra7-evm-lcd-osd.dts" en lugar de "dra7-evm-lcd10.dts".

No hay una indicación predeterminada de si la función de conexión tardía está en uso o no. Esto es así por diseño, ya que el uso de adjuntos tardíos debe ser invisible para el usuario. Para propósitos de depuración, habilite el indicador DEBUG en drivers / remoteproc / omap_remoteproc.c durante la compilación del kernel. Si la funcionalidad de conexión tardía está en uso, ahora se mostrarán rastros adicionales en los registros de dmesg.

El código de inicio temprano ssi y la seguridad social en U-Boot hacen la configuración necesaria para abrir un dispositivo remoto. Esto incluye los temporizadores y los MMU. No configura ningún otro periférico por defecto. Algunos casos de uso pueden requerir una configuración periférica adicional antes de ejecutar el almacenamiento remoto. U-Boot incluye funciones de marcador de posición que se pueden completar para este propósito. Estos se pueden encontrar en el archivo $ GLSDK / board-support / u-boot / board / ti / dra7xx / evm.c.