免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1486 | 回复: 4
打印 上一主题 下一主题

嵌入式linux内核启动地址有些疑问? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-22 11:36 |只看该作者 |倒序浏览
我的开发板是ixp425芯片,flash 16MB,sdram 128MB

kernel/arch/arm/Makefile中的TEXTADDR定义为:

ifeq ($(CONFIG_CPU_32),y)
PROCESSOR        = armv
TEXTADDR         = 0xc0000000
LDSCRIPT         = arch/arm/vmlinux-armv.lds.in
endif


kernel/arch/arm/boot/Makefile中定义的内核地址为:

ifeq ($(CONFIG_ARCH_IXP425),y)
ZTEXTADDR       = 0x1d600000
ZRELADDR        = 0x00008000
PARAMS_PHYS     = 0x00002000
endif


我每次启动时,内核zImage放在0x11600000处,ramdisk放在0x10800000处启动,但是一直没有明白,这两个地址是怎么算出来的,换一个别的地址可以正常运行吗?

论坛徽章:
0
2 [报告]
发表于 2006-12-22 14:08 |只看该作者
帮顶
求高人指点一二

论坛徽章:
0
3 [报告]
发表于 2007-01-09 14:45 |只看该作者
自己再顶,高手告知一二

论坛徽章:
0
4 [报告]
发表于 2007-01-09 15:13 |只看该作者
这个地址好像是在mtd\maps下的相应的flash驱动中指定的,这个地址可以改,但好像还要对blkmem.c中也要作些修改,比较麻烦.

论坛徽章:
0
5 [报告]
发表于 2007-01-09 20:50 |只看该作者
我不知道我的理解对不对

对于你的ixp425,你的内核解压缩程序放在物理地址ZTEXTADDR = 0x1d600000 处,然后这个解压缩小程序把你放在物理地址0x11600000处的zImage解压缩到物理地址ZRELADDR = 0x00008000处,也就是虚拟地址TEXTADDR = 0xc0000000处,你的ramdisk放在物理地址0x10800000处,而param_struct结构或者tag list当然在物理地址PARAMS_PHYS= 0x00002000处
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP