Red de conocimiento informático - Conocimiento informático - Catálogo de libros con explicaciones detalladas de controladores integrados de Linux y ejemplos de desarrollo de sistemas

Catálogo de libros con explicaciones detalladas de controladores integrados de Linux y ejemplos de desarrollo de sistemas

Parte 1: Conceptos básicos de Linux

Capítulo 1 Introducción a los conceptos básicos integrados 2

1.1 Introducción a los sistemas operativos integrados 2

1.1 .1 Básico conceptos de sistemas embebidos 2

1.1.2 Introducción al núcleo de los sistemas embebidos 3

1.1.3 Campos de aplicación de los sistemas embebidos 4

1.2 Descripción general de Linux sistema operativo 5

1.2.1 Estado de desarrollo de Linux integrado 5

1.2.2 Términos comunes relacionados con Linux 6

1.3 Trasplante del sistema operativo Linux 8

1.3.1 Explicación detallada de la tecnología BootLoader 8

1.3.2 Estructura básica del kernel de Linux 17

1.3.3 Trasplante del sistema operativo Linux 28

1.4 Resumen de este capítulo 32

Capítulo 2 Plataforma del entorno de desarrollo de sistemas Linux 33

2.1 Gestión de procesos/hilos 33

2.1.1 Proceso/hilos Concepto 33

2.1.2 Operaciones básicas de proceso 37

2.1.3 Comunicación y sincronización de procesos 49

2.1.4 Operaciones básicas de subprocesos 57

2.1.5 Programación multiproceso simple 59

2.2 Estructura y tipos del sistema de archivos 62

2.2.1 Sistema de archivos FAT 62

2.2.2 RAMFS Sistema de archivos kernel 66

2.2.3 Sistema de archivos JFFS y YAFFS 68

2.2.4 Sistema de archivos EXT2/EXT3 71

2.2.5 Sistema de archivos /proc 74

2.2.6 Funciones de operación de archivos de Linux 75

2.3 Gestión de almacenamiento 79

2.3.1 Gestión de memoria MTD 79

2.3. 2 Gestión de memoria de Linux 83

2.4 Gestión de dispositivos 84

2.4.1 Descripción general 84

2.4.2 Dispositivos de caracteres y dispositivos de bloque 84

2.4.3 Número de dispositivo principal y número de dispositivo secundario 87

2.5 Resumen de este capítulo 88

Capítulo 3 Conceptos básicos de la programación integrada de Linux 89

3.1 Establecimiento de dispositivos integrados Entorno de compilación cruzada de Linux 89

3.1.1 Descripción general del entorno de compilación 89

3.1.2 Proceso de establecimiento de un entorno de compilación cruzada 92

3.2 Proyecto manager make 97

3.2.1 descripción general de make 97

3.2.2 Reglas de escritura de archivos Makfile 101

3.3 Programación en Linux C/C++ 104

3.3 .1 Estructura del programa C/C++ 104

3.3.2 Tipos de datos C/C++ 107

3.3.3 Expresiones/declaraciones, funciones 108

3.3.4 Consideraciones de diseño C/C++ 111

3.4 Diseño de programa ensamblador de Linux 117

3.4.1 Formato de sintaxis ensamblador de Linux 118

3.4.2 Ejemplos de programa ensamblador 119

3.5 Programación en lenguaje Shell de Linux 120

3.5.1 Variables de entorno y archivos de configuración del Shell 121

3.5.2 Ejemplos de programación del Shell 123

3.6 Programación en lenguaje Perl de Linux 124

3.6.1 Programas Perl básicos 124

3.6.2 Variables Perl 125

3.6.3 Identificadores y operaciones de archivos 128

3.6.4 Estructura del bucle 129

3.6.5 Estructura condicional 130

3.7 Resumen de este capítulo 131

Capítulo 4 Herramientas comunes de desarrollo de Linux 132

4.1 Compilador GCC 132

4.1.1 Información de la versión de GCC 132

4.1.2 Estructura del directorio de GCC 132

4.1.3 Proceso de ejecución de GCC 133

4.1.4 Uso básico de GCC y opciones 134

4.1.5 g++ 134

4.2 depurador gdb 135

4.2.1 Uso básico y opciones 135

4.2 . 2 Comandos gdb comunes 135

4.3 Herramientas de ensamblaje de Linux 136

4.3.1 Ensamblador 136

4.3.2 Enlazador 136

4.3. 3 Depurador 137

4.3.4 Llamada al sistema 137

4.3.5 Parámetros de línea de comando 137

4.3.6 Ensamblaje en línea de GCC 138

4.4 Herramienta de depuración de Linux 139

4.4.1 Herramienta de depuración JTAG 139

4.4.2 Entorno de depuración del kernel kgdb 144

4.5 Herramientas de desarrollo de gráficos de Linux 149

4.5.1 Desarrollo de interfaz gráfica GUI 149

4.5.2 Herramientas de desarrollo de gráficos GTK 157

4.5.3 Herramientas de desarrollo de gráficos QT 161

p>

4.6 Resumen de este capítulo 167

Parte 2 Desarrollo y ejemplos de controladores de Linux

Capítulo 5 Conceptos básicos del controlador de dispositivos Linux 170

5.1 Conceptos básicos del controlador 170

5.1.1 La diferencia entre controladores y aplicaciones 170

5.1.2 Dependencias de la versión del kernel y la versión del compilador 171

5.2 Descripción general del módulo del controlador de dispositivo 171

5.2.1 Conceptos básicos de los módulos 171

5.2.2 Inicialización y salida del módulo 172

5.2.3 Carga del módulo del kernel de Linux 174

5.3 Dispositivo Linux Análisis de la estructura del controlador 176

5.3.1 Kernel e interfaz de usuario 176

5.3.2 Nodo de inodo 177

5.3 3 Estructura de archivos 178

<. p>5.4 Introducción a las funciones de interfaz comunes 181

5.5 Depuración del controlador 187

5.6 Resumen de este capítulo 189

Capítulo 6 Capítulo Desarrollo del controlador de la tarjeta de red 190

6.1 Descripción general de la tarjeta de red 190

6.2 Controlador de tarjeta de red RTL8193 190

6.2.1 Inicialización del controlador de tarjeta de red 191

6.2.2 Red transmisión y recepción de datos de la tarjeta 197

6.3 Ejemplo típico: desarrollo del controlador de la tarjeta de red inalámbrica Ralink 198

6.3.1 Tarjeta de red inalámbrica Ralink 198

6.3.2 Selección del protocolo de comunicación inalámbrica 802.11 199

6.3.3 Estructura de datos clave del controlador del dispositivo 200

6.3.4 Análisis del controlador de la tarjeta de red inalámbrica rt2500 202

6.3.5 rt2500 Código fuente del programa 207

6.4 Resumen de este capítulo 215

Capítulo 7 Desarrollo del controlador de la tarjeta gráfica 216

7.1 Descripción general del controlador de la tarjeta gráfica 216

7.1 .1 Framebuffer de Linux 216

7.1.2 Estructura de datos del dispositivo Framebuffer 220

7.2 Ejemplo típico: implementación del controlador Framebuffer de tarjeta gráfica 225

7.2.1 Framebuffer marco del conductor

Programa 225

7.2.2 Archivo del controlador del dispositivo de la tarjeta gráfica NVDIA 231

7.3 Resumen de este capítulo 233

Capítulo 8 Desarrollo del controlador de la tarjeta de sonido 234

8.1 Descripción general del controlador de la tarjeta de sonido 234

8.2 Controlador de la tarjeta de sonido OSS 234

8.3 Controlador de la tarjeta de sonido ALSA 235

8.4 Ejemplo típico: tarjeta de sonido AC97 implementación del controlador 237

8.4.1 Análisis del controlador AC97 237

8.4.2 Configuración del controlador de la tarjeta de sonido Realtek 241

8.5 Resumen de este capítulo 243

Capítulo 9 Desarrollo del controlador USB 244

9.1 Descripción general del controlador de dispositivo USB 244

9.2 Ejemplo de dispositivo de controlador USB 245

9.2.1 Descripción general del controlador de Linux 245

9.2.2 Análisis del controlador 246

9.3 Ejemplo típico: ejemplo de comunicación maestro-esclavo de microcontrolador 253

9.3.1 Introducción a la comunicación maestro-esclavo 253

9.3.2 Controlador de dispositivo USB 254

9.3.3 Código fuente del programa host 260

9.4 Resumen de este capítulo 261

Capítulo 10 Flash desarrollo de controladores 262

p>

10.1 Conceptos básicos de la memoria flash Flash 262

