|
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)
|
|
MCXA153 處理器核心管理類別
Processor類別提供MCXA153微控制器的核心處理器管理功能,包括系統初始化、 外設基地址定義以及處理器相關的低階操作控制。此類別作為整個MCXA153系統 的基礎架構,負責處理器核心的設定與管理。
MCXA153 處理器核心特性:
- ARM Cortex-M33 處理器內核 (32-bit RISC架構)
- TrustZone 安全擴展支援,提供硬體級安全隔離
- 浮點運算單元 (FPU) 支援單精度運算
- 記憶體保護單元 (MPU) 提供8個可配置區域
- 嵌套向量中斷控制器 (NVIC) 支援32個中斷優先級
- 系統滴答定時器 (SysTick) 提供精確時基
系統架構特色:
- 哈佛架構設計,指令和資料分離
- 支援Thumb-2指令集,提供優異的程式碼密度
- 硬體除法器和單週期乘法器
- 低功耗設計,支援多種節能模式
- 先進的匯流排架構 (AHB-Lite/APB)
記憶體系統配置:
- Flash記憶體:高達256KB程式儲存
- SRAM記憶體:高達32KB系統記憶體
- 記憶體映射I/O,統一位址空間
- ECC錯誤檢測與修正支援
- 記憶體加密與完整性保護
外設整合架構:
- 豐富的通訊介面 (UART、SPI、I2C)
- 高精度定時器與PWM控制
- 類比數位轉換器 (ADC) 與比較器
- GPIO彈性配置與中斷支援
- 時脈管理與電源控制整合
基地址映射說明: 此類別定義了MCXA153微控制器所有主要外設的基地址常數,這些地址是硬體固定的 記憶體映射位置,用於外設暫存器存取和硬體控制。地址映射遵循ARM Cortex-M33 標準記憶體配置規範。
基地址分類:
GPIO與PORT控制 (0x4010_xxxx / 0x400B_xxxx 範圍):
- GPIO0~3: 通用輸入輸出控制器
- PORT0~3: 引腳複用與電氣特性配置
系統控制與安全 (0x4009_xxxx 範圍):
- SYSCON: 系統配置與控制
- GLIKEY0: 全域密鑰管理
- MBC0: 記憶體邊界檢查器 (TrustZone)
- MRCC0: 模組復位與時脈控制
- SCG0: 系統時脈產生器
- VBAT0: 電池供電域控制
- SPC0: 系統電源控制器
- FMU0: Flash記憶體單元
通訊介面 (0x4009_xxxx / 0x400A_xxxx 範圍):
- LPUART0~2: 低功耗通用非同步收發器
- LPI2C0: 低功耗I2C介面
- LPSPI0~1: 低功耗SPI介面
定時器與類比 (0x4000_xxxx / 0x400A_xxxx 範圍):
- CTIMER0~2: 通用定時器
- OSTIMER0: 作業系統定時器
- LPADC0: 低功耗類比數位轉換器
使用範例 - 系統初始化:
void main(void) {
}
static void systemInit(void)
系統初始化函數
使用範例 - 外設基地址應用:
volatile uint32_t* gpio0_base =
static constexpr uint32 BASE_GPIO0
GPIO0 控制器基地址 - 通用輸入輸出埠0 (0x40102000)
Definition Processor.h:199
MCXA153 通用輸入/輸出 (General Purpose Input/Output) 控制器靜態工具類別
Definition chip/gpio/GPIO.h:129
系統整合要點:
- systemInit()必須在任何外設操作前呼叫
- 基地址常數可用於計算相對偏移量
- 支援多執行緒環境下的安全操作
- 配合中斷向量表進行系統設定
- 整合TrustZone安全機制配置
效能最佳化策略:
- 合理配置記憶體存取模式
- 善用處理器管線化特性
- 適當使用快取和預取機制
- 最佳化中斷延遲時間
- 平衡功耗與效能需求
- 註
- 此類別負責底層硬體抽象,修改時需要深度了解MCXA153硬體架構
-
systemInit()函數只能在系統復位後呼叫一次
-
基地址常數為硬體固定值,不可修改
-
TrustZone配置會影響某些外設的存取權限
- 警告
- 不當的系統初始化可能導致系統不穩定或安全風險
-
直接操作基地址需要充分理解暫存器結構和時序要求
- 參閱
- MCXA153 Reference Manual for complete hardware documentation
-
ARM Cortex-M33 Technical Reference Manual
- 自
- MCXA153 Cortex-M33 with TrustZone support