# ARM_Learning **Repository Path**: xtdumpling/arm_learning ## Basic Information - **Project Name**: ARM_Learning - **Description**: ARM架构学习资料,包括ARM CPU架构,调试,总线,相关的操作系统和其它架构资料 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 12 - **Created**: 2023-09-23 - **Last Updated**: 2023-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 为了便于大家学习ARM架构,收集相关文档 ## 文档名称说明 为了名称统一微调了ARM官方文档的名称。格式一般为名称+文档编号+版本。例如a-profile_architecture_reference_manual_DDI0487H_a.pdf的名称是a-profile_architecture_reference_manual,文档编号是DDI0487,具体版本是H.a,文档编号和文档版本可以用于去ARM官网搜索更新版本。 ## CPU CPU的Technical Reference Manual(简称TRM),描述了该CPU的整体特性,编程模型,各个子系统的特性和寄存器,调测和外部信号等内容。 ARM开发的入门,推荐从TRM了解ARM系统。 CPU/cortex_a710_core_trm_101800_0201_07_en.pdf: 用于移动场景的ARMv9.0a处理器; CPU/cortex-a715-trm-0102.pdf: 版本0102;原始文件名:arm_cortex_a715_core_trm_101590_0102_08_en.pdf CPU/cortex_a72_mpcore_trm_100095_0003_06_en.pdf:树莓派4b的CPU; CPU/neoverse_v1_trm_101427_0101_05_en.pdf:AWS graviton3的CPU。 ## architecture ARM架构相关文档,学习ARM架构的其中一个目标是能读懂更多架构相关的文档。 ### ARMv8a, ARMv9a - [architecture/a-profile_architecture_reference_manual_DDI0487H_a.pdf](architecture/a-profile_architecture_reference_manual_DDI0487H_a.pdf):ARMv8, v9的架构手册,包括64位和32位两部分。 - [architecture/understanding_the_armv8.x_and_armv9.x_extensions.pdf](architecture/understanding_the_armv8.x_and_armv9.x_extensions.pdf): ARMv8a, ARMv9-a扩展(extension)的简要说明,适合速查不同扩展间的重要差异。当前版本:2.1 - [architecture/DEN0024A_v8_architecture_PG.pdf](architecture/DEN0024A_v8_architecture_PG.pdf):Programming guide是ARM官方给软件工程师的ARM手册,如果看上面的架构手册有难度,建议先看这个文档。 - [architecture/IHI0055B_aapcs64.pdf](architecture/IHI0055B_aapcs64.pdf):aarch64的函数调用和二进制调用的规范,往下连接到ARM架构,往上是更偏软件的elf等手册。 ### ARMv7a - [architecture/DDI0406C_d_armv7ar_arm.pdf](architecture/DDI0406C_d_armv7ar_arm.pdf) ARMv7a的架构手册,建议优先看上面的v8/v9手册,尽早了解ARM 32位的变化,以及为学习ARM64做准备。 - [architecture/IHI0042F_aapcs.pdf](architecture/IHI0042F_aapcs.pdf):aarch32的函数调用和二进制调用的规范,往下连接到ARM架构,往上是更偏软件的elf等手册。 ## peripheral/SOC 除CPU之外的IP,SMMU等子系统的文档。 [SOC/ARMv8_CA53__H616_User_Manual.pdf](SOC/ARMv8_CA53__H616_User_Manual.pdf): ARMv8-a Cortex-A53全志H616 SOC,[原始链接](https://linux-sunxi.org/images/2/24/H616_User_Manual_V1.0_cleaned.pdf) [peripheral/network-phy-RTL8211F.pdf](peripheral/network-phy-RTL8211F.pdf): Realtek RTL8211F 网络物理层芯片,[原始链接](https://datasheet.lcsc.com/lcsc/1912111437_Realtek-Semicon-RTL8211F-CG_C187932.pdf) ### SMMU peripheral/System_Memory_Management_Unit_Arm_Architecture_Specification_IHI_0070_D_a.pdf:ARM SMMU规范。 ### Memory [peripheral/DDR_Basics_Register_Configurations_Pitfalls__Freescale.pdf](peripheral/DDR_Basics_Register_Configurations_Pitfalls__Freescale.pdf): DDR SDRAM的基本原理,初始化流程等。 ## 深入学习 [in-depth/Arm64_Linux_Kernel_architecture_update_Linaro_2022.pdf](in-depth/Arm64_Linux_Kernel_architecture_update_Linaro_2022.pdf): ARMv8.2-A到ARMv8.5-A的特性合入情况。[原始链接](https://static.linaro.org/connect/ltd20/presentations/LTD20-202-0.pdf)