Skip to content
/ gicDemo Public

A small embedded application demonstraing how to configure ARM GIC v3 (Generic Interrupt Controller) for interrupt routing and handling for typical ARM systems. Generic timer interrupt is used as an example.

License

Notifications You must be signed in to change notification settings

aohzju/gicDemo

Repository files navigation

gicDemo

This is a small embedded application skeleton for demonstrating how to configure GIC v3 for interrupt handling on ARMv8A systems. This demo application is incrementally built on top of aohzju/embAppStartup. It's built and tested on ARM virtual platform ARMv8A AEM model: FVP_Base_RevC-2xAEMv8A.

Build and run

the armclang toolchain is used to build this example. And the build script is CMake script. It's tested on ARM FVP FVP_Base_RevC-2xAEMv8A. Assuming your development environment is correctly set up, this is the steps to build:

  1. Creae a build directory: mkdir build
  2. CD to build: cd build.
  3. cmake ../
  4. cmake --build . -v

Hopefully, you'll get appGicDemo.axf up to this point.

To run the demo:

FVP_Base_RevC-2xAEMv8A -C bp.secure_memory=false -C bp.terminal_0.mode=raw -C bp.refcounter.non_arch_start_at_default=1 -C cluster0.gicv3.FIQEn-RAO=1 -a appGicDemo.axf

ARM FVP

The virtual platform used in this application is FVP_Base_RevC-2xAEMv8A, which can be downloaded here.

About

A small embedded application demonstraing how to configure ARM GIC v3 (Generic Interrupt Controller) for interrupt routing and handling for typical ARM systems. Generic timer interrupt is used as an example.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published