- 博客(2)
- 收藏
- 关注
原创 GD32F303MCU代码量增大后代码执行速度变慢的问题
原来这问题是GD32F系列产品架构导致的,其采用了SIP的方式叠封了GD Flash,GD32内部FLASH分为CODE区和DATA区,其中CODE区的代码运行速度较快,而DATA区的代码运行速度比CODE区慢了一个数量级!目前我知道的有两种方法,一种是换块FLASH空间更大的芯片,另一种就是用分散加载方式,将实时性要求高的代码,如中断响应函数存放在CODE区,而实时性要求低的代码放在DATA区。果然,再稀奇古怪的bug总有人能遇到跟你同样的现象,我还真找到了一篇帖子解决了我的困惑。
2024-04-21 22:54:59 249
原创 延时函数从裸机到FreeRTOS的移植(超详细)
FreeRTOS的延时函数vTaskDelay()和vTaskDelayUntil()可以通过任务调度在延时的进入阻塞态,执行其它任务,提高CPU利用率,但是任务调度需要花费时间,尤其是频繁的任务调度会浪费大量时间,微秒级或者精度更高的延时也会造成较大的延时误差。FreeRTOS的延时函数CPU利用率高,但执行效率低,裸机的延时函数执行效率高,但CPU利用率低,因此在选择操作系统和裸机的延时函数时需要我们去权衡利弊。
2023-12-16 12:52:27 964 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人