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

[复制链接]
2293|9
 楼主| hayden0 发表于 2022-3-2 18:49 | 显示全部楼层 |阅读模式
本帖最后由 hayden0 于 2022-3-2 18:53 编辑

       昨天点了LED灯,发现国民技术的支持包里并没有对FreeRTOS操作系统的支持,闪灯程序用的还是死循环延时,这台对不起M4F内核了,主频108Mhz性能全浪费在延时的循环上,不!
所以费了点功夫我自己重建了一个新的工程,然后移植了FreeRTOS操作系统,并再次点了灯。

新建Keil MDK工程


1、新建工程,芯片选择N32L436RB
QQ截图20220302182617.png
2、编译器选择版本5,勾选Use MicroLIB QQ截图20220302175724.png
3、选择create HEX file选项,方便以后使用(可选)

QQ截图20220302175741.png
4、C/C++的define栏填写N32L43X, USE_STDPERIPH_DRIVER

QQ截图20220302175808.png
5、debug调试器选择CMSIS-DAP

QQ截图20220302175845.png
6、flash download选项下选择Rest and run

QQ截图20220302175906.png
7、把官网例程的firmware文件夹复制到新建工程


8、自建工程目录USER,把历程里的main.c和n32l43x_it.c及其他们的头文件复制进去

QQ截图20220302183121.png
9、在工程里新建对应目录添加经所需c文件

10、添加所有所需的头文件文件夹目录
QQ截图20220302175823.png
11、编译烧录验证



移植FreeRTOS操作系统


1、github下载最新的freertos包
QQ截图20220302183224.png
2、解压后把Source重命名为FreeRTOS放到n32工程根目录

QQ截图20220302181522.png
3、复制Demo文件夹中对应内核工程的FreeRTOSConfig.h头文件到我们移植的FreeRTOS/include文件夹下

QQ截图20220302181500.png QQ截图20220302184030.png
4、FreeRTOS/portable文件夹下保留以下三个文件夹,在工程加入其中的C文件并添加头文件目录
QQ截图20220302181551.png
5、修改FreeRTOSConfig.h头文件
QQ截图20220302184114.png
6、在keil mdk软件工程目录新建FREERTOS组,添加所有c文件
QQ截图20220302183455.png
7、在C/C++的define头文件目录下添加所有头文件所在的目录


8、在main.c中添加#include "FreeRTOS.h"
#include "task.h"包含头文件
9、新建LED闪烁任务,并在main主函数添加任务代码
QQ截图20220302183709.png

10、编译运行验证,发现错误就屏蔽n32l43x_it.c中的代码,因为FreeRTOS中已经定义使用过了
QQ截图20220302184808.png

@21小跑堂


Sunriver_Yao 发表于 2022-3-4 09:44 | 显示全部楼层
哪里可以下载?
两只袜子 发表于 2022-3-7 09:29 | 显示全部楼层
单片小菜 发表于 2022-3-7 10:34 | 显示全部楼层
现在这种操作系统,应该是主流的操作系统哦
minzisc 发表于 2022-7-9 12:22 | 显示全部楼层
源代码哪里下载呢  
mituzu 发表于 2022-7-9 14:23 | 显示全部楼层
FreeRTOS操作系统占用空间大吗  
jkl21 发表于 2022-7-9 14:43 | 显示全部楼层
需要自己移植吗?  
sljzyjj 发表于 2022-7-10 11:22 | 显示全部楼层
FreeRTOS占用多大空间?
萝卜头008 发表于 2022-7-11 10:06 | 显示全部楼层
ram 够用吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

296

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部