- 博客(29)
- 收藏
- 关注
原创 ARM64 Trust Firmware [四]
完成第二阶段 BL2 的操作后就加载并进入 BL31,BL31 位于 DRAM 中,EL3 模式。
2025-02-18 16:49:25
951
原创 ARM64 Trust Firmware [三]
bl2_main 通过 bl2_load_images 将 bl3x 的 image 加载到 DRAM 中,然后触发 smc 到 smc 异常中,再跳转到 bl31 执行运行时固件。完成第一阶段 BL1 的操作后就加载并进入 BL2, 在一般配置下 BL2 运行在 Secure-EL1。
2025-02-17 17:13:23
412
原创 ARM64 Trust Firmware [二]
ATF 前面已经说了,是 ARM 的可信固件,是 ARM 官方提供的一个固件代码,提供了统一的接口标准。,官网提供了 TF-A,还提供了比如正对 Cortex-M 单片机的 TF-M,也提供了比如安全世界 OS - OPTEE 等。在 TF-A 的源代码中,一共分为 3 个部分的 bootloader:bl1、bl2、bl2u和bl31:这里的 bl1、bl2、bl2u、bl31都属于安全固件,bl32 (TEE OS)和 bl33(U-boot)都是 ATF 需要启动的其他第三方固件。1. BL1。
2025-02-17 14:13:48
1040
原创 RK3568上电启动流程详解.2 [十五]
所以 DRAM 内存地址范围0x00000000 - 0x00200000 和 0x08400000 - 0x09400000 是 Reserve 区域,内核是不能使用的。我使用的 RK3568 开发板片上 DRAM 为 2G,其地址范围为0x00000000 - 0x80000000,这部分是在 TPL 初始化 DRAM 时探测的。0x00000000 - 0x00100000 DRAM 内存给到了 ATF;0x00100000 - 0x00200000 DRAM 内存给到了 SHM;
2025-01-23 18:45:55
526
原创 关于C语言const变量能不能修改的问题
嵌入式开发面试中大家应该经常被问到在 C 语言中一个用 const 修饰的变量是否可以被修改,然后面试者回答:“可以”,面试官说:“你可以走了”。那如何回答关于 const 是否可以被修改的问题呢?但是我们通过对比发现,当定义这两个局部 const 变量后,text 段的大小变大了,也就是说这两个变量在 text 段中,当然这个说法不完全正确,应该说在函数运行时,局部变量会被压入栈,所以上述的 const 变量是在栈中被修改的。我们看到这两个局部的初始化和未初始化的 const 的变量都是可以被修改的。
2025-01-08 14:09:39
313
原创 IO Virtualization with Virtio.part 2 [十三]
通过对virtio_device_id 中的 device 和 vendor 的值进行比较,我们找到对应的 virtio 驱动,由于这里我们使用 i2c virtio 为例,所以调用 virtio_i2c_probe 进行 virtio i2c 设备的初始化。在和 virtio mmio 设备交互时我们会读取 VIRTIO_MMIO_DEVICE_ID 和 VIRTIO_MMIO_VENDOR_ID,并将其值写入 virtio_device_id 中,这个就会用作后面和 virtio 设备驱动的匹配参数。
2025-01-07 16:53:42
956
原创 A Bare Metal Aarch64 Hypervisor [一]
从零开始一步步设计并编写一个基于Aarch64 的 Bare Metal Hypervisor,然后从简单的示例开始,托管小的虚拟机,到逐步深入到托管完整的Linux操作系统。
2024-11-05 14:22:27
560
1
原创 ARM64 Linux及Perf工具在Linux (Ubuntu)开发环境中的编译和运行
ARM64 Linux及Perf工具在Linux (Ubuntu)开发环境中的编译和运行
2024-11-01 17:09:45
337
原创 图文详解RISCV上电流程:(以SiFive FU740-C000为例)
图文详解RISCV上电流程:(以SiFive FU740-C000为例)
2024-07-19 11:14:19
463
1
原创 Linux IIC/SPI驱动及其虚拟化,保姆级教程
Linux IIC/SPI驱动及其虚拟化,保姆级教程,让你彻底了解Linux下的IIC/SPI驱动,同时详解其虚拟化的实现
2024-07-19 10:43:50
1353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人