77范文网 - 专业文章范例文档资料分享平台

arm2410 - linux移植(6)

来源:网络收集 时间:2019-01-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

#endif

2. 加入cs8900A 的物理地址到虚拟地址的映射

[arm@localhost cs8900a]$vi

$KERNEL/linux-2.6.14.1/arch/arm/mach-s3c2410/mach-smdk2410.c

/* 加入如下内容 */

static struct map_desc smdk2410_iodesc[] __initdata = {

{vSMDK2410_ETH_IO, 0x19000000, SZ_1M, MT_DEVICE} /* Add this line */ };

2 创建 uImage

2.1 相关技术背景介绍

前面已经介绍了内核编译后,生成zImage 的内核镜像文件。该镜像文件可以通过U-BOOT 提供的go 命令,

跳转执行,引导内核。同时在u-boot-1.1.4 的tools 目录下,提供了生成uImage 的工具mkimage 命令,在生成

u-boot 的二进制镜像文件的同时,mkimage 命令会同时编译生成,无需另外编译。通过mkimage 命令,在

zImage 中加入头文件 (镜像头长0x40,真正的内核入口向后偏移了0x40 大小),生成uImage 镜像文件,该文

件就是执 bootm 所需的内核镜像文件。

2.2 在内核中创建 uImage 的方法

2.2.1 获取 mkimage工具

2.6 内核树的Makefile 提供了创建uImage 的方法,但需要我们提供相应的mkimage 命令。

所以首先拷贝u-boot 中tools 目录下编译后生成的mkimage 到/usr/bin/下,然后便可以在内核根目录下通过

make uImage

来创建uImage 文件。该文件生成在arch/arm/boot/下。

2.2.2 修改内核的 Makefile文件

[arm@localhost linux-2.6.14.1]$ vi arch/arm/boot/Makefile

#MKIMAGE 变量记录mkimage 命令的路径mkuboot.sh 脚本文件可以scripts 目录中找到

MKIMAGE := $(srctree)/scripts/mkuboot.sh

#zreladdr-y 与params_phys-y 可以在

arch/arm/mach-s3c2410/Makefile.boot 当中找到

ZRELADDR := $(zreladdr-y)

PARAMS_PHYS := $(params_phys-y)

INITRD_PHYS := $(initrd_phys-y)

----------------------- 页面 62-----------------------

#生成uImage 的mkImage 命令行,其中需要关注的就是-a 与 -e 参数。

#参数-a:指明uImage 加载的SDRAM 地址,内核默认指定加载地址为0x30008000 。

# u-boot 引导时,bootm 命令跳到与上相同位置执行,检查完镜像头后,它会跳到内核真正的入口点开

始执 。

#参数-e:指明uImage 中刨去镜像头后真正的内核入口地址。

# 镜像头为0x40 长,故此处指定为0x30008040 。

# u-boot 引导时,go 命令可以直接指定此位置。go 命令不检查镜像头。

quiet_cmd_uimage = UIMAGE $@

cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \\

-C none -a $(ZRELADDR) -e 0x30008040 \\

-n 'Linux-$(KERNELRELEASE)' -d $< $@

3追加实验记录

以同样方式移植其他2.6 主线内核,出现问题如下:

3.1移植 linux-2.6.15.7

编译通过,启动时显示:

VFS: Cannot open root device \

Please append a correct \

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)

3.2 移植 linux-2.6.16.21

编译通过,启动时显示:

VFS: Cannot open root device \

Please append a correct \

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)

3.3 移植 linux-2.6.17

编译失败

4 参考资料

1. Porting kernel 2.6.11.7 to S3C2410

http://superlp.blogchina.com/1391393.html

非常感谢此篇文档的作者

2. devfs 介绍

http://www-128.ibm.com/developerworks/cn/linux/filesystem/l-fs4/index.html#resources

3. <>

中文名:<<构建嵌入式Linux 系统>>

作者介绍:本文由尚观科技老师和同学生(刘勇,孙贺,聂强,聂大鹏 ,牛须乐,孙磊)共同创作

相关内容: ARM9 2410移植之在Linux下,用OpenJTAG+OpenOCD烧写NAND Flash ARM9 2410移植之ARM中断原理, 中断嵌套的误区,中断号的怎么来的 ARM9 2410移植之Nand flash 驱动的编写与移植 ARM9 2410移植之应用程序的移植 ARM9 2410移植之u-boot 的移植 ARM9 2410移植之GNU 交叉工具链 ARM9 2410移植之系统启动bootloader 的编写(ADS) ARM9 2410移植之硬件环境

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库arm2410 - linux移植(6)在线全文阅读。

arm2410 - linux移植(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/402109.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: