ARM Linux.2.6.34内核移植

ARM-LINUX-GCC版本4.3.2.以安装在/usr/local/arm/4.3.2下.

第一步:
修改linux-2.6.34/Makefile文件,在makefile中找到以下两条信息并做修改
ARCH ? =arm 
CROSS_COMPILE ?=/usr/local/arm/4.3.2/bin/arm-linux-

第二步:
修改平台输入时钟
修改平台的时钟频率,修改内核源码“arch/arm/mach-s3c2440/mach-smdk2440.c”
把时钟初始化中(S3C24XX_init_clocks(16934400 ))的16934400 改为12000000,因为我们的开发板上为12M

第三步:
修改机器类型ID号::
   bootloader启动内核时,会传递机器类型ID进来,这里需根据bootloadr传进的ID修改内核ID号.
   在内核源码的“arch/arm/tools/mach-types”文件查找S3C2440,这里刚好与我们的bootloader相同,所以不用做修改,直接保存退出即可,如果不同则根据bootloader的内容修改此文件,或根据此文件修改boorloader的内容(在vivi中可通过param show查看)。

第四步:
解压yaffs2.tar.gz源码包,进入yaffs2文件夹,给内核打上补丁使内核支持yaffs2
# ./patch-ker.sh  c  /home/linux-2.6.34
结果:更新了两个文件系统下的文件
Updating /home/linux-2.6.34/fs/Kconfig
Updating /home/linux-2.6.34/fs/Makefile

第五步:
修改内核mtd分区和bootloader(vivi)使其一致
编辑文件arch/arm/plat-s3c24xx/common-smdk.c

static struct mtd_partition smdk_default_nand_part[] = {
    [0] = {
        .name    = "vivi",
        .size    = 0x30000,
        .offset    = 0,
    },
    [1] = {
        .name    = "kernel",
        .offset = 0x50000,
        .size    = 0x300000,
    },
    [2] = {
        .name    = "root",
        .offset = 0x350000,
        .size    = 0x3cac000,
    },
};

第六步:
修改文件drivers/mtd/nand/s3c2410.c
将s3c2410_nand_init_chip函数里的NAND_ECC_SOFT改为NAND_ECC_NONE(因为在内核中默认配置不支持ECC校验,当然也可以在内核配置时选中ECC选项)
修改后如下:
chip->ecc.mode        = NAND_ECC_NONE;

第七步:
到llinux-2.6.30目录下执行命令
   #cp  arch/arm/configs/s3c2410_defconfig  .config

第八步:
执行make menuconfig,并对选项进行配置

    1)System Type --->
        S3C2440 and S3C2442 machines --->
            仅保留SMDK2440 与SMDK2440 whith S3C2440 CPU module两个选项,将其他的选项全部勾掉

    2)Kernel Features --->
        [*]Use the arm EABI to compile the kernel(选中该选项)
       
    3)File systems --->
        a、把与ext2 ext3 ext4相关的所有选项全部去掉

        b、Miscellaneous filesystems --->
            <*>yaffs2 file system support(选中此选项)

          去除所有与jffs2相关的选项

保存退出

第九步:执行make zImage 编译生成内核.

在arch/arm/boot下生成编译好的可执行程序zImage.  这个是在vivi下使用的.



                                                                                         wenhao@20110609





转载于:https://www.cnblogs.com/hnrainll/archive/2011/06/09/2076522.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569076.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络开发必备的HTTP协议知识

一、什么是HTTP协议 HTTP协议是一种应用层协议&#xff0c;HTTP是HyperText Transfer Protocol(超文本传输协议)的英文缩写。HTTP可以通过传输层的TCP协议在客户端和服务器之间传输数据。HTTP协议主要用于Web浏览器和Web服务器之间的数据交换。我们在使用IE或Firefox浏览…

SSP状态寄存器SSPSTAT

R R R R R R ─ ─ D/A P S R/W UA BF 地址&#xff1a;94h上电值&#xff1a;00h │ │ │ │ │ │ │ │ └┬┘ │ │ │ │ │ └──── 缓冲区满 …

----uni-app之解决HBuilderX安装less成功运行时提示未安装----

转载于:https://www.cnblogs.com/zjy850984598/p/11238777.html

js使浏览器窗口最大化(适用于IE的方法)

这里使用的方法是IE的私有特性&#xff0c;只能在IE中有效。主要是window.moveTo和 window.resizeTo方法。效果和点击最大化按钮差不多&#xff0c;有一点区别。点击最大化按钮后&#xff0c;浏览器的内容填充满显示器&#xff0c;浏览器窗口的边框被挤出显示器。而该js的最大化…

win7系统cocos2dx 3.4 绑定自定义类到Lua

Cocos2d-x 3.0开始使用bindings-generator来生成c类的lua绑定。bindings-generator基于tolua&#xff0c;通过配置tools/tolua中的ini文件以及运行genbindings.py就可以自动生成c类的绑定&#xff0c;具体的步骤在cocos2d-x-3.4\tools\tolua\README.mdown文件中&#xff0c;文档…

jQuery无任何标示获取td在表格中的行数和列数

