打印

stm32F767 使用DWT一点问题

[复制链接]
285|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一片混沌|  楼主 | 2018-8-3 10:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm32F767 使用DWT 来设计延时函数  ,程序如下  初始化  ,但是 我只有在使用jlink调试器的时候  才起作用。 关机 ,拿掉jlink 重新启动的话 ,dwt不计数 了 。就是说 才调试情况下 ,这dwt才工作 。我怀疑过M4
内核可能和M7不一样  ,查了 头文件,还有  ARMV7-M Architecture Reference Manual。 看寄存器的地址什么的都是一样的。
但是就是不行  这个在429上面运行就没啥问题。。。。。。  有谁用过的吗?指教一下  谢谢
(使用的是 Eric的 429 上面的程序原型 )


#define  DWT_CYCCNT  *((volatile unsigned int *)0xE0001004)
#define  DWT_CR      *((volatile unsigned int *)0xE0001000)
#define  DEM_CR      *((volatile unsigned int *)0xE000EDFC)
#define  DBGMCU_CR   *((volatile unsigned int *)0xE0042004)
#define  ITM_LAR     *((volatile unsigned int *)0xE0000FB0)
#define  DEM_CR_TRCENA               (1 << 24)
#define  DWT_CR_CYCCNTENA            (1 <<  0)


void bsp_DWT_Init(void)
{
        //ITM_LAR         = 0xC5ACCE55;
        DEM_CR         |= (unsigned int)DEM_CR_TRCENA;   /* Enable Cortex-M4's DWT CYCCNT reg.  */
        //ITM_LAR         = 0xC5ACCE55;
        DWT_CYCCNT      = (unsigned int)0u;
        DWT_CR         |= (unsigned int)DWT_CR_CYCCNTENA;
}

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

391

主题

391

帖子

0

粉丝