- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux26242在FL2440开发板上的内核移植
Linux-2.6.24.2在FL2440开发板上的内核移植(经本人验证已经成功)
自己在移植中遇到很多问题,写这篇文章的目的是为能为那些正在学习Linux内核移植的朋友提供参考。感谢互联网上无数作者的的无私奉献。
宿主机:Redhat Linux 9.0目标机:s3c2440交叉编译器:arm-linux-gcc-3.4.1
要移植的内核版本:linux-2.6.24.2文件系统类型: yaffs2 (从网上下载cvs-root.tar.gz)1.解压linux-2.6.24.2,和arm-linux-gcc-3.4.1
然后通过超级终端进入linux-2.6.24.2目录下进行这样一步操作:
# make distclean
2.进入linux-2.6.24.2根目录,修改makefile文件
vi makefile
第193行改为:
ARCH = arm
CROSS_COMPILE = /usr/local/arm/3.4.1/bin/arm-linux- (告诉交叉编译器的路径
CROSS_COMPILE根据你自己arm-linux-gcc-3.4.1安装的路径设置.)
3.修改arch/arm/plat-s3c24xx/common-smdk.c文件,修改NAND_FLASH分区信息和硬件信息.
根据FL2440的板子,我设置如下:
找到static struct mtd_partition smdk_default_nand_part[]的结构体,将内容修改为:? ?? ???[0] = {? ?? ?? ?? ?? ? .name? ?? ???= boot,? ?? ?? ?? ?? ? .size? ?? ???= 0? ?? ?? ?? ?? ? .offset = 0? ?? ???}, [1] = {? ?? ?? ?? ?? ? .name? ?? ???= bootParam,? ?? ?? ?? ?? ? .size? ?? ???= 0? ?? ?? ?? ?? ? .offset = 0? ?? ???},? ?? ???[2] = {? ?? ?? ?? ?? ? .name? ?? ???= Kernel,? ?? ?? ?? ?? ? .size? ?? ???= 0? ?? ?? ?? ?? ? .offset = 0? ?? ???},? ?? ???[3] = {? ?? ?? ?? ?? ? .name? ?? ???= fs_yaffs,? ?? ?? ?? ?? ? .size? ?? ???= 0x03c00000,? ?? ?? ?? ?? ? .offset = 0? ?? ???},? ?? ? ? ?? ???[4] = {? ?? ?? ?? ?? ? .name? ?? ???= eboot,? ?? ?? ?? ?? ? .size? ?? ???= 0? ?? ?? ?? ?? ? .offset = 0? ?? ???},??[5] = {? ?? ?? ?? ?? ? .name? ?? ???= WINCE,? ?? ?? ?? ?? ? .size? ?? ???= 0x03b80000,? ?? ?? ?? ?? ? .offset = 0? ?? ???}
注意:一定要和bootloader上的分类方法一样,并且根文件系统分区必须放在第4个目录中(即标号为[3]的那个分区)
另外修改smdk_nand_info,如下:
static struct s3c2410_platform_nand smdk_nand_info = {
.tacls = 0,
.twrph0 = 30,
.twrph1 = 0,
.nr_sets = ARRAY_SIZE(smdk_nand_sets),
.sets = smdk_nand_sets,
};
4.修改时钟: arch/arm/mach-s3c2440/mach-smdk2440.c
?static void __init smdk2440_map_io(void){
s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
s3c24xx_init_clocks; 外部的晶振的频率是12MHz
s
文档评论(0)