- 博客(6)
- 收藏
- 关注
原创 stm32f1查看某段程序运行时间
5、假设要读取142到145的时间,在145行打上断点,在界面右下角的t1处右键,点击reset stop watch(t1)重置时间,然后点击RUN按钮(见下图);1、魔术棒->Debug->Settings->Trace->勾选Trace Enable->core clock 72MHz;6、查看右下角时间,142行到145行的时间为0.03936740sec,也就是39ms。3、标记到对应程序最开始的那一行,打一个红点,这里在142上打了一个红点;4、点击跳到对应程序;
2024-12-11 16:09:54
313
原创 关于keil MDK编译没问题,但是所有头文件左边显示error
尝试了网上很多方法,包括关于路径修改的问题,没啥用。解决方法:.uvprojx文件的绝对路径改成英文可解决。
2024-12-10 17:58:54
112
原创 关于freertos的实时性心得
答案是会继续运行接下来的70%,记得在运行任务切换时,通过压栈和出栈会将任务的“现场”进行保留,保证了实时性。今天在学Freertos时,我在想:如果任务A和任务B的优先级相同,使用相同的时间片,当任务A运行到30%就时间到了,那么当结束任务B之后,任务A是从哪开始运行,是运行接下来的70%吗?按照我的理解,这个实时性是以人为参照标准的,由于人的肉体无法捕捉到任务切换的瞬间,于是就有种感觉任务是并行的,但我认为实际上还是串行的,跟显示屏、呼吸灯的差不多。
2024-01-16 12:09:01
490
1
原创 FreeRTOS移植正点原子malloc.h报错:.\Objects\project.axf: Error: L6406E: No space in execution regions with
找了很久的博客都没有找到解决方法,都是互相抄袭,直到我看到了。1.FreeRtosConfig.h文件中。2.malloc.h文件中。
2024-01-16 10:48:02
1105
1
原创 freertos任务切换汇编代码摘要
最近在学任务切换的时候不懂任务切换的具体原理是什么、怎么实现的,所以卡了一段时间。(因为M3中没有r14,我就不说r14了)(以上为保存现场,方便后续使用)以上是我浅薄的理解,至于更深层次的东西我想到真正做项目的时候再进行深度剖析。4、进入临界区,更新任务控制块,退出临界区。5、把新的任务控制块的首地址(栈顶地址)的时候,首先把任务控制块的地址赋值给。(任务控制块的首地址)的地址赋值给。,将任务控制块的首地址赋值给。,通过硬件自动恢复,返回到。2、r0任务栈指针将任务。
2024-01-15 17:19:01
481
1
原创 delay_xms(5000)实际延时40秒的问题
在使用串口发送之后lose interrupt successfully与open interrupt successfully之间的时间间隔相差正好四十秒,我意识到可能是时钟分频的问题,于是去改了滴答定时器延时中的HCLK,改成了HCLK_DIV8,发现没有任何改变,于是调试了半天。直到我尝试去删除FreeRTOSConfig.h中的#define configSYSTICK_CLOCK_HZ (configCPU_CLOCK_HZ/8),将HCLK_DIV8还原成HCLK,延时才变正常。
2024-01-09 11:56:30
516
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人