4865|17

1059

帖子

1

TA的资源

版主

楼主
 

UFUN的FreeRTOS移植步骤 [复制链接]

 
本帖最后由 qwerghf 于 2016-9-6 08:24 编辑


之前一直忙,只给大家带来FreeRTOS移植的模板,没有给出详细步骤,多谢@EEWORLD-nmg ,在此我给大家带来详细的移植步骤,方便大家自己移植,下面介绍如何给UFUN移植FreeRTOS

本次我采用的是FreeRTOS版本8.2.3。官网一直在更新。大家可以到官网下载最新的。我下面附件也给出源码包。
第一步:从官网下载FreeRTOS或者下载附件。
第二步:解压FreeRTOS压缩包。在UFUN的工程路径下建立FreeRTOS文件夹。
第三部:将源码文件到相应文件夹
  1 FreeRTOSV8.2.3 软件包中路径:FreeRTOSV8.2.3\FreeRTOS\Source里面如下所有文件复制到刚刚创建的 FreeRTOS 文件夹下,如1.png。
file:///C:/Users/lqy/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
  2)文件夹 User 中还需要添加FreeRTOSConfig文件。
该文件 FreeRTOSConfig.h 文件在 FreeRTOSV8.2.3 软件包中的中的路径:
FreeRTOSV8.2.3\FreeRTOS\Demo\CORTEX_STM32F103_Keil
第四步:将FreeRTOS源码文件添加到 MDK 的工程项目中,添加后的效果如下:2.png
file:///C:/Users/lqy/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg
其中 heap_4.c 文件路径: FreeRTOS\Source\portable\MemMang
port.c portmacro.h 文件的路径:FreeRTOS\Source\portable\RVDS\ARM_CM3,由于
UFUN是采用STM32F103,是 M3 内核的,所以移植文件我们要添加 M3 内核的。
第五步:我们新创建一个 includes.h 文件,将所有的头文件都集中到这个头文件下。这样做的好处就是在我们引用头文件的时候,我们只添加这个头文件就可以了,方便程序编写。我们可以把 includes.h文件放在User文件夹中。当然也将这个文件也添加到 MDK 工程项目中,这样是为了是方便我们查看和修改。
第六步:添加相应的头文件路径,在原来工程模板的基础上新添加的两个路径:如3.png
file:///C:/Users/lqy/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg
第七步:最后一步,同时也是最重要的一步,修改 FreeRTOSConfig.h 配置文件(用户根据自己的配置进行修改,当然我们也可以不修改,也是没问题的,我们做以下修改:
1)添加宏定义__NVIC_PRIO_BITS,因为STM32 系列产品优先级仅使用 4 位。
2)修改优先级相关的几个宏定义,具体修改了哪个可以对比原文件查看。
修改后在这个文件的末尾加上 SystickPendSV SVC 中断函数的宏定义,目的是将 FreeRTOS 移植文件 port.c 文件里面的中断服务程序映射到 CMSIS 定义的标准名称,这样就不需要我们去修改工程启动代码中这几个中断的名字,可以很方便就实现了两个函数的统一。(之前我移植过 uCOS-II FreeRTOS,都是修改启动文件,采用这里的方式更方便,我们不需要处理启动文件)。具体如下所示。
/* Definitions that map the FreeRTOS portinterrupt handlers to their CMSIS
standard names. */
#define vPortSVCHandler SVC_Handler
#define xPortPendSVHandler PendSV_Handler
#define xPortSysTickHandler SysTick_Handler
根据以上操作,FreeRTOS 的移植工作就完成了,剩下就是系统配置和应用。其中系统配置看FreeRTOSConfig.h。建议初学者可以直接拿我的FreeRTOSConfig.h拷贝到你自己的工程中就可以了。

1.png (24.87 KB, 下载次数: 1)

1.png

2.png (24.56 KB, 下载次数: 1)

2.png

3.png (16.67 KB, 下载次数: 1)

3.png

FreeRTOSV8.2.3.exe

12.64 MB, 下载次数: 49

ufun freertos 模板.zip

10.87 MB, 下载次数: 49

UFUN的FreeRTOS移植步骤.docx

69.04 KB, 下载次数: 29

FreeRTOS实时内核实用指南.pdf

3.02 MB, 下载次数: 36

此帖出自stm32/stm8论坛

最新回复

我按照他的方法做了   一遍    没有问题     蜂鸣器不会一直响    跟原来一样  详情 回复 发表于 2016-9-18 17:07
点赞 关注
 

回复
举报

5263

帖子

239

TA的资源

管理员

沙发
 
@二白啊啊,速来速来

再试试其他网友,是不是都能收到
@Bingqi23 @皈依 @ltbytyn @dianhang @飞翔荷兰人号 @michael_llh @muzibaishui @desk1983 @cxzs1234 @hahadiy @wolf11111 @Feelplus @我是黄威1 @qwerghf @xiayichuyang @renshuang @boming @kangkls @freeelectron @liu583685 @二白啊啊 @sxwsyc @yiweihit
@千久 @木才木 @andy_ @麦兜90 @jh442755 @hippozhu @shannon2014
此帖出自stm32/stm8论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

