Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167905
  • 博文数量: 63
  • 博客积分: 2961
  • 博客等级: 少校
  • 技术积分: 445
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-21 10:44
文章分类

全部博文(63)

文章存档

2011年(17)

2010年(46)

我的朋友

分类: 嵌入式

2011-04-06 15:10:09

 
今天在调试android系统时,先烧写uboot和文件系统,然后用NFS下载Linux内核,进行调试。
但是无论如何从uboot向linux内核传递参数时会出现问题。
 
后来才发现,是混用了go和bootm命令。下载完linux内核后,应该用bootm指令跳转至0x50008000
 
go和bootm差异就是 go只是改写pc值,而bootm传递r0,r1,r2还有bootargs
 
bootm先后完成了2部分工作。大家可以分析bootm源码
1.set bootargs 传递参数
2.set pc=0x0800_8000 ,r0=0 ,r1=0xA0
3.对比zImage 分析
 
go命令本质就是改变当前pc值,即pc=go 0x08008000
阅读(7298) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~