10.2 Tecnología Flash MTD 264

10.3 Ejemplo típico 1: ejemplo de controlador Flash NAND 265

10.3.1 Dispositivo del controlador NAND Flash 265

10.3.2 Código fuente del controlador NAND Flash 266

10.4 Ejemplo típico 2: ejemplo del controlador NOR Flash 270

10.4.1 Controladores de chip y dispositivos originales MTD 270

10.4.2 Análisis del controlador NOR Flash 270

10.4.3 Código fuente del controlador NOR Flash 274

10.5 Resumen de este capítulo 276

p>

Parte 3 Ejemplos de desarrollo de sistemas Linux

Capítulo 11 Patrones y procesos de desarrollo de sistemas integrados 278

11.1 Estructura de sistemas integrados 278

11.1.1 Arquitectura de hardware de sistemas integrados 278

11.1.2 Estructura de software de sistemas integrados 278

11.2 Modelos y procesos de desarrollo integrados 279

11.2.1 Modelo de desarrollo de sistemas integrados 279

11.2.2 Proceso de desarrollo de sistemas integrados 280

11.3 Resumen de este capítulo 282

Capítulo 12 Industrial Ejemplos de desarrollo de equipos de monitoreo de temperatura 283

12.1 Descripción general del entorno de aplicación y diseño de hardware 283

12.1.1 Aplicación de Linux integrado en el campo del control industrial 283

12.1 .2 Estándar de protocolo de comunicación en serie de control industrial 286

12.2 Tecnología de desarrollo relacionada: interfaz de comunicación en serie asíncrona 288

12.2.1 Estándar de comunicación en serie asíncrona 288

12.2. 2 Configure la señal de control del puerto serie 290

12.2.3 Lea la señal de control del puerto serie 291

12.2.4 Llamada al sistema File Open() 292

12.3 Ejemplo: sistema de monitoreo de temperatura en tiempo real basado en DS1820 292

12.3.1 Estructura básica del sistema 293

12.3.2 Flujo de trabajo del sistema 296

12.3.3 Implementación del código fuente del módulo del sistema 298

12.4 Resumen de este capítulo 306

Capítulo 13 Ejemplo de desarrollo del sistema de recopilación de videos en tiempo real 307

13.1 Descripción general del entorno de la aplicación y Diseño de hardware

307

13.2 Tecnologías de desarrollo relacionadas 308

13.2.1 Tecnología de compresión de imágenes de vídeo 308

13.2.2 Controlador de captura de vídeo 310

13.2 .3 Carga y ejecución del controlador de video 313

13.3 Ejemplo - Diseño de un sistema de adquisición de video en tiempo real basado en MV86S02 313

13.3.1 Estructura básica del sistema 313

13.3.2 Flujo de trabajo del sistema 316

13.3.3 Implementación del código fuente del módulo del sistema 319

13.3.4 Comparación y análisis de datos de video 335

13.4 Resumen de este capítulo 336

p>

Capítulo 14 Ejemplo de desarrollo del sistema de control de acceso con identificación de huellas dactilares 337

14.1 Descripción general del entorno de aplicaciones y diseño de hardware 338

14.2 Tecnologías de desarrollo relacionadas 340

14.2 .1 Principio de identificación de huellas dactilares 340

14.2.2 Marco de escritura del controlador de dispositivo 344

14.2.3 Controlador de chip de huellas dactilares 346

14.3 Ejemplo: basado en el sistema de control de acceso por reconocimiento de huellas dactilares ARM Linux 347

14.3.1 Estructura básica del sistema 347

14.3.2 Flujo de trabajo del sistema 349

14.3.3 Implementación del código fuente del módulo del sistema 350

14.4 Resumen de este capítulo 360

Capítulo 15 Ejemplos de desarrollo de sistemas de aplicaciones Ethernet basados ​​en RTL8019 361

15.1 Descripción general de la tecnología de aplicaciones Ethernet 361

15.2 Tecnologías de desarrollo relacionadas 362

15.2.1 Principio de transmisión de tramas Ethernet basado en RTL8019 362

15.2.2 Inicialización de RTL8019 363

15.2.3 Marco del controlador RTL8019 364

15.2.4 Estructuras de datos y funciones 365

15.2.5 Carga del controlador RTL8109 368

15.3 Basado en ejemplos sobre el diseño del sistema de aplicación Ethernet RTL8019 368

