zoukankan      html  css  js  c++  java
  • FL2440内核和文件系统的烧录


    推荐下载linux-3.0-rc4.tar.bz2 文件进行开发

    1.内核的制作

    1.1修改vim Makefile,进行配置

    修改1:

    +ARCH       ?= arm
    +CROSS_COMPILE ?= /usr/bin/arm-linux-(选择自己的交叉编译路径)
    

    修改2

    all: vmlinux
      cp arch/arm/boot/zImage . -f mkimage -A arm -O linux -T kernel -C none -a 30008040 -n "Linux Kernel" -d zImage  linuxrom-s3c2440.bin
       rm -f zImage
    

    1.2修改晶振频率

    vim arch/arm/mach-s3c2440/mach-smdk2440.c

     static void __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));
     }
    

    1.3修改驱动的串口

    #define S3C24XX_SERIAL_NAME    "ttyS"
    #define S3C24XX_SERIAL_MAJOR   204
    #define S3C24XX_SERIAL_MINOR   64
    

    1.4修改配置文件

    参考mini2440的.config文件作为我们的默认.config文件,复制到当前目录。cp arch/arm/configs/mini2440_defconfig .config

    1.5修改MACHINE ID

    vim arch/arm/tools/mach-types将mini2440(356)和和s3c2440(1999)的machineID对调,即变为mini2440--1999 s3s2440--356

    1.6进行nand flash分区

    vim arch/arm/plat-s3c24xx/common-smdk.c

    static struct mtd_partition smdk_default_nand_part[] = {
    	[0] = {      
    	.name   = "bootloader",
            .size   = SZ_1M,
            .offset = 0,
        	},
        	[1] = {
           .name   = "linux",
           .offset = MTDPART_OFS_NXTBLK,
           .size   = SZ_1M*15,
        	},
        	[2] = {
           .name   = "rootfs",
           .offset = MTDPART_OFS_NXTBLK,
           .size   = SZ_1M*40,
        },
        	[3] = {
           .name   = "apps",
           .offset = MTDPART_OFS_NXTBLK,
           .size   = SZ_1M*50,
        },
    	[4] = {
           .name   = "backup",
           .offset = SZ_1M * 100,
           .size   = MTDPART_SIZ_FULL,
      }
     };
    

    1.7配置内核

    make menuconfig
    

    System Type>> S3C2440 and S3C2442 Machines>>

    1.8编译内核

    make

    2.根文件系统的制作

    文件系统的配置自己在这偷个懒,有点晚不想写了,基本上参考参考文献就OK了。
    不过有一点要注意,如果采用busybox,应该明白库的选择的方式,是动态链接还是静态链接,这回影响到后面的配置!
    如果选择动态链接,要拷贝库文件。cp -rf /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/* ./lib
    如果选择静态链接,则要进行静态编译 arm-linux-gcc -static

    参考文献:
    1.内核配置

    http://www.cnblogs.com/Ph-one/p/4578814.html
    http://blog.csdn.net/baweiyaoji/article/details/64923767

    2.根文件系统

    http://blog.chinaunix.net/uid-20528014-id-4080867.html
    http://blog.sina.com.cn/s/blog_6648c1140100w16l.html
    http://blog.csdn.net/newnewman80/article/details/7971317
    http://blog.csdn.net/geekcome/article/details/6542117
    http://blog.csdn.net/mcu_tian/article/details/51556398 (采用静态的方式)

  • 相关阅读:
    odoo邮箱系统
    运行odoo13,走的odoo12的数据库
    字段`in_group_69`不存在
    odoo库存
    Codeforces 1430E
    AtCoder "Regular Contest 102" D
    AtCoder "Grand Contest 041" E
    ZJNU 2471
    ZJNU 2455
    Codeforces 1426F
  • 原文地址:https://www.cnblogs.com/boyiliushui/p/6660105.html
Copyright © 2011-2022 走看看