- 博客(3)
- 收藏
- 关注
原创 ARMv8架构 CortexR52+ 内核 coresight_soc400介绍
CTI input/output trigger/channel的含义:上图可以看出trigger是PE(Process Element)和CTI组件之间的桥梁,而channel是CTM和CTI组件之间的桥梁。这个事件是一个输入到处理器的触发事件。当这个事件assert时,PE进入调试状态。该事件(ctitrigout)通过CoreSight的CTI组件产生调试状态是外部调试模型的基础,外部调试器对调试逻辑进行编程,以在发生调试事件时触发调试状态。外部调试又被称为暂停调试模式。
2024-12-09 00:28:26
2266
原创 GD32F303MCU代码量增大后代码执行速度变慢的问题
原来这问题是GD32F系列产品架构导致的,其采用了SIP的方式叠封了GD Flash,GD32内部FLASH分为CODE区和DATA区,其中CODE区的代码运行速度较快,而DATA区的代码运行速度比CODE区慢了一个数量级!目前我知道的有两种方法,一种是换块FLASH空间更大的芯片,另一种就是用分散加载方式,将实时性要求高的代码,如中断响应函数存放在CODE区,而实时性要求低的代码放在DATA区。果然,再稀奇古怪的bug总有人能遇到跟你同样的现象,我还真找到了一篇帖子解决了我的困惑。
2024-04-21 22:54:59
785
1
原创 延时函数从裸机到FreeRTOS的移植(超详细)
FreeRTOS的延时函数vTaskDelay()和vTaskDelayUntil()可以通过任务调度在延时的进入阻塞态,执行其它任务,提高CPU利用率,但是任务调度需要花费时间,尤其是频繁的任务调度会浪费大量时间,微秒级或者精度更高的延时也会造成较大的延时误差。FreeRTOS的延时函数CPU利用率高,但执行效率低,裸机的延时函数执行效率高,但CPU利用率低,因此在选择操作系统和裸机的延时函数时需要我们去权衡利弊。
2023-12-16 12:52:27
2012
5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人