Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo hacer que yaffs2 admita memoria flash 2g

Cómo hacer que yaffs2 admita memoria flash 2g

1. Modifique el Makefile en el directorio raíz del código fuente del kernel

#ARCH ? = arm

#CROSS_COMPILE ? = arm-linux-

2. Modifique el archivo arch /arm/plat-s3c24xx/common-smdk.c, modifique la información de la partición Nand Flash y la información del hardware Nand Flash. La partición aquí debe ser coherente con la partición del cargador de arranque. Puede consultar la estructura de datos smdk_default_nand_part[] para practicar. nr_sets = ARRAY_SIZE(smdk_nand_sets),

.sets = smdk_nand_sets,

};

4. Modificar s3c2410_nand_init_chip en drivers/mtd/nand/s3c2410.c NAND_ECC_SOFT en la función es NAND_ECC_NONE. Frecuencia del cristal: modificar arco/brazo/mach-s3c2440/mach-smdk2440.c.

c

vacío estático __init smdk2440_map_io(void)

{

s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));

s3c24xx_init_clocks( 12000000 );

s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));

}

6. Agregar soporte para el sistema de archivos yaffs2:

Descargue el paquete de código fuente de yaffs2, descomprímalo e ingréselo, se ha agregado al kernel de Linux (método de parche)

#cd yaffs2

#./patch-ker. sh c $you_kernel_path (el directorio de códigos de su kernel)

7. Configure el kernel

Primero, copie la configuración predeterminada de la placa de desarrollo s3c2410 en el directorio raíz del kernel para simplificar el proceso de configuración.

# cp arch/arm/configs/s3c2410_ defconfig .config

# make menuconfig

Configuración general --->

[*] Configurar funciones estándar del kernel (adecuadas para sistemas pequeños) --->

2 Tipo de sistema---->

[*] Compatibilidad con S3C2410 DMA [*. ] Compatible con procesador ARM920T

Máquina S3C2410--->

[*] SMDK2410/ A9M2410

Máquina S3C2440--->

[*] SMDK2440

[*] SMDK2440 con módulo de CPU S3C2440

3.root=/dev/hda1 ro init=/bin/bash console=ttySAC0) Caracteres de comando del kernel predeterminados Cadena

Reemplazar (noinitrd root=/dev/mtdblock2 console=ttySAC0, 115200 init=/linux2440 módulo CPU

3.115200 init=/linuxrc)

Atención especial root=/dev/mtdblock2 parámetro aquí, mtdblock2 es la ubicación del sistema de archivos raíz, que está relacionado con la asignación del cargador de arranque y, por supuesto, está estrechamente relacionado con los dos pasos anteriores. Si aún no funciona, inténtalo unas cuantas veces más.

4.[*]Habilitar soporte para módulos cargables--->

[*] Descarga de módulos

[*] Cargar módulos del kernel automáticamente

Seleccione estos dos elementos y elimine el resto

5.[*]Soporte del módulo kernel--->

6. Controlador de dispositivo--->

<*> Compatibilidad con dispositivos de tecnología de memoria (MTD)--->

[*] Compatibilidad con particiones MTD

<*& gt; p>

<*> Compatibilidad con flash NAND para SoC S3C2410/S3C2440

[ ] Hardware ECC NAND S3C2410 //debe eliminarse

6. Sistema de archivos----->

Otros sistemas de archivos --->

<*>Soporte del sistema de archivos YAFFS2

7.