- 博客(13)
- 收藏
- 关注
原创 飞腾平台UEFI和龙芯平台UEFI的区别
飞腾平台和龙芯平台的UEFI固件在架构、启动流程、硬件支持、操作系统兼容性等方面存在显著差异。飞腾基于ARM架构,龙芯基于MIPS架构,因此它们的UEFI实现需要针对各自的架构进行优化和定制。
2025-03-11 17:04:55
290
原创 ACS和SMMU
ACS 主要负责 I/O 设备访问控制 和 权限管理。SMMU 主要负责 内存地址转换 和 内存访问保护。它们相辅相成,在 I/O 虚拟化和内存安全中起到了重要作用,确保设备和内存的访问是安全且合规的。二、开启SMMU的情况下,关闭Acs是不生效的情况在开启 SMMU(System Memory Management Unit)的情况下,关闭 ACS(Access Control Services)不生效的原因涉及到两者在 I/O 虚拟化和内存访问控制中的不同角色与工作方式。
2025-02-27 15:30:42
674
原创 Linux的UEFI和X86的UEFI的区别
Linux的UEFI和X86的UEFI并不是指不同类型的UEFI本身,而是两者的使用环境和体系架构有所不同。下面我们来解释他们直接的区别:1、架构差异①、X86 UEFI:X86是指32位的Intel架构(也包括基于Intel的其他32位处理器)和兼容的处理器架构。X86架构使用的UEFI版本主要是为了32位硬件设计的,早期的操作系统和固件都基于此架构。在X86系统中,UEFI固件运行时会使用32位的代码模式,虽然现代的UEFI固件大多支持X86-64架构。②、Linux的UEFI:
2025-01-16 17:09:38
382
原创 UEFI和BIOS的区别
UEFI(统一可扩展固件接口,Unified Extensible Firmearw Interface)和传统的BIOS(基本输入输出系统,Basic Input/Output System)是计算机启动过程中使用的两种固件接口,他们在许多方面存在显著的区别。BIOS:传统的BIOS仅支持16位模式,并且在硬件支持方面有一定的局限性,尤其是在较新的硬件上。UEFI提供了更快的启动、更好的硬件支持、增强的安全性和更多的功能,是现代计算机的标准启动接口。BIOS:BIOS相对较为简单,缺乏一些现代安全特性。
2025-01-16 13:51:04
855
原创 【UEFI】PCIE枚举流程
在枚举过程中,UEFI固件还会建立系统资源表,其中包含了多有已识别设备的资源信息,如内存地址、I/O端口、DMA(Direct Memory Access)通道等。②、固件通过读取每个PCIE插槽的配置空间来识别设备类型、设备地址和其他必要的参数。在整个过程中,UEFI固件需要协调硬件、设备、驱动程序和操作系统之间的交互,以确保PCIe设备能够正确初始化并顺利交由操作系统控制。①、PCI配置空间:每个PCIe设备都有一个配置空间,存储着设备的基本信息,如厂商ID、设备ID、设备类型、状态寄存器等。
2025-01-09 15:13:06
468
原创 CPU大小端
CPU字节序:不同CPU架构采用不同的字节序,常见的如x86、x86_64使用小端序,而一些老式的架构(如PowerPC)使用大端序。在计算机系统中,字节序(Byte Order)是指多字节数据(如整数、浮点数等)在内存中存储的顺序。②、ARM:ARM架构可以配置为大端序和小端序(即支持Bi-endian),但大多数ARM系统使用小端序。在大端序中,最重要的字节(即最高字节0x12)被存储在最低的内存地址0x00。在小端序中,最重要的字节(即最高字节0x12)被存储在最高的内存地址0x03。
2025-01-08 16:54:23
374
原创 UART简介
④、停止位(Stop Bit):数据传输完成后,会有一个或多个停止位(通常为1位或2位),用于指示数据帧的结束,并为接收方准备好接收下一个数据帧。③、数据校验:虽然可以通过奇偶校验位进行简单的错误检测,但UART本身没有内置的强大错误纠正机制,因此在噪声环境下需要额外的保护措施。UART的数据传输是基于串行通信的方式,数据以比特(bit)为单位顺序传输,每次传输一个比特。①、传输距离:由于UART传输的是串行信号,多以它适用于短距离通信,长距离传输可能会受到信号衰减和噪声干扰。
2025-01-03 16:33:07
502
原创 SPI简介
它是同步的,也就是说数据传输依赖于时钟信号,确保发送方和接收方的数据同步。6.4、点对点通信:SPI通常用于一个主设备与一个从设备之间的通信,但也可以扩展到多从设备模式。4.3、SCK(Serial Clock):由主设备提供生成的时钟信号,控制数据位的时序。2.3、SCK(Serial Clock):由主设备提供的时钟信号,决定数据传输的时序。5.3、数据接收:在传输过程中,主设备和从设备交换数据,每个时钟周期发送一位数据。7.2、从设备(Slave):响应主设备的请求,按照主设备的时钟和命令传输数据。
2024-12-20 16:22:47
1276
原创 【LINUX】GCC
Linux系统下的GCC编译器实际上是GNU编译工具链中的一款软件,可以用它来调用其他不同的工具进行诸如预处理、编译、汇编和链接这样的工作。GCC不仅功能强大、性能优越,其执行效率比一般的编译器相比要高20%~30%,而且由于其是GNU项目之一,是开源的软件,我们可以直接从网上免费的下载安装它。根据不同的编译器,会生成不同平台的汇编文件,使用GCC的话,生成就是X86格式的汇编文件,如果使用的是ARM平台的交叉编译器,那么将会生成ARM格式的汇编文件。这一步会解析所有的符号引用,将其替换为实际的地址。
2024-12-16 15:49:09
1751
原创 【LINUX】SHELL命令
Shell是一类软件的“统称”,这类软件是一种解释器,所谓的shell命令就是交由这类软件解释的。Shell(贝壳)正如其名字那样,保护着(或者说隔离着)操作系统,让应用程序可以更加轻易地达到某种特定的目的。1、改file1名字为file2。2、将file1移动到dir/去。1、复制file1为file2。1、比较file1和file2。1、将所有文件压缩为.bz2。2、复制dir1为dir2。3、将所有文件压缩为.gz。1、取apple别名为a。1、删除文件file。2、解压.bz2文件。
2024-12-13 11:22:39
996
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人