您现在的位置是:首页 >技术教程 >【RISCV】RISCV e-906实现Tickless网站首页技术教程

【RISCV】RISCV e-906实现Tickless

gfanbei 2024-09-23 00:01:04
简介【RISCV】RISCV e-906实现Tickless

Tickless 最初设计的思想是,能被任务唤醒,也能被中断唤醒
参考文章:
freeRTOS 低功耗模式 和 空闲任务
FreeRTOS源码分析与应用开发09:低功耗Tickless模式
FreeRTOS学习十(低功耗)
【STM32】NVIC与中断控制 之 sysTick定时器

M3,M4实现tickleess的做法:
M3,M4的机制: 1.在空闲任务中记录当前计数值 2.利用systick 做一个定时器,
定时时间为下一个应用层到来的时间 3. 补偿(补偿低功耗所占用的时间, 复原tick前后代码操作耗时
不同唤醒源的补偿,没看明白不同唤醒源的补偿有啥不同)
在这里插入图片描述
tickless机制主要体现在这个函数:
#define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime )

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。