本帖最后由 hayden0 于 2022-3-2 18:53 编辑
昨天点了LED灯,发现国民技术的支持包里并没有对FreeRTOS操作系统的支持,闪灯程序用的还是死循环延时,这台对不起M4F内核了,主频108Mhz性能全浪费在延时的循环上,不!
所以费了点功夫我自己重建了一个新的工程,然后移植了FreeRTOS操作系统,并再次点了灯。
新建Keil MDK工程
1、新建工程,芯片选择N32L436RB
2、编译器选择版本5,勾选Use MicroLIB
3、选择create HEX file选项,方便以后使用(可选)
4、C/C++的define栏填写N32L43X, USE_STDPERIPH_DRIVER
5、debug调试器选择CMSIS-DAP
6、flash download选项下选择Rest and run
7、把官网例程的firmware文件夹复制到新建工程
8、自建工程目录USER,把历程里的main.c和n32l43x_it.c及其他们的头文件复制进去
9、在工程里新建对应目录添加经所需c文件
10、添加所有所需的头文件文件夹目录
11、编译烧录验证
移植FreeRTOS操作系统
1、github下载最新的freertos包
2、解压后把Source重命名为FreeRTOS放到n32工程根目录
3、复制Demo文件夹中对应内核工程的FreeRTOSConfig.h头文件到我们移植的FreeRTOS/include文件夹下
4、FreeRTOS/portable文件夹下保留以下三个文件夹,在工程加入其中的C文件并添加头文件目录
5、修改FreeRTOSConfig.h头文件
6、在keil mdk软件工程目录新建FREERTOS组,添加所有c文件
7、在C/C++的define头文件目录下添加所有头文件所在的目录
8、在main.c中添加#include "FreeRTOS.h"#include "task.h"包含头文件
9、新建LED闪烁任务,并在main主函数添加任务代码
10、编译运行验证,发现错误就屏蔽n32l43x_it.c中的代码,因为FreeRTOS中已经定义使用过了
@21小跑堂
|