uboot引导kernel - 2- uboot/kernel需要放在DDR什么位置的问题
uboot启动Linux内核过程分为4大步骤:
问题2: uboot阶段DDR的分区的问题
上述步骤2和步骤4中,有将uboot/kernel拷贝纸DDR的步骤,具体要拷贝到DDR的什么位置呢?
分清楚这两个概念:
链接地址:链接时指定的地址(指定方式为:Makefile中用-Ttext,或者链接脚本)
运行地址:程序实际运行时地址(指定方式:由实际运行时被加载到内存的哪个位置说了算)
此问题中的提及的位置是链接地址,在由Makefile中用-Ttext,或者链接脚本指定的。
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).Kernel 镜像要放在DDR的什么地址?
内核一定要放在链接地址处,链接地址去内核源代码的链接脚本或者Makefile中去查找。X210中是0x30008000。
遗留问题: 内核的链接脚本后续要截屏放在这里
在uboot中通过执行如下命令将kernel加载到DDR中:
movi read kernel 30008000
(其中kernel指的是uboot中的kernel分区)总结
Uboot/kernel要拷贝到DDR中的物理地址;
链接脚本或-Ttext 指定的是程序运行的虚拟地址;
uboot引导kernel - 2- uboot/kernel需要放在DDR什么位置的问题相关推荐
- uboot引导linux内核,u-boot启动内核的几种方式
1.uboot启动内核的代码缩减如下: s = getenv ("bootcmd"); debug ("### main_loop: bootcmd=\"%s\ ...
- 嵌入式 uboot引导kernel,kernel引导fs【转】
转自:http://www.cnblogs.com/lidabo/p/5383934.html#3639633 1.uboot引导kernel:u-boot中有个bootm命令,它可以引导内存中的应用 ...
- 嵌入式 uboot引导kernel,kernel引导fs
1.uboot引导kernel:u-boot中有个bootm命令,它可以引导内存中的应用程序映像(Kernel),bootm命令对应 common/cmd_bootm.c中的do_bootm()函数, ...
- uboot引导kernel - 3 -uboot给内核传参详解
uboot中执行theKernel函数后,kernel正式启动.如下函数,我们发现有3个参数. 1. 参数 0: 2. 参数machid; 如下code 中获取machid, gd是个全局变量. 2. ...
- 用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 ...
- 09 编译2022年最新的Linux kernel、U-Boot和BusyBox rootfs源码,并用QEMU模拟器运行
编译2022年最新的Linux kernel.U-Boot和BusyBox rootfs源码,并用QEMU模拟器运行 作者 将狼才鲸 创建日期 2022-11-26 Gitee源码和工程地址:才鲸嵌入 ...
- ZynqMP Petalinux2021.1使用外部kernel和uboot源码
前言: Ubuntu18.04安装Petalinux 2021.1_sudaroot的博客-CSDN博客 ZynqMP Petalinux2021.1设置工程离线编译_sudaroot的博客-CSDN ...
- 用eclipse阅读编辑android和kernel,uboot的源代码
from: http://hi.baidu.com/designhouse/blog/item/ff3f0df4a33571f37709d736.html 1. 用eclipse阅读编辑androi ...
- 3--新唐nuc980 kernel支持jffs2, Jffs2文件系统制作, 内核挂载jffs2, uboot网口设置,uboot支持tftp
本文目录 1.uboot网口设置 2.内核创建MTD分区,Jffs2文件系统制作 3.内核支持jffs2 4.内核挂载jffs2 首先支持spi nor flash https://blog.csdn ...
最新文章
- FPGA之道(总)推荐下这本书以及传递下作者的原话
- mac sublime html开发环境,在Mac下用Sublime Text 2 架设C开发环境
- java 实现汉字转换拼音_JAVA实现汉字转拼音功能代码实例
- 微信小程序自定义授权弹框
- Undefined symbols for architecture i386问题解决方法
- unity中单位是米还是厘米_【一步数学】小学数学单位换算公式大全及专项训练...
- JAVA解析存储过程获取的对象_java 解析数据的存储过程的
- shell 除法 小数点
- Css单位px,rem,em,vw,vh的区别
- web前端基础复习_day07_JavaScript高级
- 李宏毅机器学习Lesson2——Logistic Regression实现收入预测
- CentOS7.0系统安全加固实施方案
- php 如何实现 访问不带后缀名
- php木马检测关键词
- 香橙派装php_香橙派Orange Pi 3电脑开发板如何安装安卓系统
- 一路生花 - 温奕心
- Servlet 取表单的值
- 华农acm:scau9505 射穿多少
- 编程团体赛 python
- 使用思科模拟器设计和配置校园网络
热门文章
- Solution 24: 链表翻转
- 【转】[退役]纪念我的ACM——headacher@XDU
- oracle创建DBLink连接
- ORB_SLAM2概述
- ORB_SLAM2中的Sim3变换
- 计算机艺术未来发展趋势,计算机技术对现代艺术设计的影响
- android 字幕,Android中的字幕文本
- 用什么擦地最干净脑筋急转弯_22个数学脑筋急转弯答案,你能全部做出来吗?...
- tomcat 热部署 生产环境_屋顶隔热改善舍内热环境及生产性能
- 荣耀手机现在是鸿蒙,荣耀适配鸿蒙最新消息出现,华为不会让大家失望的