摘要: 1> configMAX_SYSCALL_INTERRUPT_PRIORITY 是一个重要的配置选项,用于在FreeRTOS中指定最高可以被系统调用中断的任务优先级。 这个配置项决定了哪些中断可以在执行系统调用(例如任务切换、信号量获取/释放等)时打断任务。 2> 在FreeRTOS中,带有"Fro 阅读全文
posted @ 2024-08-15 18:29 不惑而已 阅读(970) 评论(0) 推荐(0)
摘要: 自己在keil中搭建GD32工程后,编译会提示找不到“RTE_Components.h“这个文件。这个文件需要使用keil自动生成工程的方式才会有。 如果自己手动搭建工程时,GD32的库文件中是没有提示这个文件的。 那GD32的例程为什么不会报错呢?看一下例程就会发现。其它GD32提示的例程里面是没 阅读全文
posted @ 2024-08-15 17:07 不惑而已 阅读(1758) 评论(0) 推荐(0)
摘要: 如果keil使用的是AC5编译器,则可以使用如下简单语句定义变量到固定地址,RAM变量和ROM变量均适用。 #define ADDRESS 0x20001F80 int x1 __attribute__((at(ADDRESS))); 如果是使用的AC6编译器,那么以上的用法就不行了。语法和方法都变 阅读全文
posted @ 2024-05-14 16:57 不惑而已 阅读(2288) 评论(0) 推荐(0)
摘要: STM32的启动文件中定义的栈和堆的大小,由于栈是向下生长的。所以我们一般希望将栈顶设置为RAM的最高有效地址。这样就可以最大限度保护栈不会溢出。但是STM32的启动文件居然不是这样的思路。 那STM32的启动文件的分配思路是怎么样的呢。它其实是先确定用户使用RAM的情况,然后在未使用的RAM地址开 阅读全文
posted @ 2024-05-14 16:49 不惑而已 阅读(1125) 评论(0) 推荐(0)
摘要: ; FLASH起始址 FLASH大小 LR_IROM1 0x0800 0000 0x000F 0000 ;这行描述的是编译后的执行代码存放在FLASH的哪地址,FLASH大小是多少。LR_IROM1是段名,随便写 { ER_IROM1 0x0800 0000 0x000F 0000 ;这行描述了一个 阅读全文
posted @ 2024-05-14 16:40 不惑而已 阅读(608) 评论(0) 推荐(0)
摘要: 没什么特别的,记录下这一时刻! 阅读全文
posted @ 2024-05-11 18:56 不惑而已 阅读(7) 评论(0) 推荐(0)