- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我对这三个问题的概念很迷茫
为什么我们需要辅助程序加载器?
它在哪个内存中加载和重定位?
系统内存和RAM有什么区别?
据我通过阅读链接了解到的是.. 当系统内部存储器不能完全容纳 uboot 时需要 SPL,因此我们需要使用称为 SPL 的最小代码片段初始化内存。 SPL 是真的搬迁还是只是 uboot 自己搬迁?
最佳答案
让我用OMAP来解释它平台为例(只是为了提供一些实际背景,而不仅仅是理论或常识)。先看看一些事实:
所以这个第一阶段 Bootstrap 是U-Boot SPL; 第二阶段引导加载程序是常规U-Boot(或U-Boot proper)。明确一点:SPL 代表辅助程序加载器。这意味着 ROM 代码是加载(和执行)其他程序的第一件事,而 SPL 是加载(和执行)其他程序的第二件事。所以通常引导顺序是:ROM code -> SPL -> u-boot -> kernel。实际上它与 PC 引导非常相似,即:BIOS -> MBR -> GRUB -> 内核。
更新
为了让事情绝对清楚,下表描述了启动顺序的所有阶段(以澄清所用术语中可能存在的不确定性):
+--------+----------------+----------------+----------+
| Boot | Terminology #1 | Terminology #2 | Actual |
| stage | | | program |
| number | | | name |
+--------+----------------+----------------+----------+
| 1 | Primary | - | ROM code |
| | Program | | |
| | Loader | | |
| | | | |
| 2 | Secondary | 1st stage | u-boot |
| | Program | bootloader | SPL |
| | Loader (SPL) | | |
| | | | |
| 3 | - | 2nd stage | u-boot |
| | | bootloader | |
| | | | |
| 4 | - | - | kernel |
| | | | |
+--------+----------------+----------------+----------+
所以我只是使用 bootloader 作为 U-Boot 的同义词,而 Program Loader 作为任何加载其他程序的通用术语程序。
另见:
[2] TPL: SPL loading SPL - Denx
关于ubuntu - SPL(二级程序加载器)有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31244862/
普通数组、SPL 数组和 SPL 数据存储之间的区别、*用法*场景是什么?如果有人能给出一些使用 SPLarray 和 SPL objectsrorage 的实际例子,那就太好了。 最佳答案 SplF
在 java 和 C++ 中,当我们不知道大小时 - 不像在 PHP 中那样使用数组,而是使用 linkedList 等。 在 PHP 中存在 SPL,但大多数时候程序员使用数组,为什么(因为人们不了
数据库语言的目标 要说清这个目标,先要理解数据库是做什么的。 数据库这个软件,名字中有个“库”字,会让人觉得它主要是为了存储的。其实不然,数据库实现的重要功能有两条:计算、事务!也就是我们常说的 OL
数据库语言的目标 要说清这个目标,先要理解数据库是做什么的。 数据库这个软件,名字中有个“库”字,会让人觉得它主要是为了存储的。其实不然,数据库实现的重要功能有两条:计算、事务!也就是我们常说的OLA
需要的MAVEN依赖 org.springframework.boot spring-boot-starter-parent 2.3.2.RELEAS
下载和安装 http://www.raqsoft.com.cn/download/download-jsq 拿到安装包后执行安装程序,按提示逐步进行: 运行安装程序 按照提示,依次点击下一步,接受许可
SPL官网 http://www.scudata.com.cn/ 介绍 业务逻辑经常包含较复杂的流程和计算,同时涉及数据库的读写。由于授权麻烦、影响数据库安全、无法迁移、技术要求高、编写困难等原因,很
下载和安装 http://www.raqsoft.com.cn/download/download-jsq 拿到安装包后执行安装程序,按提示逐步进行: 运行安装程序 按照提示,依次点击下一步,接受许可
SPL官网 http://www.scudata.com.cn/ 介绍 业务逻辑经常包含较复杂的流程和计算,同时涉及数据库的读写。由于授权麻烦、影响数据库安全、无法迁移、技术要求高、编写困难等原因,很
我知道要计算声压级(db SPL)是 20 * log10 (amplitude) 但是我在这里不明白的是值的范围。如果是16位带符号PCM音频,则最小值为-90,最大值为0: [20 * log10
在服务器端的 include_path 中,我有一个 pear 目录的引用,位于“/usr/share/pear/”中。在我的应用程序中,我包含来自公共(public)库的文件,这些文件位于“/usr
通过网络浏览后,我设法构建了一个有效的 SPL_Autoload 并在其中使用了命名空间。它确实有效,但与我正在查看的所有示例和文档相比,它对我来说也有点奇怪。我是否使用了所有内容并正确理解了它? $
我正在研究标准 PHP 库 (SPL)。以前只用过数组,现在才发现PHP有这么多标准类。但是说明书上并没有说推荐使用与否。例如,他们明确建议使用 foreach 构造来迭代数组,因为它更快。那么这个图
本文实例讲述了PHP标准库 (SPL)——Countable用法。分享给大家供大家参考,具体如下: 类实现 Countable 可被用于 count() 函数. 接口摘要
我对这三个问题的概念很迷茫 为什么我们需要辅助程序加载器? 它在哪个内存中加载和重定位? 系统内存和RAM有什么区别? 据我通过阅读链接了解到的是.. 当系统内部存储器不能完全容纳 uboot 时需要
有没有办法在 PHP 中从 SPL 自动加载器抛出异常以防失败?它似乎不能在 PHP 5.2.11 下工作。 class SPLAutoLoader{ public static functi
我正在为如何使用 SPL 迭代器删除 PHP 中的空目录树而苦恼。考虑以下目录结构,其中所有目录都是空的: /topdir level1 level2 我试过以下方法: $it =
如何使用 SPL(可能使用 RecursiveDirectoryIterator 和 RecursiveIteratorIterator)检索完整的目录树? 最佳答案 默认情况下,RecursiveI
我可以在 http://www.php.net/~helly/php/ext/spl/... 找到定义文件,但我想扩展 DirectoryIterator和 SplFileInfo在存储在数据库上的虚
我正在尝试使用 spl_autoload_register 并且我想创建一个 if() 语句来检查类方法是否已经注册。 例如: if (spl_autoload_function(array($thi
我是一名优秀的程序员,十分优秀!