搜索
bottom↓
回复: 5

将Linux-2.6.25内核移植到S3C2440平台

[复制链接]

出0入0汤圆

发表于 2008-4-29 17:16:19 | 显示全部楼层 |阅读模式
4月17号linux-2.6.25稳定版发布,伟研科技 http://www.gzweiyan.com 将该内核移植到S3C2440平台上,下面是我们移植的第一步:

编译内核:
1)        解压内核,当前目录为/new_disk/weiyan/
tar jxf /new_disk/weiyan/linux-2.6.25.tar.bz2
cd linux-2.6.25

2)        修改体系架构并指定交叉编译器
vi Makefile ,将193行和194行的
#ARCH            ?= $(SUBARCH)
#CROSS_COMPILE   ?=
修改为
ARCH            ?= arm
CROSS_COMPILE   ?= arm-linux-        #最后有“—”,Makefile会调用arm-linux-gcc

3)        载入默认配置
make s3c2410_defconfig
make menuconfig
按Esc键保存退出。

4)        添加生成U-Boot镜像的工具
cp /new_disk/weiyan/mkimage ./
vi scripts/mkuboot.sh ,将
MKIMAGE=$(type -path "${CROSS_COMPILE}mkimage")
修改为MKIMAGE=$PWD/mkimage

vi arch/arm/mach-s3c2440/mach-smdk2440.c
5)        添加nand划分信息
static struct mtd_partition wy_nand_part[] = {
        [0] = {        //u-boot及内存存放的分区
                .name   = "BOOT",
                .size   = SZ_2M,
                .offset = 0,
        },
        [1] = {        //文件系统存放的分区
                .name   = "ROOTFS",
                .offset = SZ_2M,
                .size   = SZ_32M,
        },
        [2] = {        //剩余空间
                .name   = "BACKUP",
                .offset = SZ_32M + SZ_2M,
                .size   = SZ_32M - SZ_2M,
        },
};
static struct s3c2410_nand_set wy_nand_sets[] = {
        [0] = {
                .name        = "NAND",
                .nr_chips     = 1,
                .nr_partitions  = ARRAY_SIZE(wy_nand_part),

6)        添加nand flash的读写匹配时间,各时间定义如图
static struct s3c2410_platform_nand wy_nand_info = {
        .tacls          = 10,
        .twrph0         = 25,
        .twrph1         = 10,
        .nr_sets        = ARRAY_SIZE(wy_nand_sets),
        .sets           = wy_nand_sets,
};

                .partitions     = wy_nand_part,
        },
};

7)        添加支持硬件校验:
   

