浏览代码

Merge pull request #165 from FrankBoesing/patch-1

Access Q-bit from c
dds
Paul Stoffregen 8 年前
父节点
当前提交
61b271f570
共有 1 个文件被更改,包括 17 次插入0 次删除
  1. +17
    -0
      utility/dspinst.h

+ 17
- 0
utility/dspinst.h 查看文件

@@ -333,6 +333,23 @@ static inline int32_t substract_32_saturate(uint32_t a, uint32_t b)
return out;
}

//get Q from PSR
static inline uint32_t get_q_psr(void) __attribute__((always_inline, unused));
static inline uint32_t get_q_psr(void)
{
uint32_t out;
asm volatile("mrs %0, APSR" : "=r" (out));
return (out & 0x8000000)>>27;
}

//clear Q BIT in PSR
static inline void clr_q_psr(void) __attribute__((always_inline, unused));
static inline void clr_q_psr(void)
{
uint32_t t;
asm volatile("mrs %0,APSR " : "=r" (t));
asm volatile("bfc %0, #27, #1" : "=r" (t));
asm volatile("msr APSR_nzcvq,%0" : "=r" (t));
}

#endif

正在加载...
取消
保存