3回答

0收藏

Linux-2.6.25移植

其他 其他 5150 人阅读 | 3 人回复 | 2008-04-29

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 ([email=root@ubuntu-server]root@ubuntu-server[/email]) (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:eth0ff
    …….
    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 /]$
  • 分享到:
    回复

    使用道具 举报

    回答|共 3 个

    倒序浏览

    沙发

    maogoulai2000

    发表于 2008-9-18 21:41:45 | 只看该作者

    RE:Linux-2.6.25移植

    谢谢LZ,很好.....
    回复 支持 反对

    使用道具 举报

    板凳

    gzweiyan-44649

    发表于 2008-10-10 13:18:39 | 只看该作者

    RE:Linux-2.6.25移植

    蓝牙适配器
    参数:
    兼容Bluetooth V1.2/2.0;
    支持Bluetooth V2.0+EDR;
    内置天线;
    有效通讯距离20米;
    支持S3C2440/S3C2410/PXA270/PXA300平台;
    回复 支持 反对

    使用道具 举报

    地板

    gzweiyan-44649

    发表于 2008-10-10 13:20:14 | 只看该作者

    RE:Linux-2.6.25移植

    伟研科技,999元超值WY2440嵌入式学习包(包奇美 3.5'TFT LCD)
    http://www.gzweiyan.com/html/products/20080820/35.html
    WY2440开发板硬件资源:
    ◆CPU      :三星S3C2440A-40,主频400MHz,最高533MHz
    ◆电源   :采用开关电源设计,有效控制发热量,大大提高板子的稳定性
    ◆外部存储器:SDRAM:64M; NAND Flash:64M(K9F1208UOC)
    ◆网络接口  :100M Ethernet,RJ-45接口(DM9000AEP)
    ◆USB接口:二个USB1.1 HOST接口, 一个USB1.1 Device接口 (一个USB1.1 HOST与一个USB1.1 Device共用一个接口)
    ◆串口    :3个标准串口
    ◆音频接口:一路音频输出,一路音频输入
    ◆存储接口:标准SD Card接口(最高可支持2G,即插即用)
    ◆摄像头接口    :CAM接口
    ◆复位电路      :一个复位按键
    ◆扩展总线      :60针扩展总线
    ◆IO扩展接口   :40个GPIO扩展接口
    ◆调试及下载接口:标准JTAG引线,支持ADS1.2等调试
    ◆LCD和触摸屏接口:LCD/STN液晶屏接口,含有触摸屏接口

    软件资源:
    ◆《嵌入式学习手册》一本,详细描述DM9000网卡,GPIO 按键,SD卡,UDA1341音频,USB DEVIDE,LCD,触摸屏,摄像头等驱动的移
    植过程,并手把手介绍了带硬件ECC的Jffs2、Yaffs2文件系统,BusyBox-1.10.1,Web服务器,mplayer和QT的移植和使用
    ◆配置好编译环境的Ubuntu虚拟机镜像;
    ◆基于最新内核(Linux-2.6.25)BSP包的完全源代码;
    ◆完整驱动的WINCE5.0的BSP包
    ◆Protel格式的底板和核心板的原理图
    等等
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条