Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

SLEEP&NVDS

21

积分

0

威望

0

贡献

技术小白

积分
21

SLEEP&NVDS

发表于 2015-7-16 16:29:41      浏览:14850 | 回复:10        打印      只看该作者   [复制链接] 楼主
请问
在开NVDS读写的功能后
进休眠模式就不能唤醒
这是哪边的问题
我有修改  sleep_init
   // power down all unretention memory all the time.
    // if you want to use the unretention memory in the active mode, remove the following snippet.
   // syscon_SetPGCR1WithMask(QN_SYSCON,
                           // (SYSCON_MASK_DIS_MEM1
                           // | SYSCON_MASK_DIS_MEM2
                           // | SYSCON_MASK_DIS_MEM3
                           // | SYSCON_MASK_DIS_MEM4
                           // | SYSCON_MASK_DIS_MEM5
                           // | SYSCON_MASK_DIS_MEM6
                          // | SYSCON_MASK_DIS_MEM7),
                           // QN_MEM_UNRETENTION);

不然会卡在 HardFault_Handler
但现在还是没办法唤醒

可是用J-LINK DEBUG 可以唤醒

这是什么问题?


回复

使用道具 举报

400

积分

0

威望

0

贡献

注册会员

Rank: 8Rank: 8

积分
400
QQ
发表于 2015-7-16 16:35:28        只看该作者  沙发
我也是开启了NVDS读写啊,什么都没改就可以进入休眠和唤醒:o,你还修改了什么吗?
没个性,不签名!
回复

使用道具 举报

21

积分

0

威望

0

贡献

技术小白

积分
21
发表于 2015-7-16 19:28:48        只看该作者  板凳
我是用QBLUE1.35B里头的prj_hrps
改了
/// NVDS WRTIE SUPPORT
#define CFG_NVDS_WRITE
就不能用了

仿真调试會卡在HardFault_Handler
回复

使用道具 举报

46

积分

0

威望

0

贡献

游客

积分
46
发表于 2015-7-16 22:52:21        只看该作者  地板
ffl86 发表于 2015-7-16 19:28
我是用QBLUE1.35B里头的prj_hrps
改了
/// NVDS WRTIE SUPPORT

有没有跟进代码调试看一下卡在哪里了?还有你的优化等级不要打太高,否则很容易会卡在sleep_init这里;:lol
回复

使用道具 举报

21

积分

0

威望

0

贡献

技术小白

积分
21
发表于 2015-7-17 11:08:10        只看该作者  5#
卡在   wakeup_by_sleep_timer(__32K_TYPE); 里的


__STATIC_INLINE void syscon_SetPGCR2WithMask(QN_SYSCON_TypeDef *SYSCON, uint32_t mask, uint32_t value)
{
     __wr_reg_with_msk((uint32_t)&SYSCON->PGCR2, mask, value);
}


优化等级 LEVEL3
回复

使用道具 举报

46

积分

0

威望

0

贡献

游客

积分
46
发表于 2015-7-17 12:11:56        只看该作者  6#
ffl86 发表于 2015-7-17 11:08
卡在   wakeup_by_sleep_timer(__32K_TYPE); 里的

你试试降低优化等级看看:)
回复

使用道具 举报

400

积分

0

威望

0

贡献

注册会员

Rank: 8Rank: 8

积分
400
QQ
发表于 2015-7-17 14:50:02        只看该作者  7#
ffl86 发表于 2015-7-16 19:28
我是用QBLUE1.35B里头的prj_hrps
改了
/// NVDS WRTIE SUPPORT

我对例程中的prj_hrps仅仅做了的打开NVDS WRTIE SUPPORT的修改,如下图所示,编译后可以正常运行。并没有出现你所说的卡在睡眠中的情况。你是不是还有修改过哪里呢?有没有使用git?使用了的话可以用git查看一下修改,给个补丁我帮你看看。

没个性,不签名!
回复

使用道具 举报

21

积分

0

威望

0

贡献

技术小白

积分
21
发表于 2015-7-20 10:30:27        只看该作者  8#
git还不太会用

整包丢上来........
链接:http://pan.baidu.com/s/1i3vlZvR 密码:lwqm

回复

使用道具 举报

400

积分

0

威望

0

贡献

注册会员

Rank: 8Rank: 8

积分
400
QQ
发表于 2015-7-20 11:13:24        只看该作者  9#
1.你用的例程不是FireBLE的源码,是SDK中的源码。我只进行了是否可以开机初始化的测试。
2.在usr_config.h中修改以下位置:
/// Memory retention
#define CFG_MEM_RETENTION   (MEM_BLOCK1 | MEM_BLOCK2 | MEM_BLOCK3 | MEM_BLOCK6 | MEM_BLOCK7)
开启MEM_BLOCK3后sleep_init才能过。
3.警告部分,建议如下修改
#if QN_NVDS_WRITE       
        char *test1="Helon";
        uint8_t test2[5]={0};
        nvds_tag_len_t length=strlen(test1);
       
if (NVDS_OK==nvds_put(NVDS_TAG_WR_TESET,length,(uint8_t *)test1))
{
        nvds_get(NVDS_TAG_WR_TESET,&length,test2);
}
#endif
没个性,不签名!
回复

使用道具 举报

21

积分

0

威望

0

贡献

技术小白

积分
21
发表于 2015-7-20 14:22:19        只看该作者  10#
可以动了!!!

#define CFG_MEM_RETENTION
请问这是在设定?
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表