野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9820|回复: 5

RTC例程在加密和签名之后卡死在启动RTC计数器中【已解决】

[复制链接]
发表于 2018-10-11 14:52:57 | 显示全部楼层 |阅读模式
本帖最后由 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]

回复

使用道具 举报

发表于 2018-10-12 09:08:06 | 显示全部楼层
RTC还会影响加密?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-12 10:22:48 | 显示全部楼层

不知道啊,但是目前是这个状态。。。所以想问问有没有人也遇到过,或者知道这个问题怎么解决
回复 支持 反对

使用道具 举报

发表于 2018-10-16 14:08:15 | 显示全部楼层
试试注释掉这个//base->HPCOMR |= SNVS_HPCOMR_NPSWA_EN_MASK | SNVS_HPCOMR_SW_SV_MASK;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-16 14:39:07 | 显示全部楼层
cancore 发表于 2018-10-16 14:08
试试注释掉这个//base->HPCOMR |= SNVS_HPCOMR_NPSWA_EN_MASK | SNVS_HPCOMR_SW_SV_MASK;

嗯,注释掉这句话之后RTC就可以正常启动了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-16 14:39:32 | 显示全部楼层
非常感谢大佬!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-27 20:25 , Processed in 0.061289 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表