Depuración del controlador de LinuxDepuración del controlador de Linux
Los controladores de dispositivos Linux deben implementarse a través de la API del kernel, que generalmente se incluye en el árbol de fuentes del kernel de Linux. Los controladores se pueden compilar en el kernel y cargar con el kernel cuando se inicia el sistema. También se puede compilar en un módulo del kernel y cargar dinámicamente en el kernel después de que el sistema se esté ejecutando. De esta manera, no es necesario volver a compilar el kernel y reiniciar el sistema durante la depuración, lo que facilita enormemente la depuración del código del controlador.
¿Cómo llamar al controlador de Linux?
El controlador de Linux se llama de la siguiente manera:
1. Después de ingresar al escritorio de Ubuntu, abra la terminal. La tecla de acceso directo es CTRL+ALT+T.
2. Luego cree una carpeta para almacenar el archivo de script.
3. Busque la ruta del programa ejecutable que desea abrir. Tomemos como ejemplo Firefox. Hay un programa ejecutable de Firefox en /usr/bin.
4. Ingrese cd/usr/local/myShell para ingresar a la carpeta recién creada.
5. Si desea que el programa se ejecute en segundo plano, puede presionar ctrl+C en la terminal para salir del programa y volver a ingresar. /openFireFox.sh, para que el programa se pueda ejecutar en segundo plano y se pueda seguir utilizando el terminal.
¿Cuáles son las desventajas de utilizar variables globales en el desarrollo de controladores para Linux?
Aunque sean estáticas, cuantas menos variables globales mejor.
No sólo Linux, sino también bare metal. Poner variables relacionadas en una estructura y dividirlas dinámicamente cuando se usan puede reducir el tamaño total del código y así ahorrar memoria. Es más fácil de depurar. Hubo un escenario similar al depurar antes, porque el script de enlace que escribí no contenía una sección pública y las variables globales eran valores aleatorios. Podría sospechar que usar variables estáticas directamente es más eficiente que usar el cuerpo del mecanismo, pero este no es el caso. La conversión de parámetros de estructura a estructura se resuelve en tiempo de compilación y tiene poco impacto en tiempo de ejecución. Los que aprenden Linux son todos mis amigos. Bienvenido a comunicarse.