![]() |
mFrame
|
MCXA153 處理器核心管理類別 更多...
#include <Processor.h>
靜態公開方法(Static Public Methods) | |
| static void | systemInit (void) |
| 系統初始化函數 | |
靜態公開屬性 | |
| static constexpr uint32 | BASE_GPIO0 = 0x40102000U |
| GPIO0 控制器基地址 - 通用輸入輸出埠0 (0x40102000) | |
| static constexpr uint32 | BASE_GPIO1 = 0x40103000U |
| GPIO1 控制器基地址 - 通用輸入輸出埠1 (0x40103000) | |
| static constexpr uint32 | BASE_GPIO2 = 0x40104000U |
| GPIO2 控制器基地址 - 通用輸入輸出埠2 (0x40104000) | |
| static constexpr uint32 | BASE_GPIO3 = 0x40105000U |
| GPIO3 控制器基地址 - 通用輸入輸出埠3 (0x40105000) | |
| static constexpr uint32 | BASE_PORT0 = 0x400BC000U |
| PORT0 配置基地址 - 引腳複用與電氣特性配置0 (0x400BC000) | |
| static constexpr uint32 | BASE_PORT1 = 0x400BD000U |
| PORT1 配置基地址 - 引腳複用與電氣特性配置1 (0x400BD000) | |
| static constexpr uint32 | BASE_PORT2 = 0x400BE000U |
| PORT2 配置基地址 - 引腳複用與電氣特性配置2 (0x400BE000) | |
| static constexpr uint32 | BASE_PORT3 = 0x400BF000U |
| PORT3 配置基地址 - 引腳複用與電氣特性配置3 (0x400BF000) | |
| static constexpr uint32 | BASE_SYSCON = 0x40091000U |
| SYSCON 基地址 - 系統配置控制器 (0x40091000) | |
| static constexpr uint32 | BASE_GLIKEY0 = 0x40091D00U |
| GLIKEY0 基地址 - 全域金鑰管理器0 (0x40091D00) | |
| static constexpr uint32 | BASE_MBC0 = 0x4008E000U |
| MBC0 基地址 - 記憶體邊界檢查器0 (TrustZone) (0x4008E000) | |
| static constexpr uint32 | BASE_MRCC0 = 0x40091000u |
| MRCC0 基地址 - 模組復位與時脈控制0 (0x40091000) | |
| static constexpr uint32 | BASE_SCG0 = 0x4008F000U |
| SCG0 基地址 - 系統時脈產生器0 (0x4008F000) | |
| static constexpr uint32 | BASE_VBAT0 = 0x40093000U |
| VBAT0 基地址 - 電池供電域控制器0 (0x40093000) | |
| static constexpr uint32 | BASE_SPC0 = 0x40090000U |
| SPC0 基地址 - 系統電源控制器0 (0x40090000) | |
| static constexpr uint32 | BASE_FMU0 = 0x40095000U |
| FMU0 基地址 - Flash記憶體單元0 (0x40095000) | |
| static constexpr uint32 | BASE_LPUART0 = 0x4009F000U |
| LPUART0 基地址 - 低功耗通用非同步收發器0 (0x4009F000) | |
| static constexpr uint32 | BASE_LPUART1 = 0x400A0000U |
| LPUART1 基地址 - 低功耗通用非同步收發器1 (0x400A0000) | |
| static constexpr uint32 | BASE_LPUART2 = 0x400A1000U |
| LPUART2 基地址 - 低功耗通用非同步收發器2 (0x400A1000) | |
| static constexpr uint32 | BASE_LPI2C0 = 0x4009A000U |
| LPI2C0 基地址 - 低功耗I2C介面0 (0x4009A000) | |
| static constexpr uint32 | BASE_LPSPI0 = 0x4009C000U |
| LPSPI0 基地址 - 低功耗SPI介面0 (0x4009C000) | |
| static constexpr uint32 | BASE_LPSPI1 = 0x4009D000U |
| LPSPI1 基地址 - 低功耗SPI介面1 (0x4009D000) | |
| static constexpr uint32 | BASE_CTIMER0 = 0x40004000U |
| CTIMER0 基地址 - 通用定時器0 (0x40004000) | |
| static constexpr uint32 | BASE_CTIMER1 = 0x40005000U |
| CTIMER1 基地址 - 通用定時器1 (0x40005000) | |
| static constexpr uint32 | BASE_CTIMER2 = 0x40006000U |
| CTIMER2 基地址 - 通用定時器2 (0x40006000) | |
| static constexpr uint32 | BASE_OSTIMER0 = 0x400AD000U |
| OSTIMER0 基地址 - 作業系統定時器0 (0x400AD000) | |
| static constexpr uint32 | BASE_LPADC0 = 0x400AF000U |
| LPADC0 基地址 - 低功耗類比數位轉換器0 (0x400AF000) | |
| static constexpr uint32 | BASE_ROMAPI = 0x03003FE0U |
| ROM API 基地址 - 內建ROM函數入口 (0x03003FE0) | |
| static constexpr uint32 | SIZE_SRAM = 0x00008000U |
| SRAM記憶體大小常數 - 32KB (0x00008000) | |
| static constexpr uint32 | BASE_SRAM = 0x20000000U |
| SRAM記憶體基地址 (0x2000_0000) | |
| static constexpr uint32 | BASE_SRAM_END = BASE_SRAM + SIZE_SRAM - 1U |
| SRAM記憶體結束地址 (0x2000_7FFF) | |
| static constexpr uint32 | SIZE_FLASH = 0x00020000U |
| Flash記憶體大小常數 - 128KB (0x00020000) | |
| static constexpr uint32 | BASE_FLASH = 0x00000000U |
| Flash記憶體基地址 (0x0000_0000) | |
| static constexpr uint32 | BASE_FLASH_END = BASE_FLASH + SIZE_FLASH - 1U |
| Flash記憶體結束地址 (0x0001_FFFF) | |
保護方法(Protected Methods) | |
| virtual | ~Processor (void) override=default |
| 解構 Processor 物件 | |
保護方法(Protected Methods) 繼承自 ufm::lang::NonInstantiable | |
| NonInstantiable (void)=delete | |
| 禁止實例化 NonInstantiable 類別 | |
| NonInstantiable (const NonInstantiable &)=delete | |
| 禁止複製建構函式 | |
| virtual | ~NonInstantiable (void) override=default |
| Destroy the Non Instantiable object. | |
| NonInstantiable & | operator= (const NonInstantiable &)=delete |
| NonInstantiable & | operator= (NonInstantiable &&)=delete |
額外的繼承成員 | |
公開方法(Public Methods) 繼承自 ufm::lang::Object | |
| void * | operator new (size_t n) |
| 使用運算子 new 分配記憶體 | |
| void * | operator new (size_t n, void *p) |
| 在指定記憶體上調用運算子 new | |
| virtual ufm::lang::Object & | getObject (void) override |
| 取得對應的 Object 物件 | |
| void | delay (int milliseconds) const |
| 延遲指定的毫秒數進行執行緒等待 | |
| bool | equals (Object *object) const |
| 判斷與另一物件是否為相同參照(指標型態比較) | |
| bool | equals (Object &object) const |
| 判斷與另一物件是否為相同參照(參照型態比較) | |
| void | wait (void) const |
| 使當前線程等待直到被通知 | |
| bool | wait (int timeout) const |
| 等待通知或超時 | |
| bool | yield (void) const |
| 讓執行緒讓渡控制權給同優先權的下一個執行緒 | |
| int | lock (void) const |
| 核心鎖定,鎖定期間禁止線程切換 | |
| int | unlock (void) const |
| 核心解鎖 | |
| ufm::sys::Thread * | currentThread (void) const |
| 取得當前執行緒指標 | |
| virtual int | hashcode (void) const |
| 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。 | |
公開方法(Public Methods) 繼承自 ufm::lang::Interface | |
| virtual | ~Interface (void)=default |
| 虛擬析構函式 | |
MCXA153 處理器核心管理類別
Processor類別提供MCXA153微控制器的核心處理器管理功能,包括系統初始化、 外設基地址定義以及處理器相關的低階操作控制。此類別作為整個MCXA153系統 的基礎架構,負責處理器核心的設定與管理。
MCXA153 處理器核心特性:
系統架構特色:
記憶體系統配置:
外設整合架構:
基地址映射說明: 此類別定義了MCXA153微控制器所有主要外設的基地址常數,這些地址是硬體固定的 記憶體映射位置,用於外設暫存器存取和硬體控制。地址映射遵循ARM Cortex-M33 標準記憶體配置規範。
基地址分類:
GPIO與PORT控制 (0x4010_xxxx / 0x400B_xxxx 範圍):
系統控制與安全 (0x4009_xxxx 範圍):
通訊介面 (0x4009_xxxx / 0x400A_xxxx 範圍):
定時器與類比 (0x4000_xxxx / 0x400A_xxxx 範圍):
使用範例 - 系統初始化:
使用範例 - 外設基地址應用:
系統整合要點:
效能最佳化策略:
|
overrideprotectedvirtualdefault |
|
static |
系統初始化函數
執行 MCXA153 微控制器的基本系統初始化程序。此函數負責配置處理器核心、 記憶體系統、時脈樹以及基本的硬體抽象層設定,為系統正常運作建立必要的 基礎環境。
初始化程序包括:
**處理器核心設定**:
**記憶體系統初始化**:
**時脈系統設定**:
**電源管理初始化**:
**安全機制設定**:
**外設介面準備**:
呼叫時機與注意事項: