4284|6

158

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【GD32L233C-START 评测】-移植Freertos实时系统 [复制链接]

GD32L233C系统资源配置了256KBflash32KBSRAM,可以使用Freertos,在实时系统中操作模块比较方便。我们先移植这个实时系统。

  1. 源文件准备,可以到freertos官网上下载。下载使用FreeRTOSv202112.00.zip版本。打包名称已改变,内部版本号为FreeRTOS Kernel V10.4.6

https://www.freertos.org/

  1. FreeRTOS内核有关的文件数量仅为6个,分别是list.c queue.c tasks.c croutine.c timers.cevent_groups.c该文件位于FreeRTOS\Source
  2. 与内存分配有关的文件,GD32L233C选择heap_4.c该文件位于Source\portable\MemMang
  3.  与移植相关的代码包括port.c,portmacro.h。这些代码不但和编译器有关还和平台(MCU)有关。FreeRTOS先以编译器为大类,然后再以平台(MCU)为小类。在这里选择Keil编译器,平台为内核Cortex-M23FreeRTOS内核提供了ARMv8-MGCC下的 ARM_CM23移植代码可以在安全或非安全端运行运行在非安全端,用户任务可以调用安全端软件导出的函数我使用非安全模式,所以选择文件位于FreeRTOS\Source\portable\GCC\ARM_CM23_NTZ\non_secure
  4. 除了上述内容之外,还包括FreeRTOS内核相关的头文件。该文件FreeRTOS\Source\include
  1. 在工程中加入Freertos文件。

 

  1. 在工程中加入Freertos文件的头文件路径

 

  1. 编译,提示错误,没有FreeRTOSConfig.h文件。编写该文件对内核的配置,需要FreeRTOSConfig.h中的相关宏定义。从demo中拷贝一个FreeRTOSConfig.h到工程目录下进行修改即可。
  2. 再编译

 

gd32123x.it.c中定义了这几个函数,在gd32123x.it.c去掉再编译。

  1. 出现下列错误

 

1),vApplicationGetIdleTaskMemory此函数在我们使用静态方法去创建任务的时候会用到.使用静态方法去创建任务后即configSUPPORT_STATIC_ALLOCATION宏定义为1.

 

2),FreeRTOS中有个宏configCHECK_FOR_STACK_OVERFLOW用来检测堆栈溢出,配置为0就不用管它了,配置其他需要在检测堆栈溢出后调用钩子函数。这个对调试作用非常大,应该开启。

main.c文件中添加钩子函数。

 

在编译就没有问题了

 

  1. 添加任务

实现led控制任务

 

4led等来回点亮,形成来回跑步。

 

编译下载,达到预期。


 

此帖出自GD32 MCU论坛

最新回复

你好,请问大佬深度睡眠模式测试过了没呢,我目前也遇到了这个问题   详情 回复 发表于 2022-10-11 19:34
点赞(1) 关注(1)
 

回复
举报

7158

帖子

2

TA的资源

版主

沙发
 

移植好FreeRTOS可以很好的为后续做准备!

此帖出自GD32 MCU论坛

点评

是的。有了它,一切都变得简单  详情 回复 发表于 2022-2-22 08:36
 
 
 

回复

158

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
wangerxian 发表于 2022-2-21 13:32 移植好FreeRTOS可以很好的为后续做准备!

是的。有了它,一切都变得简单

此帖出自GD32 MCU论坛
 
 
 

回复

1181

帖子

0

TA的资源

五彩晶圆(初级)

4
 

学习了,不错不错

此帖出自GD32 MCU论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

5
 

大佬,可以试下这个工程能进深度睡眠模式吗,我配置了个定时器加上,就进不去了

此帖出自GD32 MCU论坛

点评

我试一试  详情 回复 发表于 2022-3-2 07:57
 
 
 

回复

158

帖子

0

TA的资源

一粒金砂(中级)

6
 
xiaoming668 发表于 2022-2-24 11:14 大佬,可以试下这个工程能进深度睡眠模式吗,我配置了个定时器加上,就进不去了

我试一试

此帖出自GD32 MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 

你好,请问大佬深度睡眠模式测试过了没呢,我目前也遇到了这个问题

此帖出自GD32 MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表