15.3.1 Estructura básica del sistema 368

15.3.2 Flujo de trabajo del sistema 371

15.3.3 Implementación del código fuente del módulo del sistema 372

15.3.4 Depuración del sistema 380

15.4 Resumen de este capítulo 381

Capítulo 16 Ejemplo de desarrollo del sistema de transmisión de datos de red inalámbrica 382

16.1 Introducción al sistema de transmisión de red inalámbrica 382

16.2 Tecnologías de desarrollo relacionadas 383

16.2.1 Tecnología de acceso a red inalámbrica 383

16.2.2 Red inalámbrica basada en PCMCIA interfaz de tarjeta 385

16.2.3 Controlador PCMCIA 386

16.3 Ejemplo: basado en PCMCIA

16.3 Diseño de sistema frontal integrado de red inalámbrica 387

16.3.1 Estructura básica del sistema 387

16.3.2 Flujo de trabajo del sistema 389

16.3.3 Implementación del código fuente del módulo del sistema 391

16.3. 4 Depuración del sistema 398

16.4 Resumen de este capítulo 398

Capítulo 17 Ejemplo de sistema de transmisión de datos basado en PDIUSBD12 399

17.1 Resumen del entorno y hardware de la aplicación USB diseño 400

17.2 Tecnologías de desarrollo relacionadas: sistema USB y controlador de bus 401

17.2.1 Composición del sistema USB 401

17.2.2 Controlador de bus host USB 402

17.2.3 Controlador de bus de dispositivo USB 403

17.3 Ejemplo: dispositivo de transmisión de datos basado en PDIUSBD12

Planificación 406

17.3.1 Estructura básica del sistema 406

17.3.2 Flujo de trabajo del sistema 412

17.3.3 Implementación del código fuente del módulo del sistema 412

17.4 Resumen de este capítulo 424

Capítulo 18 Ejemplo de diseño de sistema de monitoreo de seguridad en el hogar 425

18.1 Resumen de diseño de hardware y entorno de aplicación 425

18.1.1 Sistema Funciones y composición 425

18.1.2 Descripción de la función del módulo del sistema 426

18.2 Estructura del hardware del sistema 430

18.2.1 Estructura del hardware del sistema cliente Linux 430

18.2.2 Estructura de hardware del sistema de sensores 433

18.3 Estructura de software del sistema 435

18.3.1 Estructura de software del sistema cliente Linux 435

18.3 .2 Estructura del software del sistema de sensores 438

18.4 Diseño e implementación del sistema cliente Linux 440

18.4.1 Diseño de la estructura de datos del sistema 440

18.4.2 Diseño del módulo de comunicación Descripción 441

18.4.3 Descripción del diseño del módulo de visualización 442

18.4.4 Descripción del diseño del módulo de gestión de usuarios 443

18.4.5 Descripción del diseño del módulo de configuración del sistema 445

18.4.6 Código principal del cliente y comentarios 445

18.5 Diseño e implementación del módulo principal del sistema 447

18.5.1 Descripción del diseño del módulo de monitoreo infrarrojo 447

18.5.2 Módulo de alarma (advertencia) 448

18.5.3 Módulo de monitoreo de disparo 449

18.5.4 Módulo de gestión 450

18.5.5 Código principal y comentarios 453

18.6 Resumen de este capítulo 459

Capítulo 19 Ejemplo de diseño de sistema de campus móvil 460

19.1 Resumen de diseño de hardware y entorno de aplicación 460

19.1.1 Funciones y componentes del sistema 460

19.1.2 Funciones del módulo del sistema y diagrama de software 460

19.2 Estructura del hardware del sistema 462

19.3 Estructura del software del sistema 463

19.3.1 Estructura general del software 463

19.3.2 Estructura del módulo de software 464

19.3.3 Diseño de interfaz 467

19.3 .4 Ejecución del diseño del proceso 468

19.3.5 Diseño de la estructura de datos del sistema 469

19.3.6 Entorno de desarrollo del edificio 470

19.4 Código de programa del módulo del sistema 472< / p>

19.4.1 Función principal 472

19.4.2 Módulo de cronograma del programa de estudios 472

19.4.3 Módulo del foro BBS 474

19.4.4 Mapa módulo 476

19.4.5 Módulo de mensajes del sistema de mensajes 478

19.5 Resumen de este capítulo 478