查看: 6419  |  回复: 4
立创梁山派F r e e R T O S 移植
老怪鸽但不鸽
6
主题
22
回复
发表于2023-07-21 10:34:34 | ip属地:广东 | 显示全部楼层
1# 电梯直达

准备工作

  1. 准备一块立创梁山派开发板。
  2.  准备一个可以跑起来的例程(最好有点灯)。如果没有,可以使用立创梁山派官方的例程。
  3. F r e e R T O S 源码版本202212.01--------点击【链接】跳转到官网查看:
  • 说明:F r e e R T O S 的官网下载速度很慢,这里我提供我下载好的,里面还有移植前的例程和移植成功之后的例程,链接 提取码:1234


移植环境

电脑是W I N 1 0系统。运行与编译环境是使用K e i l 5 . 3 7。


移植步骤

  • 裁剪文件 

        将下载下来的F r e e R T O S 源码进行解压,并删除我们不需要的文件。(只删除【Source】文件夹下的其余文件!)




  • 工程移植
    在我们的项目工程里面新建个文件夹【M i d d l e w a r e s】,在【M i d d l e w a r e s】文件夹里再新建一个文件夹【F r e e R T O S】,将我们剪裁后的F r e e R T O S源码的复制到【F r e e R T O S】文件夹下。
  • 文件修改
    下图的【portable】文件夹中只留下我们需要的两个文件【M e m M a n g】【R V D S】,【portable】文件夹下的其余文件夹全部删除。


删除完成之后,剩下的文件。



  • 导入工程文件

        打开我们的工程


        新增一个工程目录




      添加F r e e R T O S文件夹下的.c文件。



添加heap_4.c文件,具体路径:【F r e e R T O S】->【portable】->【M e m M a n g】-> heap_4.c



添加port.c文件,具体路径:【F r e e R T O S】->【portable】->【R V D S】->【A R M_C  M 4 F】-> port.c



全部添加完成之后,是下图中展示的样子。



  • 添加源码缺少的文件

    工程还缺少一个F r e e R T O S C o n f i g.h文件,因为Cortex_S T M 3 2 f 4系列和G D 3 2 f 4用的是同一个内核,配置文件可以通用,所以去到F r e e R T O S源码中的【Demo】文件夹下复制。

具体路径:【F r e e R T O S】->【Demo】-> 【CORTEX_M 4 F_S T M 3 2 F 4 0 7 Z G-SK】-> F r e e R T O SC o n f i g.h




将F r e e R T O S C o n f i g.h(配置文件)复制到我们工程文件夹下。

具体路径:【005串口打印信息】->【M i d d l e w a r e s】->【F r e e R T O S】->【include】




  • 导入文件路径
        将F r e e R T O S的.h路径导入到我们的工程。

       


最终导入的两个路径。



操作到这里,文件的移植就完成了。



  • 修改报错

       尝试编译。出现以下这个报错。(如果有其他的错误,请看帖子一楼的说明)



双击问题,一路追下去追到了c o n f i g文件,很明显是因为宏定义没有被开启。(如果有其他的错误,请看帖子一楼的说明)



添加下面的代码。




重新编译,出现3个错误。是因为F r e e R T O S的port文件和库文件的配置文件重复定义。(如果有其他的错误,请看帖子一楼的说明)



打开g d 3 2 f 4 x x_it.c文件,注释重复定义的三个函数,分别是【P e n d S V_Handler】、【S V C_Handler】、【S y s T i c k_Handler】。



重新编译,出现4个错误。(如果有其他的错误,请看帖子一楼的说明)



上面的4个错误是因为在F r e e R T O S C o n f i g文件中宏定义的问题。按照下图在【F r e e R T O S C o n f i g.h】中修改四个宏定义。



再编译没有报错啦。(如果有其他的错误,请看帖子一楼的说明)



ToDo
2
主题
4
回复
发表于2023-08-12 08:53:27   |  ip属地:广东  |  显示全部楼层
4#
为楼主的用心发帖点赞!

主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部