打印
[N32L4xx]

国民技术N32L436RB单片机新建工程和FreeRTOS操作系统移植②

[复制链接]
1146|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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小跑堂


使用特权

评论回复
沙发
Sunriver_Yao| | 2022-3-4 09:44 | 只看该作者
哪里可以下载?

使用特权

评论回复
板凳
两只袜子| | 2022-3-7 09:29 | 只看该作者

官网

使用特权

评论回复
地板
单片小菜| | 2022-3-7 10:34 | 只看该作者
现在这种操作系统,应该是主流的操作系统哦

使用特权

评论回复
5
minzisc| | 2022-7-9 12:22 | 只看该作者
源代码哪里下载呢  

使用特权

评论回复
6
mituzu| | 2022-7-9 14:23 | 只看该作者
FreeRTOS操作系统占用空间大吗  

使用特权

评论回复
7
jkl21| | 2022-7-9 14:43 | 只看该作者
需要自己移植吗?  

使用特权

评论回复
8
sljzyjj| | 2022-7-10 11:22 | 只看该作者
FreeRTOS占用多大空间?

使用特权

评论回复
9
萝卜头008| | 2022-7-11 10:06 | 只看该作者
ram 够用吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

284

帖子

3

粉丝