Page tree
Skip to end of metadata
Go to start of metadata

概括

多处理器使得在几个核心上运行独立的固件成为可能。在这种情况下,一个核心可以使用一些外设,而不知道这些外设在其他核心上的使用情况。这中情况出现了潜在的竞争,必须有策略管理来保护。

资源管理的作用是控制外设到专用内核的分配,并提供一种配置用于操作该外设的系统资源的方法。

术语

为了理解STM32资源管理机制,用户可能需要熟悉一些术语:

  • 外设分配(Assignment): 将外设分配给内核意味着该处理器可以使用外设(或硬件模块)。
  • 系统资源(System resource): 操作外设所需的共享资源,并由主内核控制。


系统资源

外设需要一些外部资源才能正常运行。 这些资源是时钟,中断线,信号线,引脚,调节器等。


每个内核都实例化了其中一些资源(例如中断,时钟门控,复位),而两个内核共享了其他一些资源(定义为系统资源)。 为了避免争用这些系统资源,开发人员必须注意如何控制这些特定资源。

系统资源分为两类:

  • 由Arm Cortex-A和Cortex-M上下文共享并受Hardware Semaphore保护的系统资源:

Pin: 引脚配置

External interrupt (EXTI): GPIO和关联的EXTI中断之间的绑定。

  • 系统资源仅由Linux通过资源管理器框架控制:

Clock tree: 时钟配置由Linux时钟框架管理。 协处理器负责分配给Cortex-M4上下文的外设的时钟门控。

Regulator: 电源由Linux regulator框架管理。


资源管理服务

为了确保两种固件共存,资源管理提供了以下几种服务,这些服务将在下一节中详细介绍:

  • 外设分配请求服务: 用于确保为专用处理器上下文使用保留外围设备的机制。
  • 系统资源配置集服务: 主处理器(运行Linux的Arm Cortex-A)中提供的服务,用于配置在协处理器上操作外设所需的系统资源。
  • 动态系统资源更新服务: 基于远程处理消息传递的服务,该消息允许协处理器请求主处理器更新系统资源配置。


  • No labels