高中生
最后登录1970-1-1
在线时间 小时
注册时间2018-7-25
|
本帖最后由 zdx61115 于 2018-10-16 16:23 编辑
以下情况均在程序签名和加密的状态下进行的。
RTC例程在没有进行签名和加密的状态是可以运行的(使用另一块没有签名板子测试的),签了名的板子RTC便无法正常启动了,同时测试外部32.768KHz晶振也正常起振。
有大佬知道这是怎么回事吗?
卡死位置:fsl_snvs_hp.h 文件SNVS_HP_RTC_StartTimer函数的 while 中,代码如下:
[mw_shl_code=c,true]static inline void SNVS_HP_RTC_StartTimer(SNVS_Type *base)
{
base->HPCR |= SNVS_HPCR_RTC_EN_MASK;
while (!(base->HPCR & SNVS_HPCR_RTC_EN_MASK))
{
}
}
[/mw_shl_code]
RTC初始化流程如下:
[mw_shl_code=c,true]void RTC_init(void)
{
snvs_hp_rtc_datetime_t rtcDate;
snvs_hp_rtc_config_t snvsRtcConfig;
/* Init SNVS */
/*
* snvsConfig->rtccalenable = false;
* snvsConfig->rtccalvalue = 0U;
* snvsConfig->srtccalenable = false;
* snvsConfig->srtccalvalue = 0U;
* snvsConfig->PIFreq = 0U;
*/
SNVS_HP_RTC_GetDefaultConfig(&snvsRtcConfig);
RTC_DUMP("Option SNVS_HP_RTC_Init");
SNVS_HP_RTC_Init(SNVS, &snvsRtcConfig);
/* Set a start date time and start RT */
rtcDate.year = 2018U;
rtcDate.month = 6U;
rtcDate.day = 6U;
rtcDate.hour = 18U;
rtcDate.minute = 0;
rtcDate.second = 0;
RTC_DUMP("Option SNVS_HP_RTC_SetDatetime");
/* Set RTC time to default time and date and start the RTC */
SNVS_HP_RTC_SetDatetime(SNVS, &rtcDate);
RTC_DUMP("Option SNVS_HP_RTC_StartTimer");
SNVS_HP_RTC_StartTimer(SNVS);
}
[/mw_shl_code]
|
|