您好,
我想 从主域内的 r5f 访问 ECC 聚合器地址。 代码是
result = SDL_ECC_init(SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR0, &ECC_Test_MAINMSMCA0ECCInitConfig);
我使用 osal_interface 初始化 OSAL、并使用它的 addrTranslate 函数 SDL_test_addrTranslate。
#define PBIST_RAT_CFG_BASE CSL_MCU_ARMSS_RAT_CFG_BASE
static SDL_OSAL_Interface osal_interface =
{
.enableInterrupt = (pSDL_OSAL_interruptFunction) SDL_enableInterrupt,
.disableInterrupt = (pSDL_OSAL_interruptFunction) SDL_disableInterrupt,
.registerInterrupt = (pSDL_OSAL_registerFunction) SDL_registerInterrupt,
.deregisterInterrupt = (pSDL_OSAL_deregisterFunction) HwiP_delete,
.globalDisableInterrupts = (pSDL_OSAL_globalDisableInterruptsFunction) SDL_globalDisableInterrupts,
.globalRestoreInterrupts = (pSDL_OSAL_globalRestoreInterruptsFunction) SDL_globalRestoreInterrupts,
.printFxn = (pSDL_OSAL_printFunction) printf,
.delay = (pSDL_OSAL_delayFunction) Osal_delay,
.addrTranslate = (pSDL_OSAL_addrTranslateFunction) SDL_TEST_addrTranslate
};
ret = SDL_OSAL_init(&osal_interface);
但是、当我运行此应用程序时、它在 CSL_ratDisableRegionTranslation 函数中挂起。
总体调用关系如下:
SDL_ECC_init
SDL_ECC_mapEccAggrReg
SDL_OSAL_addrTranslate
gOSAL_Interface->addrTranslate
SDL_TEST_addrTranslate
CSL_ratDisableRegionTranslation
CSL_ratGetMaxRegions
CSL_REG32_FEXT
我需要以下方面的帮助:
1) 1)在 TDA4芯片上、我找到了名为 CSL_MCU_ARMSS_RAT_CFG_BASE 的 RAT 寄存器是否正确?
2) 2)我参考 SDL 编写的上述代码是否存在任何问题? 为什么它在 RAT 地址转换函数中挂起?


