uboot启动Linux内核过程分为4大步骤:

问题2: uboot阶段DDR的分区的问题

上述步骤2和步骤4中,有将uboot/kernel拷贝纸DDR的步骤,具体要拷贝到DDR的什么位置呢?
分清楚这两个概念:
链接地址:链接时指定的地址(指定方式为:Makefile中用-Ttext,或者链接脚本)
运行地址:程序实际运行时地址(指定方式:由实际运行时被加载到内存的哪个位置说了算)
此问题中的提及的位置是链接地址,在由Makefile中用-Ttext,或者链接脚本指定的

  1. Uboot放在DDR中的什么位置
    是用Makefile中的-Ttext指定的。查看code:

    TEXT_BASE是将来我们整个uboot链接时指定的链接地址。因为uboot中启用了虚拟地址映射,这个虚拟地址0xC3E0 0000地址对应的物理地址就等于0x33E0 0000,所以我们会将uboot加载到DDR中的起始位置是0x33E0 0000,加载调用的code 如下:

    0表示通道0;MOVI_BL2_POS是uboot的第二部分在SD卡中的开始扇区,这个扇区数字必须和烧录uboot时烧录的位置相同;MOVI_BL2_BLKCNT是uboot的长度占用的扇区数;CFG_PHY_UBOOT_BASE是重定位时将uboot的第二部分复制到DDR中的起始地址(0x33E00000).

  2. Kernel 镜像要放在DDR的什么地址?
    内核一定要放在链接地址处,链接地址去内核源代码的链接脚本或者Makefile中去查找。X210中是0x30008000。
    遗留问题: 内核的链接脚本后续要截屏放在这里
    在uboot中通过执行如下命令将kernel加载到DDR中:
    movi read kernel 30008000
    (其中kernel指的是uboot中的kernel分区)

  3. 总结
    Uboot/kernel要拷贝到DDR中的物理地址;
    链接脚本或-Ttext 指定的是程序运行的虚拟地址;

uboot引导kernel - 2- uboot/kernel需要放在DDR什么位置的问题相关推荐

  1. uboot引导linux内核,u-boot启动内核的几种方式

    1.uboot启动内核的代码缩减如下: s = getenv ("bootcmd"); debug ("### main_loop: bootcmd=\"%s\ ...

  2. 嵌入式 uboot引导kernel,kernel引导fs【转】

    转自:http://www.cnblogs.com/lidabo/p/5383934.html#3639633 1.uboot引导kernel:u-boot中有个bootm命令,它可以引导内存中的应用 ...

  3. 嵌入式 uboot引导kernel,kernel引导fs

    1.uboot引导kernel:u-boot中有个bootm命令,它可以引导内存中的应用程序映像(Kernel),bootm命令对应 common/cmd_bootm.c中的do_bootm()函数, ...

  4. uboot引导kernel - 3 -uboot给内核传参详解

    uboot中执行theKernel函数后,kernel正式启动.如下函数,我们发现有3个参数. 1. 参数 0: 2. 参数machid; 如下code 中获取machid, gd是个全局变量. 2. ...

  5. 用Qemu模拟vexpress-a9 (四) --- u-boot引导kernel,用nfs挂载根文件系统

    环境介绍 Win7 64 + Vmware 11 + ubuntu14.04 32 u-boot 版本:u-boot-2015-04 Linux kernel版本:linux-3.16.y busyb ...

  6. 09 编译2022年最新的Linux kernel、U-Boot和BusyBox rootfs源码,并用QEMU模拟器运行

    编译2022年最新的Linux kernel.U-Boot和BusyBox rootfs源码,并用QEMU模拟器运行 作者 将狼才鲸 创建日期 2022-11-26 Gitee源码和工程地址:才鲸嵌入 ...

  7. ZynqMP Petalinux2021.1使用外部kernel和uboot源码

    前言: Ubuntu18.04安装Petalinux 2021.1_sudaroot的博客-CSDN博客 ZynqMP Petalinux2021.1设置工程离线编译_sudaroot的博客-CSDN ...

  8. 用eclipse阅读编辑android和kernel,uboot的源代码

    from: http://hi.baidu.com/designhouse/blog/item/ff3f0df4a33571f37709d736.html 1.  用eclipse阅读编辑androi ...

  9. 3--新唐nuc980 kernel支持jffs2, Jffs2文件系统制作, 内核挂载jffs2, uboot网口设置,uboot支持tftp

    本文目录 1.uboot网口设置 2.内核创建MTD分区,Jffs2文件系统制作 3.内核支持jffs2 4.内核挂载jffs2 首先支持spi nor flash https://blog.csdn ...

最新文章

  1. FPGA之道(总)推荐下这本书以及传递下作者的原话
  2. mac sublime html开发环境,在Mac下用Sublime Text 2 架设C开发环境
  3. java 实现汉字转换拼音_JAVA实现汉字转拼音功能代码实例
  4. 微信小程序自定义授权弹框
  5. Undefined symbols for architecture i386问题解决方法
  6. unity中单位是米还是厘米_【一步数学】小学数学单位换算公式大全及专项训练...
  7. JAVA解析存储过程获取的对象_java 解析数据的存储过程的
  8. shell 除法 小数点
  9. Css单位px,rem,em,vw,vh的区别
  10. web前端基础复习_day07_JavaScript高级
  11. 李宏毅机器学习Lesson2——Logistic Regression实现收入预测
  12. CentOS7.0系统安全加固实施方案
  13. php 如何实现 访问不带后缀名
  14. php木马检测关键词
  15. 香橙派装php_香橙派Orange Pi 3电脑开发板如何安装安卓系统
  16. 一路生花 - 温奕心
  17. Servlet 取表单的值
  18. 华农acm:scau9505 射穿多少
  19. 编程团体赛 python
  20. 使用思科模拟器设计和配置校园网络

热门文章

  1. Solution 24: 链表翻转
  2. 【转】[退役]纪念我的ACM——headacher@XDU
  3. oracle创建DBLink连接
  4. ORB_SLAM2概述
  5. ORB_SLAM2中的Sim3变换
  6. 计算机艺术未来发展趋势,计算机技术对现代艺术设计的影响
  7. android 字幕,Android中的字幕文本
  8. 用什么擦地最干净脑筋急转弯_22个数学脑筋急转弯答案,你能全部做出来吗?...
  9. tomcat 热部署 生产环境_屋顶隔热改善舍内热环境及生产性能
  10. 荣耀手机现在是鸿蒙,荣耀适配鸿蒙最新消息出现,华为不会让大家失望的