转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件使用 >> 系统软件 >> 正文
ARM IXP425上移植MVL内核         

ARM IXP425上移植MVL内核

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1007 更新时间:2009/4/25 0:44:49
首先使用原来可以成功运行的kernel配置进行配置,我使用的是MVL3.0,其内核版本是2.4.18。
注:由于两款硬件的SDRAM大小不同,以前的SDRAM是256M,新硬件的SDRAM是128M,因此修改配置文件中的kernel cmdline,内容如下:

CODE: [Copy to clipboard] console=ttyS0,115200 root=/dev/ram rw ip=off mem=128M@0x00000000 initrd=0x00800000,8M 然后执行一下命令:

CODE: [Copy to clipboard] make ixdp425_config
make oldconfig
make dep
make zImage 成功,得到vmlinux和zImage,用file命令检查vmlinux文件,显示:

CODE: [Copy to clipboard] file vmlinux
vmlinux: ELF 32-bit MSB executable, ARM, Version 1 (ARM), statically linked, not stripped 确认为可以在ARM上执行的文件。然后连接硬件,启动到RedBoot系统,执行以下命令:

CODE: [Copy to clipboard] RedBoot> load -r -v -b 0x11600000 zImage
Using default protocol (TFTP)
|
Raw file loaded 0x11600000-0x116ada3f, assumed entry at 0x11600000
RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0x50000000  0x50000000  0x00060000  0x00000000
RedBoot config    0x50FC0000  0x50FC0000  0x00001000  0x00000000
FIS directory     0x50FE0000  0x50FE0000  0x00020000  0x00000000
mac               0x50060000  0x10000000  0x00020000  0x10000000
zimage            0x50080000  0x11600000  0x00100000  0x11600000
ramdisk           0x50180000  0x10800000  0x00600000  0x10800000
param             0x505E0000  0x00100000  0x00020000  0x10800000
RedBoot> go 0x11600000
Uncompressing Linux.................................................. done, boot
ing the kernel.

到此,系统就没有反映了。
网上搜索了一下,发现有三种情况遇到此问题:
1、一部分同仁们在cmdline中的console定义错误,将ttyS0写成了tty0,这样将输出定向到了标准终端,而不是串口;
2、一部分同仁在省级到2.6.10以上内核时还是错误的定义了console输出,2.6.10后的串口名据说变成ttySC0了,我也没试过2.6.10的内核;
3、还有一部分人在升级到2.6.10后,使用一个叫做skyeye的工具模拟,好像那样会牵扯到一个memory.h和lubbock.c中的关于内存基地址的定义问题,需要修改基地址中的0xa0000000为0xc00000000。

对比了硬件厂家提供的软件包,其中在arch/arm/boot目录下,Makefile中有以下定义点:

CODE: [Copy to clipboard] ifeq ($(CONFIG_ARCH_IXP425),y)
ZRELADDR        = 0x00008000
PARAMS_PHYS        = 0x00000100
endif

这与厂家提供的地址不同,这几个地址是kernel imgae解压缩后的地址,硬件相关,因此需要修改一致:
然后还有arch/arm/boot/compressed目录下的head-xscale.S文件,这个文件是初始化是调用的汇编,与芯片相关的,MVL提供的和厂商提供的不一样,因此用厂商提供的该文件替换。
然后就是注意kernel配置中的CMDLINE的设置,就OK了!

重新编译内核,加载,OK,系统启动成功。

但是现在碰到了新的问题,启动后系统报出如下错误:

CODE: [Copy to clipboard] [error] No ISR registered to service interrupt 这个报错是由于一个模块没有加载成功造成的,重新编译modules后,替换到ramdisk中,就OK了!


[系统软件]交叉编译sshd for IXP425 ARM  Platform by MVL 3…  [SyBase]ARM Financial Group
[MySql]ARM Linux 进程调度(3)  [MySql]ARM Linux 进程调度(2)
[MySql]ARM Linux 进程调度(1)  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 办公软件  · 系统软件
    · 常用软件  · 聊天工具
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台