mFrame
載入中...
搜尋中...
無符合項目
mcxa153::chip 命名空間(Namespace)參考文件

命名空間(Namespaces)

namespace  clock
 時鐘源附加識別碼枚舉
 
namespace  ctimer
 CTIMER (Configurable Timer) 相關定義
 
namespace  fmu
 
namespace  glikey
 
namespace  gpio
 
namespace  lpadc
 
namespace  lpi2c
 
namespace  lpspi
 
namespace  lpuart
 
namespace  mbc
 
namespace  mrcc
 
namespace  ostimer
 
namespace  port
 
namespace  reset
 
namespace  scg
 
namespace  spc
 
namespace  syscon
 
namespace  trdc
 
namespace  vbat
 

複合項目

class  Processor
 MCXA153 處理器核心管理類別 更多...
 

列舉型態

enum struct  Status : unsigned int {
  SUCCESS = mcxa153::chip::MAKE_STATUS(mcxa153::chip::StatusGroup::GENERIC, 0) , FAIL = mcxa153::chip::MAKE_STATUS(mcxa153::chip::StatusGroup::GENERIC, 1) , READONLY = mcxa153::chip::MAKE_STATUS(mcxa153::chip::StatusGroup::GENERIC, 2) , OUT_OF_RANGE = mcxa153::chip::MAKE_STATUS(mcxa153::chip::StatusGroup::GENERIC, 3) ,
  INVALID_ARGUMENT = mcxa153::chip::MAKE_STATUS(mcxa153::chip::StatusGroup::GENERIC, 4) , TIMEOUT = mcxa153::chip::MAKE_STATUS(mcxa153::chip::StatusGroup::GENERIC, 5) , NO_TRANSFER_IN_PROGRESS , BUSY = mcxa153::chip::MAKE_STATUS(mcxa153::chip::StatusGroup::GENERIC, 7) ,
  NO_DATA = mcxa153::chip::MAKE_STATUS(mcxa153::chip::StatusGroup::GENERIC, 8)
}
 
enum struct  StatusGroup : unsigned int {
  GENERIC = 0 , FLASH = 1 , LPSPI = 4 , FLEXIO_SPI = 5 ,
  DSPI = 6 , FLEXIO_UART = 7 , FLEXIO_I2C = 8 , LPI2C = 9 ,
  UART = 10 , I2C = 11 , LPSCI = 12 , LPUART = 13 ,
  SPI = 14 , XRDC = 15 , SEMA42 = 16 , SDHC = 17 ,
  SDMMC = 18 , SAI = 19 , MCG = 20 , SCG = 21 ,
  SDSPI = 22 , FLEXIO_I2S = 23 , FLEXIO_MCULCD = 24 , FLASHIAP = 25 ,
  FLEXCOMM_I2C = 26 , I2S = 27 , IUART = 28 , CSI = 29 ,
  MIPI_DSI = 30 , SDRAMC = 35 , POWER = 39 , ENET = 40 ,
  PHY = 41 , TRGMUX = 42 , SMARTCARD = 43 , LMEM = 44 ,
  QSPI = 45 , DMA = 50 , EDMA = 51 , DMAMGR = 52 ,
  FLEXCAN = 53 , LTC = 54 , FLEXIO_CAMERA = 55 , LPC_SPI = 56 ,
  LPC_USART = 57 , DMIC = 58 , SDIF = 59 , SPIFI = 60 ,
  OTP = 61 , MCAN = 62 , CAAM = 63 , ECSPI = 64 ,
  USDHC = 65 , LPC_I2C = 66 , DCP = 67 , MSCAN = 68 ,
  ESAI = 69 , FLEXSPI = 70 , MMDC = 71 , PDM = 72 ,
  SDMA = 73 , ICS = 74 , SPDIF = 75 , LPC_MINISPI = 76 ,
  HASHCRYPT = 77 , LPC_SPI_SSP = 78 , I3C = 79 , LPC_I2C_1 = 97 ,
  NOTIFIER = 98 , Debug_Console = 99 , SEMC = 100 , APPLICATION_RANGE_START = 101 ,
  IAP = 102 , SFA = 103 , SPC = 104 , PUF = 105 ,
  TOUCH_PANEL = 106 , VBAT = 107 , XSPI = 108 , PNGDEC = 109 ,
  JPEGDEC = 110 , HAL_GPIO = 121 , HAL_UART = 122 , HAL_TIMER = 123 ,
  HAL_SPI = 124 , HAL_I2C = 125 , HAL_FLASH = 126 , HAL_PWM = 127 ,
  HAL_RNG = 128 , HAL_I2S = 129 , HAL_ADC_SENSOR = 130 , TIMERMANAGER = 135 ,
  SERIALMANAGER = 136 , LED = 137 , BUTTON = 138 , EXTERN_EEPROM = 139 ,
  SHELL = 140 , MEM_MANAGER = 141 , LIST = 142 , OSA = 143 ,
  COMMON_TASK = 144 , MSG = 145 , SDK_OCOTP = 146 , SDK_FLEXSPINOR = 147 ,
  CODEC = 148 , ASRC = 149 , OTFAD = 150 , SDIOSLV = 151 ,
  MECC = 152 , ENET_QOS = 153 , LOG = 154 , I3CBUS = 155 ,
  QSCI = 156 , ELEMU = 157 , QUEUEDSPI = 158 , POWER_MANAGER = 159 ,
  IPED = 160 , ELS_PKC = 161 , CSS_PKC = 162 , HOSTIF = 163 ,
  CLIF = 164 , BMA = 165 , NETC = 166 , ELE = 167 ,
  GLIKEY = 168
}
 

函式

constexpr unsigned int operator+ (Status e)
 
constexpr uint32 MAKE_STATUS (StatusGroup group, uint32 code)
 狀態碼生成巨集 (Status Code Generation Macro)
 

詳細描述

Copyright (c) 2020 ZxyKira All rights reserved.

SPDX-License-Identifier: MIT

列舉型態說明文件

◆ Status

enum struct mcxa153::chip::Status : unsigned int
strong
列舉值
SUCCESS 

操作成功狀態 (Operation Success)

表示函數或操作已成功完成,所有預期功能正常執行,系統狀態穩定。 這是最理想的回傳狀態,表示可以安全地繼續後續操作。

使用場景:

  • 硬體初始化完成且通過自檢
  • 資料傳輸成功完成
  • 暫存器配置生效
  • 記憶體操作順利執行
這是唯一表示完全成功的狀態碼
FAIL 

操作失敗狀態 (General Failure)

表示操作未能按預期完成的通用失敗狀態。當無法確定具體失敗原因或 失敗情況不屬於其他特定類別時使用此狀態碼。

常見原因:

  • 硬體回應異常或無回應
  • 內部邏輯錯誤
  • 資源分配失敗
  • 未預期的系統狀態

處理建議:

  • 檢查硬體連接和電源狀態
  • 驗證系統初始化是否完成
  • 重新嘗試操作或執行系統復位
建議盡量使用更具體的錯誤狀態碼而非此通用失敗碼
READONLY 

唯讀違規狀態 (Read-Only Violation)

嘗試修改唯讀資源、受保護暫存器或需要特殊權限的系統配置時回傳。 表示當前操作違反了硬體或軟體的保護機制。

觸發情況:

  • 寫入唯讀暫存器 (如狀態暫存器)
  • 修改鎖定的配置暫存器
  • 在錯誤的系統模式下存取受保護資源
  • TrustZone 安全域權限不足

解決方案:

  • 確認操作的暫存器是否為可寫入
  • 執行必要的解鎖序列
  • 檢查當前系統權限等級
  • 參考硬體手冊確認存取條件
警告
強制嘗試修改唯讀資源可能導致系統不穩定
OUT_OF_RANGE 

範圍越界狀態 (Out of Range Access)

參數值、記憶體地址或陣列索引超出有效範圍時回傳。表示輸入值 不在系統支援的合法範圍內。

常見情況:

  • 陣列索引超出上下界
  • 記憶體地址存取越界
  • 函數參數超出有效數值範圍
  • 硬體暫存器位元場設定值過大

預防措施:

  • 在 API 呼叫前驗證參數範圍
  • 使用邊界檢查機制
  • 確認硬體規格和限制
  • 實施防禦性程式設計
此錯誤通常可透過適當的輸入驗證避免
INVALID_ARGUMENT 

無效參數狀態 (Invalid Argument)

