After reset, the Kryo Silver core 0 comes out of reset and then executes PBL On Kryo Silver core 0, applications PBL initializes hardware (clocks, and so on), CPU caches and MMU, and detects the boot device as per the boot option configuration: Default boot option: UFS > SD > USB Default boot option: overridden by EDL cookie or Force USB GPIO 2a. Loads and authenticates XBL-SEC (region #0) from the boot device to OCIMEM 2b. Loads and authenticates XBL-Loader (region #1) from the boot device to Boot IMEM 2c. Loads and authenticates XBL-Debug (region #2) from the boot device to OCIMEM Jumps to XBL-SEC 3. XBL-SEC runs the security configuration in EL3 mode, and then executes the XBL-Loader in EL1 mode XBL-Loader initializes hardware and firmware images, CPU caches, MMU, boot device, XBLConfig, PMIC driver, and DDR. It performs DDR training if applicable, executes an SCM call to XBL-SEC to initialize PIMEM, and initializes clocks and configures the clock frequencies as per clock plan 4a. Loads and authenticates applications debug policy (APDP) image from the boot device 4b. If, DLOAD cookie is set, loads, and authenticates XBL-RAM dump and jumps to XBL-RAM dump to collect crash dump 4c. Initializes SMEM (shared memory) and fills platform ID and RAM partition table 4d. Loads and authenticates AOP image from the boot device and then bring AOP out of reset 4e. Loads and authenticates DEVCFG (TZ device configuration) image from the boot device 4f. Loads SEC.dat (fuse blowing data) image from the boot storage if exists 4g. Loads and authenticates QTEE image from the boot device 4h. Loads and authenticates QHEE image from the boot device 4i. Loads and authenticates ABL image from the boot device 4j. Executes an SCM call to XBL-SEC to jump to QTEE cold boot是什么意思
时间: 2024-04-04 07:29:00 浏览: 172
这段话是描述了一个系统启动的过程,包括初始化硬件、加载和验证引导程序,以及执行一系列的初始化和配置操作。其中,XBL-SEC 和 XBL-Loader 是引导程序的两个主要组成部分,它们负责初始化硬件和固件镜像,执行 DDR 训练等操作。在引导程序的执行过程中,还会加载和验证其他的固件镜像,例如 AOP、DEVCFG、SEC.dat、QTEE、QHEE 和 ABL 等。最后,系统会执行一个 SCM 调用,以启动 QTEE 冷启动。
相关问题
On Kryo Silver core 0, applications PBL initializes hardware (clocks, and so on), CPU caches and MMU, and detects the boot device as per the boot option configuration: Default boot option: UFS > SD > USB是什么意思
这段话是关于Kryo Silver core 0的启动过程的描述。它指出,应用程序PBL会初始化硬件(如时钟等)、CPU缓存和MMU,并根据启动选项配置检测引导设备。默认的引导选项是UFS > SD > USB。这意味着在没有特别指定引导设备的情况下,系统会首先尝试从UFS设备引导,如果失败则尝试从SD卡引导,最后才尝试从USB设备引导。
springboot kryo
### Spring Boot 集成 Kryo 序列化
为了在 Spring Boot 中集成 Kryo 进行对象序列化,可以按照如下方法配置:
#### 添加依赖项
首先,在 `pom.xml` 文件中添加必要的 Maven 依赖来引入 Kryo 和其他支持库。
```xml
<dependency>
<groupId>com.esotericsoftware</groupId>
<artifactId>kryo</artifactId>
<version>5.0.0</version>
</dependency>
<!-- 如果需要使用反射特性 -->
<dependency>
<groupId>com.esotericsoftware</groupId>
<artifactId>minlog</artifactId>
<version>1.3.0</version>
</dependency>
```
#### 创建自定义的 Serializer Bean
接着创建一个类用于注册并返回已初始化好的 Kryo 实例作为 bean 注入到 Spring 上下文中。
```java
import com.esotericsoftware.kryo.Kryo;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class KryoConfig {
@Bean(name = "kryoSerializer")
public Kryo getKryo() {
final Kryo kryo = new Kryo();
// Register classes that will be serialized here.
// For example:
// kryo.register(MyClass.class);
return kryo;
}
}
```
#### 使用 Kryo 对象进行序列化/反序列化操作
当有了上述配置之后就可以通过注入的方式获取这个 Kryo 的实例来进行数据转换工作了。下面是一个简单的例子展示怎样利用它完成基本的对象保存读取功能[^1]。
```java
@Autowired
private Kryo kryo;
// Serialization method
public byte[] serialize(Object obj) throws Exception {
Output output = null;
try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
output = new Output(baos);
kryo.writeClassAndObject(output, obj);
return output.toBytes();
} finally {
if (output != null && !output.closed)
output.close();
}
}
// Deserialization method
@SuppressWarnings("unchecked")
public <T> T deserialize(byte[] bytes) throws Exception {
Input input = null;
try (ByteArrayInputStream bais = new ByteArrayInputStream(bytes)) {
input = new Input(bais);
return (T) kryo.readClassAndObject(input);
} finally {
if (input != null && !input.eof())
input.close();
}
}
```
以上就是关于如何在一个典型的 Spring Boot 应用程序里边加入对 Kryo 支持的一个简单教程。需要注意的是实际开发过程中可能还需要考虑线程安全等问题以及针对特定业务场景做适当调整优化。
阅读全文