内核源码:linux2.6.30.4

交叉编译工具:3.4.5

移植linux内核至:TQ2440

工作基础:http://www.cnblogs.com/nufangrensheng/p/3669623.html

Linux内核中已经做好了Nand Flash的驱动,只需要进行适当的修改即可使用。

一、修改内核源码arch/arm/plat-s3c24xx/common-smdk.c文件:

1、修改其中的smdk_default_nand_part[]结构体(大概在109行),将其修改为如下所示:

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

static struct mtd_partition smdk_default_nand_part[] = {
[0] = {
.name = "EmbedSky_board_uboot",
.offset = 0x00000000,
.size = 0x00040000,
},
[1] = {
.name = "EmbedSky_board_kernel",
.offset = 0x00200000,
.size = 0x00300000,
},
[2] = {
.name = "EmbedSky_board_yaffs2",
.offset = 0x00500000,
.size = MTDPART_SIZ_FULL,
}
};

2、修改其中的smdk_nand_info结构体(大概在140行)将其修改为如下所示:

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

static struct s3c2410_platform_nand smdk_nand_info = {
141 .tacls = 10,
142 .twrph0 = 25,
143 .twrph1 = 10,
144 .nr_sets = ARRAY_SIZE(smdk_nand_sets),
145 .sets = smdk_nand_sets,
146 };

二、修改内核源码drivers/mtd/nand/s3c2410.c文件的第752行,将原来的内容修改为如下所示:

/* drivers/mtd/nand/s3c2410.c */

chip->ecc.mode      = NAND_ECC_NONE; //NAND_ECC_SOFT;

三、Nand Flash驱动配置

执行make menuconfig,进入Device Drivers配置选项:

四、编译、烧写、启动,在启动信息中可以看到如下所示信息,说明Nand Flash移植成功了:

linux2.6.30.4内核移植(2)——Nand Flash驱动移植的更多相关文章

  1. linux2.6.30.4内核移植(3)——yaffs文件系统移植

    内核源码:linux2.6.30.4 交叉编译工具:3.4.5 移植linux内核至:TQ2440 工作基础:http://www.cnblogs.com/nufangrensheng/p/36696 ...

  2. linux2.6.30.4内核移植(1)

    内核源码:linux2.6.30.4 交叉编译工具:3.4.5 移植linux内核至:TQ2440 1.进入内核顶层目录,修改顶层Makefile,大概在193和194行,将ARCH和CROSS_CO ...

  3. 如何编写linux下nand flash驱动-2

    [Nand Flash引脚(Pin)的说明] 图3.Nand Flash引脚功能说明 上图是常见的Nand Flash所拥有的引脚(Pin)所对应的功能,简单翻译如下: 1.       I/O0 ~ ...

  4. linux下Pl353 NAND Flash驱动分析

    linux的NAND Flash驱动位于drivers/mtd/nand子文件夹下: nand_base.c-->定义通用的nand flash基本操作函数,如读写page,可自己重写这些函数 ...

  5. NAND FLASH 驱动分析

    NAND FLASH是一个存储芯片 那么: 这样的操作很合理"读地址A的数据,把数据B写到地址A" 问1. 原理图上NAND FLASH和S3C2440之间只有数据线,       ...

  6. 如何编写linux下nand flash驱动-4

    2.       软件方面 如果想要在Linux下编写Nand Flash驱动,那么就先要搞清楚Linux下,关于此部分的整个框架.弄明白,系统是如何管理你的nand flash的,以及,系统都帮你做 ...

  7. 十八、Nand Flash驱动和Nor Flash驱动

    在读者学习本章之前,最好了解Nand Flash读写过程和操作,可以参考:Nand Flash裸机操作. 一开始想在本章写eMMC框架和设备驱动,但是没有找到关于eMMC设备驱动具体写法,所以本章仍继 ...

  8. NAND FLASH驱动框架以及程序实现

    1.NAND FLASH的硬件连接: 实验用的NAND FLASH芯片为K9F2G08U0C,它是三星公司的存储芯片,它的大小为256M.它的接线图如下所示: 它的每个引脚的分别为LDATA0-LDA ...

  9. Smart210学习记录----nand flash驱动

    [详解]如何编写Linux下Nand Flash驱动  :http://www.cnblogs.com/linux-rookie/articles/3016990.html 当读写文件请求到来的时候, ...

随机推荐

  1. 培养iOS开发新人的一个思路

    坚持两个方法论: 1.发现问题的方法:(熟悉代码的过程) (1)照着一个完整的工程,从最基本的页面开始做起.不懂的地方就问,就查. (2)在阅读代码或拿到需求后要学会对问题进行分解.一个陌生的问题如果 ...

  2. Protocol Buffer Basics: C#

    Protocol Buffer 基础知识:c#    原文地址:https://developers.google.com/protocol-buffers/docs/csharptutorial   ...

  3. HttpSession javax.servlet.http.HttpServletRequest.getSession(boolean arg0)理解

    request.getSession()和request.getSession(true)意思相同:获取session,如果session不存在,就新建一个 reqeust.getSession(fa ...

  4. linux系统部署Java程序获取ip时报Caused by: java.net.UnknownHostException: XXXXXXXXXX: XXXXXXXXXX: Name or service not known

    问题一: Caused by: java.net.UnknownHostException: XXXXXXXXXX: XXXXXXXXXX: Name or service not known vi ...

  5. asp.net mvc5 安装

    原文地址 http://docs.nuget.org/docs/start-here/using-the-package-manager-console 工具-->NuGet程序包管理器--&g ...

  6. jQuery的attr方法处理checkbox的问题

    现象 使用了 jQuery 1.10 的版本,想实现 checkbox 的全部选中和全部取消选中,使用了 attr 的方法,如下: $(elem).attr("checked") ...

  7. (八十七)AutoLayout的简单介绍与实例

    AutoLayout是继AutoResizing之后的一种自己主动布局方法.攻克了AutoResizing无法处理控件间相互关系的问题. AutoLayout在storyboard中通过底部工具条设置 ...

  8. CF 329C(Graph Reconstruction-随机化求解-random_shuffle(a+1,a+1+n))

    C. Graph Reconstruction time limit per test 3 seconds memory limit per test 256 megabytes input stan ...

  9. [leetcode]Palindrome Partitioning II @ Python

    原题地址:https://oj.leetcode.com/problems/palindrome-partitioning-ii/ 题意: Given a string s, partition s  ...

  10. javaScript:让文本框内的最后一个文字的后面获得焦点

    //当失去交点以后 让文本框内的文字获得焦点 并且光标移到最后一个字后面 function myfocus(myid) { if(isNav){ document.getElementById(myi ...