函數參數格式錯誤、類型不匹配或參數組合無效時回傳。不同於範圍 越界,這表示參數本身的格式或邏輯有問題。

錯誤類型:

  • 空指標參數傳遞
  • 參數格式不正確
  • 互相衝突的配置組合
  • 不支援的功能選項

除錯步驟:

  • 檢查 API 文檔的參數要求
  • 驗證指標的有效性
  • 確認參數組合的相容性
  • 使用靜態程式碼分析工具
通常表示程式邏輯錯誤,需要修正呼叫程式碼
TIMEOUT 

操作逾時狀態 (Operation Timeout)

操作在預定時間內未完成,可能是硬體回應慢、系統負載過重或 硬體故障導致。

逾時原因:

  • 硬體模組回應時間過長
  • 系統匯流排競爭激烈
  • 外部裝置無回應或故障
  • 逾時設定值過小

處理策略:

  • 增加逾時時間限制
  • 檢查硬體連接狀態
  • 實施重試機制
  • 監控系統負載情況
警告
頻繁的逾時可能表示硬體故障或系統設計問題
NO_TRANSFER_IN_PROGRESS 

無進行中傳輸狀態 (No Transfer in Progress)

嘗試操作、取消或查詢不存在的傳輸作業時回傳。表示當前沒有 相關的資料傳輸或操作在進行中。

觸發條件:

  • 查詢已完成的傳輸狀態
  • 嘗試中止不存在的操作
  • 狀態查詢時機錯誤
  • 傳輸生命週期管理錯誤

避免方法:

  • 在操作前檢查傳輸狀態
  • 正確管理傳輸生命週期
  • 使用狀態機制追蹤操作進度
  • 實施操作同步機制
此狀態不一定表示錯誤,可能只是狀態查詢時機問題
BUSY 

資源忙碌狀態 (Module Busy)

硬體模組或系統資源正在執行其他操作,暫時無法處理新的請求。 這是正常的系統狀態,不表示錯誤。

忙碌情況:

  • 硬體模組正在執行先前的操作
  • 系統資源被其他任務占用
  • 中斷服務程序正在執行
  • 臨界區域正在被存取

處理方式:

  • 實施輪詢等待機制
  • 使用中斷或回呼通知
  • 採用非阻塞操作模式
  • 設定適當的重試間隔
這是暫時性狀態,通常可透過等待解決
NO_DATA 

無資料可用狀態 (No Data Available)

讀取操作時發現緩衝區為空、感測器資料未準備完成或通訊接收 緩衝區沒有內容時回傳。

無資料情況:

  • 接收緩衝區為空
  • ADC 轉換尚未完成
  • 感測器資料尚未更新
  • 非同步操作結果未就緒

應對措施:

  • 等待資料到達或生成
  • 檢查資料來源狀態
  • 使用中斷驅動的資料讀取
  • 實施資料可用性檢查
這通常是暫時狀態,需要等待或重新嘗試讀取

◆ StatusGroup

enum struct mcxa153::chip::StatusGroup : unsigned int
strong
列舉值
GENERIC 

通用狀態群組 - 適用於所有模組的基本狀態碼 (0-99)

FLASH 

Flash記憶體群組 - Flash存取、編程、擦除操作狀態 (100-199)

LPSPI 

低功耗SPI群組 - LPSPI控制器操作狀態 (400-499)

FLEXIO_SPI 

FlexIO SPI群組 - 靈活I/O SPI模式狀態 (500-599)

DSPI 

DSPI群組 - 雙SPI介面狀態 (600-699)

FLEXIO_UART 

FlexIO UART群組 - 靈活I/O UART模式狀態 (700-799)

FLEXIO_I2C 

FlexIO I2C群組 - 靈活I/O I2C模式狀態 (800-899)

LPI2C 

低功耗I2C群組 - LPI2C控制器操作狀態 (900-999)

UART 

標準UART群組 - 通用非同步收發器狀態 (1000-1099)

I2C 

標準I2C群組 - 雙線式序列介面狀態 (1100-1199)

LPSCI 

LPSCI群組 - 低功耗序列通訊介面狀態 (1200-1299)

LPUART 

低功耗UART群組 - LPUART控制器操作狀態 (1300-1399)

SPI 

標準SPI群組 - 序列外設介面狀態 (1400-1499)