能收到,这个我移植好。  详情 回复 发表于 2016-9-6 18:26
能收到提醒。学习。 楼主好棒  详情 回复 发表于 2016-9-6 11:53
 
 

回复

493

帖子

1

TA的资源

一粒金砂(高级)

板凳
 
nmg 发表于 2016-9-6 11:14
@二白啊啊,速来速来

再试试其他网友,是不是都能收到
@Bingqi23 @皈依 @ltbytyn @dianhang @ ...

能收到提醒。学习。
楼主好棒
此帖出自stm32/stm8论坛
 
 

回复

565

帖子

0

TA的资源

一粒金砂(高级)

4
 
楼主好棒啊,最近工作忙,一直没时间弄
此帖出自stm32/stm8论坛
 
个人签名stm32/LoRa物联网:304350312
 
 

回复

419

帖子

9

TA的资源

纯净的硅(初级)

5
 
nmg 发表于 2016-9-6 11:14
@二白啊啊,速来速来

再试试其他网友,是不是都能收到
@Bingqi23 @皈依 @ltbytyn @dianhang @ ...

能收到,这个我移植好。
此帖出自stm32/stm8论坛

点评

nmg
看到啦,看到啦,我争取这个月有空把大家写的ufun的数字部分整理好。 看看网友需求,约你们有空帮忙写写  详情 回复 发表于 2016-9-7 08:56
 
 
 

回复

482

帖子

0

TA的资源

纯净的硅(初级)

6
 
7Z的压缩比例这么高?貌似比rar比例大多了!
此帖出自stm32/stm8论坛
 
个人签名http://www.jslaser.com高性价比激光测距传感器
 
 

回复

182

帖子

0

TA的资源

一粒金砂(中级)

7
 
赞赞赞    先学习一下
此帖出自stm32/stm8论坛
 
 
 

回复

366

帖子

1

TA的资源

一粒金砂(高级)

8
 
收到,过几天周末写点进度。每天加班太晚回来啥都不想写
此帖出自stm32/stm8论坛
 
 
 

回复

5263

帖子

239

TA的资源

管理员

9
 
boming 发表于 2016-9-6 18:26
能收到,这个我移植好。

看到啦,看到啦,我争取这个月有空把大家写的ufun的数字部分整理好。

看看网友需求,约你们有空帮忙写写
此帖出自stm32/stm8论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

482

帖子

0

TA的资源

纯净的硅(初级)

10
 
解压后里面还有个FreeRTOS-Plus,有用过的吗、?
此帖出自stm32/stm8论坛
 
个人签名http://www.jslaser.com高性价比激光测距传感器
 
 

回复

182

帖子

0

TA的资源

一粒金砂(中级)

11
 


打开模版工程后    project 中不显示freertos文件是正确的吗    ????
此帖出自stm32/stm8论坛
 
 
 

回复

1059

帖子

1

TA的资源

版主

12
 
打开第二个工程,第一个不是
此帖出自stm32/stm8论坛
 
 
 

回复

482

帖子

0

TA的资源

纯净的硅(初级)

13
 
还有很多的这样的错误提示,在输出框却说0错误。

这么多错,编译却通过了.JPG (99.32 KB, 下载次数: 0)

这么多错,编译却通过了.JPG
此帖出自stm32/stm8论坛

点评

那个不是错误,你不用管,这是KEIL的bug,很多地方都会出现X  详情 回复 发表于 2016-9-8 15:03
 
个人签名http://www.jslaser.com高性价比激光测距传感器
 
 

回复

482

帖子

0

TA的资源

纯净的硅(初级)

14
 
keil  被 arm收购,arm被软银收购,那天中国把软银收购了呢,呵呵。
此帖出自stm32/stm8论坛
 
个人签名http://www.jslaser.com高性价比激光测距传感器
 
 

回复

1059

帖子

1

TA的资源

版主

15
 
kangkls 发表于 2016-9-8 14:35
还有很多的这样的错误提示,在输出框却说0错误。

那个不是错误,你不用管,这是KEIL的bug,很多地方都会出现X
此帖出自stm32/stm8论坛
 
 
 

回复

482

帖子

0

TA的资源

纯净的硅(初级)

16
 
程序烧下去之后,上电串口只打印一次,就不再打印了。蜂鸣器叫个不停。
此帖出自stm32/stm8论坛

点评

我按照他的方法做了 一遍 没有问题 蜂鸣器不会一直响 跟原来一样  详情 回复 发表于 2016-9-18 17:07
 
个人签名http://www.jslaser.com高性价比激光测距传感器
 
 

回复

8

帖子

0

TA的资源

一粒金砂(初级)

17
 

赞赞赞    先学习一下
此帖出自stm32/stm8论坛
 
 
 

回复

182

帖子

0

TA的资源

一粒金砂(中级)

18
 
kangkls 发表于 2016-9-8 15:10
程序烧下去之后,上电串口只打印一次,就不再打印了。蜂鸣器叫个不停。

我按照他的方法做了   一遍    没有问题     蜂鸣器不会一直响    跟原来一样
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表