当td没有任何标示时&#xff0c;在jQuery中实现获取其在表格中的行和列&#xff1a;<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns"http://www.w…

docker, docker-compose安装

官方文档&#xff1a; 安装docker: https://docs.docker.com/install/linux/docker-ce/centos/ 安装docker-compose: https://docs.docker.com/compose/install/ # 所有docker命令映射都是&#xff1a;local:container# create container docker run --name <name> -p 1…

Dojo实现Tabs页报错(二)

转载于:https://www.cnblogs.com/riasky/p/3481643.html

mongo DB for C#

(1)Download the MongoDB C#驱动. http://www.nuget.org/packages/mongocsharpdriver/. (2) Add Reference to C# 驱动 DLLs 1MongoDB.Bson.dll 2MongoDB.Driver.dll 3MongoDB.Driver.Core.dll 或者 Nuget 下载 VS 2012/13 TOOLS -> Library Package Manager –> Manage …

WinLogon事件通知包编程

2007年5月18日&#xff0c;21:18:55| yexiaozhou2003[AT]hotmail.com(cooldog)今天看到CSDN中有网友问道如何获取用户按CtrlAltDel锁定桌面的事件。回帖后大致整理了一下&#xff0c;希望对大家有帮助。 首先我们要了解一下WinLogon&#xff0c;他是负责提供给用户交互式界面的…

如何选择国外虚拟主机空间服务商

如何选择国外虚拟主机空间服务商 几经辛苦&#xff0c;终于把自己的主页给设计完成好了&#xff0c;那么下一步就是得为自己的网站在网上找一个家了。现在的互联网上的免费午餐似乎已经被大家吃过了头&#xff0c;做互联网已经很艰难了&#xff0c;更何况是更花钱的免费&#x…

bat函数调用 带返回值

bat 脚本之 使用函数 摘自&#xff1a;https://blog.csdn.net/peng_cao/article/details/73999076 综述bat函数写法bat函数调用bat函数返回值综述 Windows bat脚本是一种解释性的脚本语言&#xff0c;可以拿到做很多事情。对于稍简单的问题&#xff1a;比如通过注册表判断下档期…

[置顶] 读取pdf并且在web页面中显示

读取pdf并且在web页面中显示 if (System.IO.File.Exists(f)) { Response.ContentType "applicationpdf"; System.IO.FileStream reader System.IO.File.OpenRead(f); byte[] data new byte[reader.Length]; reader.Read(data, 0, (int)reader.Length); read…

实现路由器无线接收另一个路由器无线信号搭建网络

设置如下即可。 1&#xff0c;主副路由SSID设置成相同&#xff1b; 2&#xff0c;在主路由的BSSID中写上副路由的MAC&#xff1b; 3&#xff0c;在副路由的BSSID中写上主路由的MAC&#xff1b; 4&#xff0c;信道、模式、频道带宽、速率均设置成一致&#xff1b; 5&#xff0c;…

配置 jvisualvm 监控Java虚拟机

配置JMX远程连接 1. 配置启动参数 启动jar时&#xff0c;添加如下配置-Dcom.sun.management.jmxremote.port5050 -Dcom.sun.management.jmxremote.sslfalse -Dcom.sun.management.jmxremote.authenticatefalse -Djava.rmi.server.hostname192.168.94.23 启动参数说明 -Dcom.sun…

所有排序算法

---恢复内容开始--- 先看看复杂度大小吧 冒泡排序 直接上代码&#xff0c;? # 冒泡排序def bubble_sort(alist): for j in range(len(alist) - 1, 0, -1): for i in range(j): if alist[i] > alist[i 1]: alist[i], alist[i 1] ali…

亲身经历之微信支付沙箱环境扫码支付遇到的那些坑

很多用户在调用微信支付扫码支付沙箱环境都一脸迷茫&#xff0c;废话不多说&#xff0c;遇到很多坑&#xff0c;为了让大家少走弯路下面直接说说我开发微信支付遇到坑&#xff0c;微信沙箱不是一般的坑&#xff0c;是很大的坑。 1.首先下载的官方demo,不能直接用&#xff0c;里…

Microsoft .NET Pet Shop 4.0 学习之旅(二) - 项目的引用关系1

Microsoft .NET Pet Shop 4.0 学习之旅&#xff08;二&#xff09; 项目的引用关系1 <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />初看到Pet Shop 4.0的源代码觉得结构很复杂&#xff0c;今天我只讨论业务逻辑层&#xff08;…

Java api在线

地址&#xff1a;http://dlc-cdn.sun.com/jdk/jdk-api-localizations/jdk-api-zh-cn/builds/latest/html/zh_CN/api/点击打开链接 转载于:https://www.cnblogs.com/dengshiwei/p/4258607.html

SQL Server检索存储过程的结果集

目的&#xff1a;检索过滤执行存储过程的结果集 如下介绍两个常用的方法&#xff0c;但是都需要申明表结构&#xff1b;不知道是否有更简便的方法&#xff0c;如有更好的方法&#xff0c;请不吝赐教。 以系统存储过程sp_who2为例&#xff1a; 方法1&#xff1a;使用临时表 1 --…