¿Cómo incorpora la tecnología integrada ciertas funciones en los chips?
Unidad central de procesamiento compuesta por uno o varios circuitos integrados de gran escala.
Estos circuitos realizan las funciones de componentes de control y componentes lógicos aritméticos. En comparación con las unidades centrales de procesamiento tradicionales, los microprocesadores tienen las ventajas de su tamaño pequeño, peso ligero y fácil modularización.
1) Los componentes básicos de un microprocesador son: archivo de registro, unidad aritmética, circuito de control de temporización y bus de datos y direcciones. El microprocesador puede completar operaciones como buscar instrucciones, ejecutar instrucciones e intercambiar información con memoria externa y componentes lógicos. Es la parte de control informático de la microcomputadora. Se puede combinar con memoria y chips de circuitos periféricos para formar una microcomputadora. Sin embargo, estos sistemas operativos dedicados son productos comerciales y sus altos precios impiden que muchas pequeñas empresas tengan productos de gama baja. Además, el código fuente cerrado también limita en gran medida el entusiasmo de los desarrolladores;
2) La apertura de Linux hace que mucha gente piense que Linux es muy adecuado para la mayoría de los dispositivos de Internet. El sistema operativo Linux puede admitir diferentes dispositivos y diferentes configuraciones.
Linux es un proveedor neutral y de costo extremadamente bajo, por lo que rápidamente se convirtió en el sistema operativo para una variedad de dispositivos. Linux integrado es la tendencia general, y su enorme potencial de mercado y sus ilimitadas oportunidades comerciales atraerán inevitablemente a muchos fabricantes a ingresar a este campo.
3) Sistema operativo Linux integrado
Linux es el nombre colectivo de una clase de sistemas operativos informáticos Unix. El nombre del núcleo del sistema operativo Linux también es "Linux". El sistema operativo Linux es también el ejemplo más famoso de software libre y desarrollo de código abierto. Estrictamente hablando, la palabra Linux en sí solo se refiere al kernel de Linux, pero de hecho la gente está acostumbrada a usar Linux para describir todo el sistema operativo basado en el kernel de Linux y utilizando varias herramientas y bases de datos del Proyecto GNU.
Linux lleva el nombre del aficionado a la informática Linu STorvalds. El código fuente del programa Linux está abierto al público y cualquiera puede adaptar el kernel según sus propias necesidades para adaptarlo a su propio sistema.
El chip del procesador s3c2410 que trasplanta Linux al núcleo ARM920T se utiliza como ejemplo para presentar el proceso de adaptación y trasplante del kernel de Linux integrado. Los principios, métodos y técnicas básicos presentados en este artículo también pueden ser. utilizado para otros chips.
4) Proceso de trasplante de kernel
1. Establecer un entorno de compilación cruzada
Un compilador que se ejecuta en un entorno informático se puede compilar en otro El código que se ejecuta en el entorno se denomina este tipo de compilador que admite la compilación cruzada.
Este proceso de compilación se llama compilación cruzada. En pocas palabras, se trata de generar código ejecutable en una plataforma en otra plataforma. Lo que hay que señalar aquí es que la llamada plataforma en realidad incluye dos conceptos: arquitectura y sistema operativo.
2. La misma arquitectura puede ejecutar diferentes sistemas operativos; de manera similar, el mismo sistema operativo también puede ejecutarse en diferentes arquitecturas. Por ejemplo, la plataforma Linux x86 a la que a menudo nos referimos es en realidad el nombre colectivo de la arquitectura Intel x86 y Linux para el sistema operativo x86 y la plataforma x86 WinNT es en realidad la abreviatura de la arquitectura Intel x86 y Windows NT para el sistema operativo x86;
3. Compilación cruzada La compilación cruzada, en pocas palabras, consiste en generar código ejecutable en una plataforma en otra plataforma. Lo que hay que señalar aquí es que la llamada plataforma en realidad incluye dos conceptos: arquitectura y sistema operativo. La misma arquitectura puede ejecutar diferentes sistemas operativos; de manera similar, el mismo sistema operativo también puede ejecutarse en diferentes arquitecturas.
4. La instalación completa del compilador cruzado implica múltiples instalaciones de software, las más importantes de las cuales son binutils, gcc y glibc. Entre ellos, binutils se usa principalmente para generar algunas herramientas auxiliares; gcc se usa para generar compiladores cruzados, principalmente herramientas de compilación cruzada arm-linux-gcc; glibc se usa principalmente para proporcionar algunas bibliotecas de funciones básicas utilizadas por los programas de usuario.
5. Crear un entorno de compilación cruzada usted mismo suele ser complicado y propenso a errores. Este artículo utiliza el compilador cruzado que viene con la placa de desarrollo, es decir, el compilador cruzado CROSS-3.3.4. Para compilar arm-linux-3.3.4.bar.bz2 en el CD, use tar ixvf arm. -linux- 3.3.4.bar.bz2 el comando se puede descomprimir en /usr/local/arm.
5) Modificar el Makefile
Makefile Los archivos fuente de un proyecto no se cuentan. Se colocan en varios directorios según tipo, función y módulo. Reglas para especificar qué archivos deben compilarse primero, qué archivos deben compilarse más tarde, qué archivos deben compilarse nuevamente y se pueden realizar operaciones funcionales aún más complejas, porque el archivo MAKE es como un script de Shell, que también puede ejecutar operaciones comandos del sistema.
Al modificar el Makefile en la raíz del árbol de directorios del kernel, primero puede especificar el compilador cruzado. Al diseñar, puede agregar el siguiente contenido al Makefile:
ARCH ?=arm
CROSS_COMPILE?=arm-linux-y luego configurar la variable de entorno PATH para que pueda encontrar su cadena de herramientas de compilación cruzada, luego ejecute vi~/.bashrc y luego agregue el siguiente contenido:
export PATH=/usr/local/arln-linux-3.4.4/bin:$PATH
6 ) Configure la partición Flash
Aquí debe modificar 3 archivos a la vez, de la siguiente manera:
(1) Agregue lo siguiente al arco/brazo Contenido del archivo /machS3C2410/devs.c:
#include
#include
#include
Luego cree la tabla de particiones flash Nand también crea compatibilidad con el chip Nand F1ash y finalmente agrega el chip Nand FLASH y admite el controlador Nand Flash.
Además, modifique la variable de estructura s3c_device_nand en el archivo arch/arm/machs3c2410/devs.C y agregue la asignación al miembro dev.
(2) Especificar la inicialización al inicio
Cuando se inicia el kernel, puede realizar la configuración inicial de acuerdo con la configuración de la partición y luego modificar smdk2410_devices en arch/am4mach-s3c2410/machsmdk2410 .e [], indique que la información de la partición flash configurada anteriormente está incluida en la inicialización y agregue la siguiente declaración:
amp; Verificación ECC
El kernel generalmente se escribe en Nand Flash a través de UBOOT. UBOOT utiliza el algoritmo ECC del software para generar el código de verificación ECC, que es diferente del código ECC verificado por el kernel. El código ECC en el kernel es generado por el controlador Nand Flash en el S3C2410. Por lo tanto, elegimos desactivar aquí la verificación ECC del kernel.
Modifique la función s3c2410_nand_init_chip() en drivers/mtd/nand/s3c2410.C y agregue la siguiente declaración al final del cuerpo de la función:
chip-gt; ;