XRDC 

擴展資源域控制器群組 - XRDC安全域管理狀態 (1500-1599)

SEMA42 

硬體訊號燈群組 - SEMA42多核心同步狀態 (1600-1699)

SDHC 

SD主控制器群組 - SDHC卡片存取狀態 (1700-1799)

SDMMC 

SD/MMC群組 - SD/MMC卡片操作狀態 (1800-1899)

SAI 

序列音訊介面群組 - SAI音訊傳輸狀態 (1900-1999)

MCG 

MCG時脈群組 - 多用途時脈產生器狀態 (2000-2099)

SCG 

SCG時脈群組 - 系統時脈產生器狀態 (2100-2199)

SDSPI 

SPI over SD群組 - SD卡SPI模式存取狀態 (2200-2299)

FLEXIO_I2S 

FlexIO I2S群組 - 靈活I/O I2S音訊模式狀態 (2300-2399)

FLEXIO_MCULCD 

FlexIO MCU LCD群組 - 靈活I/O LCD控制狀態 (2400-2499)

FLASHIAP 

Flash IAP群組 - Flash應用程式內編程狀態 (2500-2599)

FLEXCOMM_I2C 

FlexComm I2C群組 - 靈活通訊I2C模式狀態 (2600-2699)

I2S 

I2S音訊群組 - 雙聲道序列音訊介面狀態 (2700-2799)

IUART 

智慧UART群組 - 增強型UART介面狀態 (2800-2899)

CSI 

攝影機介面群組 - CSI影像感測器介面狀態 (2900-2999)

MIPI_DSI 

MIPI DSI群組 - MIPI顯示序列介面狀態 (3000-3099)

SDRAMC 

SDRAM控制器群組 - SDRAMC記憶體控制狀態 (3500-3599)

POWER 

電源管理群組 - 系統電源控制狀態 (3900-3999)

ENET 

乙太網路群組 - ENET網路介面狀態 (4000-4099)

PHY 

實體層群組 - PHY網路實體層狀態 (4100-4199)

TRGMUX 

觸發多工器群組 - TRGMUX訊號路由狀態 (4200-4299)

SMARTCARD 

智慧卡群組 - SMARTCARD介面操作狀態 (4300-4399)

LMEM 

本地記憶體群組 - LMEM快取控制器狀態 (4400-4499)

QSPI 

四線SPI群組 - QSPI Flash介面狀態 (4500-4599)

DMA 

直接記憶體存取群組 - DMA傳輸操作狀態 (5000-5099)

EDMA 

增強型DMA群組 - EDMA多通道傳輸狀態 (5100-5199)

DMAMGR 

DMA管理器群組 - DMAMGR資源分配狀態 (5200-5299)

FLEXCAN 

FlexCAN群組 - CAN控制器通訊狀態 (5300-5399)

LTC 

LTC加密群組 - LTC密碼學處理狀態 (5400-5499)

FLEXIO_CAMERA 

FlexIO相機群組 - 靈活I/O相機介面狀態 (5500-5599)

LPC_SPI 

LPC SPI群組 - LPC系列SPI介面狀態 (5600-5699)

LPC_USART 

LPC USART群組 - LPC系列USART介面狀態 (5700-5799)

DMIC 

數位麥克風群組 - DMIC音訊輸入狀態 (5800-5899)

SDIF 

SD介面群組 - SDIF控制器操作狀態 (5900-5999)

SPIFI 

SPI Flash介面群組 - SPIFI記憶體存取狀態 (6000-6099)

OTP 

OTP群組 - 一次性可編程記憶體狀態 (6100-6199)

MCAN 

MCAN群組 - CAN FD控制器狀態 (6200-6299)

CAAM 

CAAM群組 - 密碼學加速和保障模組狀態 (6300-6399)

ECSPI 

增強型CSPI群組 - ECSPI序列介面狀態 (6400-6499)

USDHC 

超高速SD群組 - USDHC控制器狀態 (6500-6599)

LPC_I2C 

LPC I2C群組 - LPC系列I2C介面狀態 (6600-6699)

DCP 

資料共同處理器群組 - DCP加密處理狀態 (6700-6799)

MSCAN 

MSCAN群組 - 可擴展CAN控制器狀態 (6800-6899)