make menuconfig
Device Drivers  --->
<*> Memory Technology Device (MTD) support  --->
<*>   NAND Device Support  --->
  •      S3C2410 NAND Hardware ECC

    8)        编译并拷贝到tftp下载目录
    make uImage && cp arch/arm/boot/uImage /new_disk/tftp


    ……
    Image Name:   Linux-2.6.25
    Created:      Mon Apr  7 13:50:19 2008
    Image Type:   ARM Linux Kernel Image (uncompressed)
    Data Size:    1591184 Bytes = 1553.89 kB = 1.52 MB
    Load Address: 0x30008000
    Entry Point:  0x30008000
      Image arch/arm/boot/uImage is ready

    启动新内核:
    dm9000 i/o: 0x18000300, id: 0x90000a46
    MAC: 00:0c:20:02:0a:5b
    TFTP from server 192.168.1.5; our IP address is 192.168.1.6
    Filename 'uImage'.
    Load address: 0x31000000
    Loading: #################################################################
             #############################################
    done
    Bytes transferred = 1591268 (1847e4 hex)
    ## Booting image at 31000000 ...
       Image Name:   Linux-2.6.25
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    1591204 Bytes =  1.5 MB
       Load Address: 30008000
       Entry Point:  30008000
       Verifying Checksum ... OK
    OK

    Starting kernel ...

    Uncompressing Linux....................................................................................................... done, booting the kernel.
    Linux version 2.6.25 (root@ubuntu-server) (gcc version 3.4.1) #4 Mon Apr 21 04:28:37 CST 2008
    CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
    Machine: SMDK2440
    Memory policy: ECC disabled, Data cache writeback
    CPU S3C2440A (id 0x32440001)
    S3C244X: core 406.425 MHz, memory 135.475 MHz, peripheral 67.737 MHz
    S3C24XX Clocks, (c) 2004 Simtec Electronics
    CLOCK: Slow mode (2.116 MHz), fast, MPLL on, UPLL on
    CPU0: D VIVT write-back cache
    CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
    CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
    Kernel command line: root=/dev/mtdblock1 rootfstype=jffs2 console=ttySAC0 ip=192.168.1.6:192.168.1.5:192.168.1.5:255.255.255.0:WEIYAN:eth0:off
    …….
    S3C24XX NAND Driver, (c) 2004 Simtec Electronics
    s3c2440-nand s3c2440-nand: Tacls=2, 14ns Twrph0=4 29ns, Twrph1=2 14ns
    NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)
    Scanning device for bad blocks
    Creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":
    0x00000000-0x00200000 : "BOOT"
    0x00200000-0x02200000 : "ROOTFS"
    0x02200000-0x04000000 : "BACKUP"
    ……
    Empty flash at 0x0096200c ends at 0x00962200
    Empty flash at 0x01470628 ends at 0x01470800
    jffs2_scan_eraseblock(): Node at 0x01470dfc {0x1985, 0xe001, 0xe0021985) has invalid CRC 0x00000044 (calculated 0x515918d5)
    VFS: Mounted root (jffs2 filesystem).
    Freeing init memory: 140K
    JFFS2 notice: (775) check_node_data: wrong data CRC in data node at 0x01470578: read 0x5cc80399, calculated 0x36a47240.
    init started: BusyBox v1.9.1 (2008-04-19 19:49:32 CST)
    starting pid 777, tty '': '/etc/init.d/rcS'
    starting initial script, WEIYAN

    Please press Enter to activate this console.
    starting pid 795, tty '': '/bin/sh'
    [root@WEIYAN /]$ ls
    bin      etc      linuxrc  opt      sbin     tmp      var
    dev      lib      mnt      proc     sys      usr
    [root@WEIYAN /]$


    以下蓝色文字由站长:armok 于:2008-04-30,05:23:24 加入。
    你的原标题:“<font color=black>Linux-2.6.25移植
    ” 不合符规定。请更改成能说明帖子大意的标题
    试想一下,如果本论坛的帖子标题清一色的‘帮助!’,‘ADC求救!’等笼统的标题,你在阅读的过程中会造成许多麻烦。
    所以本论坛规定:一定要起一个能说明帖子大意的标题。不允许“关于 AVR 的 ADC 使用!”这种笼统标题。作为标题,必须说明清楚:
     ①你是在请教问题,还是在介绍有关的知识?
     ②ADC的问题有许多,你是想说那方面的内容?
    注意以上两点,标题应该改成如:“请教:ADC 可以不使用中断吗?”。
    起一个能说明帖子大意的标题,除了减轻我们的帖子分类整理工作,还方便其它人阅读,节省大家的时间。
    注:使用合格的标题,对你来说只是举手之劳,但却会为我们的管理工作提供很大的便利。谢谢你的支持。
  • 阿莫论坛20周年了!感谢大家的支持与爱护!!

    一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

    出0入0汤圆

    发表于 2008-4-29 17:20:04 | 显示全部楼层
    好 不得不顶!

    出0入0汤圆

    发表于 2008-4-29 21:40:58 | 显示全部楼层
    帅哥。你要说清楚呀 !!原来是移植的ARM。有没有编译PC104用内核的。

    出0入0汤圆

    发表于 2008-5-4 11:02:16 | 显示全部楼层
    好贴,向你学习。

    出0入0汤圆

    发表于 2008-11-5 22:44:47 | 显示全部楼层
    有没有在REDHAT&nbsp;9下移植的程序,我把楼主的程序放在REDHAT&nbsp;9下移植不能通过,有错误的

    交叉编译器3.4.1

    出0入0汤圆

    发表于 2009-3-27 15:07:23 | 显示全部楼层
    好,努力学习中
    回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

    GMT+8, 2024-5-20 17:27

    © Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

    快速回复 返回顶部 返回列表