
Welcome to Arm Community
Forums
Browse our support forums for solutions to your questions, and get help from arm experts.
Blogs
Read the latest Arm Community blogs and explore the latest in what Arm engineers are writing about.
Events
Keep up-to-date on the latest developer focused events, workshops and discussions.

Notice anything?
The Arm Community is changing. Learn more about the changes and improvements we are making.

Arm Developer Hub
Access documentation, tutorials, and technical deep dives to help you create top-performing software solutions.

New to Arm Community?
Read this blog post to get started on Arm Community.
Latest blog posts

July 10, 2025
|
Reading time 5 minutes
Get ready for Arm SME, coming soon to Android

July 10, 2025
|
Reading time 6 minutes
One year of Arm KleidiAI in XNNPack: Seamless and transparent AI performance

July 10, 2025
|
Reading time 12 minutes
Optimizing 3D scenes in Godot on Arm GPUs

July 4, 2025
|
Reading time 4 minutes
How SiteMana scaled real-time visitor ingestion and ML inference by migrating to Arm-based AWS Graviton3
Latest community activity
Today


Memory abort occurs after ISB instruction during execution of enable mmu at el3
HI Team,
We are encountering a synchronous data abort (memory abort) immediately after executing the ISB instruction in the enable_mmu_direct_el3() function in TF-A BL1 image. We are using neoverse v2 reference design. How we can find out the root cause...

Direct injection of SPIs
I am reading GIC-700 TRM, and seems that it can directly inject SGIs/LPIs into virtual machine without be trapped into Hypervisor. Unfortunately, SPIs direct injection is not supported. I am wondering if there is some special considerations to not suppport...

I am reading GIC-700 TRM, and seems that it can directly inject SGIs/LPIs into virtual machine without be trapped into Hypervisor.
That's correct, GICv4.1 (which is what GIC-700 implements) only supports direct-injection of SGI/LPIs.
I am wondering if there is some special considerations to not suppport SPI direct injection?
Direct-injection of SPIs, and also PPIs, comes in the recently announced GICv5 spec.
https://developer.arm.com/Architectures/Generic%20Interrupt%20Controller

ARM Cortex R52+ Data Cache Misses mis-calculation
Hi,
I have a question regarding the Cortex-R52+, more specifically around the data caches behaviour.
The setup is the following:
- Cache size: 8KB
- Cache type: 4-way set associative
- Cache segregation:
- 2 ways assigned to AXI-M
- 2 ways assigned to FLASH

afbc enable
From looking at the documentation for our Mali-G78AE, it's still unclear to me how we enable the use of AFBC compression. I see a read only register that indicated whether or not it is disabled, but I'm not able to tell how it is enabled. Any...

Hi Andy,
There are two ways that AFBC gets managed, depending on the type of framebuffer.
The main application window surface framebuffer, and any other surfaces that are shared by multiple hardware blocks such video imports, are allocated and managed by a system component, for example using Gralloc on Android. The color format and memory layout is determined by this external component rather than the driver because all of the hardware blocks need to agree on the supported format, so there is normally some integration by the SoC provider to make sure that the GPU/Display/Video surfaces are optimally configured.
The internal framebuffers used for render-to-texture within a single application are managed by the driver, as it has full visibility of how that image gets used. AFBC is not compatible with all image usage, so some application usage can cause a fall-back to non-compressed data. More details can be found in our best practices guide:
- https://developer.arm.com/documentation/101897/0304/Buffers-and-textures/AFBC-textures
- https://developer.arm.com/documentation/101897/0304/Buffers-and-textures/AFBC-textures-for-Vulkan
Kind regards,
Pete

thank you Peter! As of right now I am just trying to understand how the Mali is indicated that it needs to compress frame buffer output data, but I think I understand that now.

Answer 10 questions that are marked as suggested or accepted answers.

Answer 5 questions that are marked as suggested or accepted answers.

SORT_BY_ALIGNMENT alternative in ARM Compiler
Hi,
I need to sort address and size aligned symbols in the memory section by descending size using ARM Compiler scatter file.
In GNU toolchain this is easily achieved by using SORT_BY_ALIGNMENT keyword in the linker script.
In ARM compiler scatter file the...

Ask 5 questions in a forum.

Ethernet is not available on NUCLEO-H753ZI (using Keil RTX5)
I cannot connect Ethernet in Keil µVision V5.42 and NUCLEO-H753ZI.
There is no response for ARP or Ping.
How do I connect NUCLEO-H753ZI to a PC via Ethernet in Keil RTX5?
Have I forgotten to configure something?
This environment is as follows.
...
C2C Snoop address mapping between CHI
Dear Supporters,
As previously descussion in https://community.arm.com/support-forums/f/architectures-and-processors-forum/57205/c2c-snp-address-width-diff-from-chi,
I wish to have your confirm about whether such a SNP address mapping relationship between...

Hi Lingfan,
I've just responded in https://community.arm.com/support-forums/f/architectures-and-processors-forum/57205/c2c-snp-address-width-diff-from-chi, as I saw the question there first.
In isolation here though, your calculations look correct to me.
Kind regards,
Ben

C2C SNP Address width diff from CHI
Dear Supporters, In IHI0050G CHI.G spec Chapter B13.9.3, Addr field width of SNP Flit is defined as Req_Addr_Width - 3, Meantime the Req_Addr_Width allowed range defined as 44 to 52. In IHI0098A CHI C2C spec Chapter B4.2.6, Addr field width of SNP message...

Hi Ben,
There may be some misunderstandings in my previous reply.
My current understanding is as follows:
For Req_Addr_Width = 52, SNP Addr width defined as Req_Addr_width – 3 = 49,
So the mapping between CHI <-> C2C would be:
CHI SNP -> C2C Snoop: C2C.Snoop.Addr[47:0] = CHI.SNP.Addr[48:1];
C2C Snoop -> CHI SNP: CHI.SNP.Addr[48:0] = {C2C.Snoop.Addr[47:0],1’b0];
So For Req_Addr_Width = 51, SNP Addr width defined as 51 – 3 = 48,
So the mapping between CHI <-> C2C would be:
CHI SNP -> C2C Snoop: C2C.Snoop.Addr[47:0] = {1’b0,CHI.SNP.Addr[47:1]};
C2C Snoop -> CHI SNP: CHI.SNP.Addr[47:0] = {C2C.Snoop.Addr[46:0],1’b0];
Then For Req_Addr_Width = 50, SNP Addr width defined as 50 – 3 = 47,
So the mapping between CHI <-> C2C would be:
CHI SNP -> C2C Snoop: C2C.Snoop.Addr[46:0] = {2’b0,CHI.SNP.Addr[46:1]};
C2C Snoop -> CHI SNP: CHI.SNP.Addr[46:0] = {C2C.Snoop.Addr[45:0],1’b0];
Please help me to confirm whether these mapping relationships are correct or not.
I‘m looking forward to your reply.
Best Regards
Can you help?