ESAI 

增強型音訊群組 - ESAI多聲道音訊狀態 (6900-6999)

FLEXSPI 

FlexSPI群組 - 靈活序列外設介面狀態 (7000-7099)

MMDC 

MMDC群組 - 多模式DDR控制器狀態 (7100-7199)

PDM 

PDM群組 - 脈波密度調製麥克風狀態 (7200-7299)

SDMA 

SDMA群組 - 智慧直接記憶體存取狀態 (7300-7399)

ICS 

ICS群組 - 內部時脈源狀態 (7400-7499)

SPDIF 

SPDIF群組 - 數位音訊介面狀態 (7500-7599)

LPC_MINISPI 

LPC Mini SPI群組 - LPC系列迷你SPI介面狀態 (7600-7699)

HASHCRYPT 

雜湊加密群組 - HASHCRYPT安全處理狀態 (7700-7799)

LPC_SPI_SSP 

LPC SPI SSP群組 - LPC系列SPI/SSP介面狀態 (7800-7899)

I3C 

I3C群組 - 改進的雙向雙線介面狀態 (7900-7999)

LPC_I2C_1 

LPC I2C 1群組 - LPC系列I2C介面1狀態 (9700-9799)

NOTIFIER 

通知器群組 - NOTIFIER事件通知狀態 (9800-9899)

Debug_Console 

除錯控制台群組 - Debug Console除錯介面狀態 (9900-9999)

SEMC 

SEMC群組 - 智慧外部記憶體控制器狀態 (10000-10099)

APPLICATION_RANGE_START 

應用程式群組起始點 - 自定義應用層狀態群組的起始編號 (10100+)

IAP 

IAP群組 - 應用程式內編程介面狀態 (10200-10299)

SFA 

SFA群組 - 安全韌體認證狀態 (10300-10399)

SPC 

SPC群組 - 系統電源控制器狀態,MCXA153電源管理核心 (10400-10499)

PUF 

PUF群組 - 實體不可複製函數,硬體安全金鑰生成狀態 (10500-10599)

TOUCH_PANEL 

觸控面板群組 - 電容式觸控感測器介面狀態 (10600-10699)

VBAT 

VBAT群組 - 電池供電域控制,MCXA153低功耗核心功能 (10700-10799)

XSPI 

XSPI群組 - 擴展SPI介面,支援多種Flash記憶體 (10800-10899)

PNGDEC 

PNG解碼器群組 - PNG圖像解碼處理狀態 (10900-10999)

JPEGDEC 

JPEG解碼器群組 - JPEG圖像解碼處理狀態 (11000-11099)

HAL_GPIO 

HAL GPIO群組 - GPIO硬體抽象層狀態 (12100-12199)

HAL_UART 

HAL UART群組 - UART硬體抽象層狀態 (12200-12299)

HAL_TIMER 

HAL定時器群組 - 定時器硬體抽象層狀態 (12300-12399)

HAL_SPI 

HAL SPI群組 - SPI硬體抽象層狀態 (12400-12499)

HAL_I2C 

HAL I2C群組 - I2C硬體抽象層狀態 (12500-12599)

HAL_FLASH 

HAL Flash群組 - Flash硬體抽象層狀態 (12600-12699)

HAL_PWM 

HAL PWM群組 - PWM硬體抽象層狀態 (12700-12799)

HAL_RNG 

HAL隨機數群組 - RNG硬體抽象層狀態 (12800-12899)

HAL_I2S 

HAL I2S群組 - I2S硬體抽象層狀態 (12900-12999)

HAL_ADC_SENSOR 

HAL ADC感測器群組 - ADC感測器硬體抽象層狀態 (13000-13099)

TIMERMANAGER 

定時器管理器群組 - 定時器資源管理狀態 (13500-13599)

SERIALMANAGER 

序列管理器群組 - 序列埠資源管理狀態 (13600-13699)

LED 

LED群組 - LED控制和狀態管理 (13700-13799)

BUTTON 

按鈕群組 - 按鈕輸入和事件處理狀態 (13800-13899)

EXTERN_EEPROM 

外部EEPROM群組 - 外部EEPROM存取狀態 (13900-13999)

SHELL 

命令殼層群組 - Shell命令處理狀態 (14000-14099)

