网站大量收购闲置独家精品文档,联系QQ:2885784924

Tiny内核移植..doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Tiny内核移植.

交叉编译器安装……见04-Tiny6410 Linux开发指南 1、下载linux-2.6.38的源码,/pub/linux/kernel/v2.6/linux-2.6.38.tar.bz2 已经提供 2、建立文件夹 mkdir –p /home/kernel 解压 tar xvfj /mnt/share/linux-2.6.38.tar.bz2 -C /home/kernel 3 指定交叉编译器 以下所有操作都是在linux-2.6.38 目录下执行 # vi Makefile 191行改为ARCH ?= arm # cp arch/arm/configs/s3c6400_defconfig .config # make menuconfig General setup-(/usr/4.5.1/bin/arm-linux-) Cross-compiler tool prefix 我将编译器解压到了/usr/4.5.1目录 System Type-[*] MINI6410 选上,去掉[] SMDK6410、[] SMARTQ 5、[] SMARTQ 7。这样编译出来的内核是可以被uboot引导的,然后是增加nand flash支持。 -************************Nand flash移植***************************** 3、vi arch/arm/mach-s3c64xx/mach-mini6410.c 第117行 struct mtd_partition mini6410_nand_part[] = {???????????? ????{ ????????.name????????= Bootloader, ????????.offset????????= 0, ????????.size????????= (4 * 128 *SZ_1K), ????????.mask_flags????= MTD_CAP_NANDFLASH, ????}, ????{ ????????.name????????= Kernel, ????????.offset????????= (4 * 128 *SZ_1K), ????????.size????????= (5*SZ_1M) , ????????.mask_flags????= MTD_CAP_NANDFLASH, ????}, ????{ ????????.name????????= File System, ????????.offset????????= MTDPART_OFS_APPEND, ????????.size????????= MTDPART_SIZ_FULL, ????} };?? 4、添加以下三个文件 drivers/mtd/nand/s3c_nand.c、arch/arm/plat-samsung/include/plat/regs-nand.h 覆盖和 drivers/mtd/nand/s3c_nand_mlc.fo 5、修改drivers/mtd/nand/nand_base.c文件 修改方法如下,“-”就是要去掉的内容,“+”就是要增加的内容,@@后面的是行号 嫌麻烦的直接将drivers/mtd/nand/nand_base.c拷过来覆盖掉 @@ -342,7 +342,7 @@ ??*/ static int nand_block_bad(struct mtd_info *mtd, loff_t ofs, int getchip) { -????int page, chipnr, res = 0; +????int page, res = 0; ???? struct nand_chip *chip = mtd-priv; ???? u16 bad; @@ -351,6 +351,8 @@ ???? page = (int)(ofs chip-page_shift) chip-pagemask; +#if 0 +????/* Moved to nand_block_checkbad() for chip specify support */ ???? if (getchip) { ???????? chipnr = (int)(ofs chip-chip_shift); @@ -359,6 +361,7 @@ ???????? /* Select the NAND device */ ???????? chip-select_chip(mtd, chipnr); ???? } +#endif ???? if (chip-options NAND_BUSWIDTH_16) {

您可能关注的文档

文档评论(0)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档