SOC驱动程序允许应用程序开发人员使用以下子模块
• MSS RCM
• MSS TOP RCM
• DSS/DSS2 REG
• MSS GPCFG
SOC驱动程序需要在整个系统中初始化一次,是通过使用SOC_init()来完成的。如果不调用这个API,SOC的其他API就不可以被使用
函数说明
SOC_init函数
函数原型:
SOC_Handle SOC_init ( SOC_Cfg * ptrCfg,
int32_t * errCode
)
函数功能:
该函数用于初始化和设置SOC驱动程序。如果应用程序需要系统时钟配置,则该功能将解除BSS的锁定,并等待APLL校准完成
参数说明:
[in]ptrCfg:指向SOC配置的指针
[out]errCode:错误时产生的错误代码
函数返回值:
当执行成功的话,返回值为SOC驱动的指针,当执行错误的话,返回值为NULL
SOC_registerSysIntListener函数
函数原型:
SOC_SysIntListenerHandle SOC_registerSysIntListener ( SOC_Handle handle,
SOC_SysIntListenerCfg * ptrListenerCfg,
int32_t * errCode
)
函数功能:
该函数用于为系统中断注册监听器。可以将多个监听器连接到系统中断,一旦触发中断,SOC模块将确保调用注册的监听器
参数说明:
[in]handle:SOC模块的handle
[in]ptrListenerCfg:指向监听器配置的指针
[out]errCode:错误时产生的错误代码
函数返回值:
当执行成功的话,返回值为系统中断监听器的句柄,当执行错误的话,返回值为NULL
SOC_SysIntListenerCfg结构体:
typedef struct SOC_SysIntListenerCfg_t
{
/**
* @brief
* System interrupt on which the listener is to be registered
*/
uint32_t systemInterrupt;
/**
* @brief
* Listener Function to be registered
*/
SOC_SysIntListenerFxn listenerFxn;
/**
* @brief
* Optional argument with which the listener function is to be invoked on
* an ISR
*/
uintptr_t arg;
}SOC_SysIntListenerCfg;
参考文献:
- 《mmWave SDK Module Documentation》