MEM_MANAGER 

記憶體管理器群組 - 動態記憶體分配狀態 (14100-14199)

LIST 

串列群組 - 串列資料結構操作狀態 (14200-14299)

OSA 

作業系統抽象層群組 - OSA介面狀態 (14300-14399)

COMMON_TASK 

共用任務群組 - 通用任務處理狀態 (14400-14499)

MSG 

訊息群組 - 訊息傳遞和處理狀態 (14500-14599)

SDK_OCOTP 

SDK OCOTP群組 - 一次性可編程記憶體SDK狀態 (14600-14699)

SDK_FLEXSPINOR 

SDK FlexSPI NOR群組 - FlexSPI NOR Flash SDK狀態 (14700-14799)

CODEC 

編解碼器群組 - 音訊編解碼器狀態 (14800-14899)

ASRC 

ASRC群組 - 非同步取樣率轉換器狀態 (14900-14999)

OTFAD 

OTFAD群組 - 即時Flash解密狀態 (15000-15099)

SDIOSLV 

SDIO從屬群組 - SDIO從屬裝置狀態 (15100-15199)

MECC 

MECC群組 - 記憶體錯誤檢查和校正狀態 (15200-15299)

ENET_QOS 

乙太網路QoS群組 - ENET服務品質狀態 (15300-15399)

LOG 

日誌群組 - 系統日誌記錄狀態 (15400-15499)

I3CBUS 

I3C匯流排群組 - I3C匯流排管理狀態 (15500-15599)

QSCI 

QSCI群組 - 四線序列通訊介面狀態 (15600-15699)

ELEMU 

ELEMU群組 - 元素模擬器狀態 (15700-15799)

QUEUEDSPI 

佇列SPI群組 - 佇列式SPI傳輸狀態 (15800-15899)

POWER_MANAGER 

電源管理器群組 - 系統電源管理狀態 (15900-15999)

IPED 

IPED群組 - 內嵌式處理元件偵錯狀態 (16000-16099)

ELS_PKC 

ELS PKC群組 - EdgeLock安全公鑰密碼學狀態 (16100-16199)

CSS_PKC 

CSS PKC群組 - 密碼學安全服務公鑰狀態 (16200-16299)

HOSTIF 

主機介面群組 - HOSTIF主機通訊介面狀態 (16300-16399)

CLIF 

CLIF群組 - 接觸式和非接觸式介面狀態 (16400-16499)

BMA 

BMA群組 - 匯流排矩陣仲裁器狀態 (16500-16599)

NETC 

NETC群組 - 網路時間控制器狀態 (16600-16699)

ELE 

ELE群組 - EdgeLock Enclave安全處理狀態 (16700-16799)

GLIKEY 

GLIKEY群組 - 全域介面金鑰管理狀態 (16800-16899)

函式說明文件

◆ MAKE_STATUS()

uint32 mcxa153::chip::MAKE_STATUS ( StatusGroup group,
uint32 code )
inlineconstexpr

狀態碼生成巨集 (Status Code Generation Macro)

根據狀態群組和錯誤代碼生成統一格式的狀態碼。此巨集為 MCXA153 系統 提供標準化的狀態碼格式,確保不同模組間的狀態碼不會重複或衝突。

狀態碼格式設計:

  • 使用群組編號乘以 100 作為基礎值
  • 加上具體的錯誤代碼 (0-99範圍)
  • 每個群組可容納 100 個狀態碼
  • 提供清晰的分層式狀態管理

計算公式:

狀態碼 = (群組編號 × 100) + 錯誤代碼

使用範例:

  • GENERIC 群組 (0) + SUCCESS (0) = 0
  • GENERIC 群組 (0) + FAIL (1) = 1
  • FLASH 群組 (1) + ERROR (5) = 105
  • LPSPI 群組 (4) + TIMEOUT (10) = 410
參數
group狀態群組枚舉值,定義狀態碼的分類
code具體錯誤代碼,範圍通常為 0-99
傳回值
uint32 生成的唯一狀態碼
此巨集為編譯時期常數表達式,不產生執行時期開銷
群組編號和錯誤代碼應保持在合理範圍內避免溢位
參閱
StatusGroup 枚舉定義各群組的編號分配
Status 枚舉使用此巨集生成標準狀態碼