s3c2440学习系列5(续)
来源:互联网 发布:淘宝空包裹怎么发 编辑:程序博客网 时间:2024/06/02 19:41
将kernel解压缩在8a000000地址处,解压缩函数中的data参数已经去掉了上面的64字节的头。那程序什么时候开始进入到sdram中运行呢?在start.s中,函数relocate_code将U-boot被relocate到内存的最高端。拷贝完代码之后,注意没有拷贝kernel,就在in-ram中执行了,在解压缩的时候,把kernel解压缩到sdram。
如果我们的code是未经过压缩,根据code里面的情况,他会比较kernel的load地址是否和addr地址一致,例如:
如果使用mkimage-a addr -e addr 那么tftp下载kernel 就一定不能下载 addr处 ,否则,kernelrun不起来。 因为u-boot并不搬运kernel 代码, 也就是没有把header去掉。 所以 只有入口是 addr+0x40才是kernel的入口。 当然也不能下到 < addr + 2M 的地方, 否则搬运的时候会有一些覆盖, 导致搬运后的kernel不完整, bootm的时候,u-boot就会RESET 的。
关于命令的说明:所有的命令都放在__u_boot_cmd_start节中,这连接的确定了地址,但是uboot经过搬运之后,要重新设置起地址。Uboot对于自己扩充需要的命令比较方便。
注: (上述的说明中,有可能自己的理解有误)
- s3c2440学习系列5(续)
- s3c2440学习系列5(bootloader)
- s3c2440学习系列6(dma 续)
- s3c2440学习系列6(dma)
- s3c2440学习系列1
- s3c2440学习系列2
- s3c2440学习系列3
- Android学习笔记6&s3c2440学习系列7
- Android学习笔记7&s3c2440学习系列8
- Android学习笔记8&s3c2440学习系列9
- Android学习笔记10&s3c2440学习系列10
- s3c2440学习系列4(uboot start.S说明)
- s3c2440学习笔记(上)-基于FL2440
- S3C2440 uboot移植系列教程
- s3c2440时钟学习(韦东山老师课程学习笔记)
- S3C2440 LED驱动程序学习
- s3c2440学习笔记
- S3C2440学习笔记
- Java调用架构于C#下的WebService实例二
- 为什么有2个init方法
- CFileFind类的使用总结
- Intel Core 2 (Penryn)系列处理器简介
- Windows Server 2008 完美瘦身技巧
- s3c2440学习系列5(续)
- Error parsing XML. org.xml.sax.SAXParseException: Element type "sqlMapConfig" must be declared出错解决方法
- 我们的销售出了什么问题?--又谈销售管理
- 从指定节点处拆分二叉树
- QT for linux 的错误 undefined reference to 'FcFreeTypeQueryFace' 的解决方法
- 组播通信
- 继续编程2009.10.10
- 定义返回函数指针的函数
- SQL Server 设置新的自增字段的起点