0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

教学 | 手把手教你将物联网操作系统RT-Thread 移植到ufun开发板

lPCU_elecfans 来源:YXQ 2019-06-14 11:29 次阅读

一、准备工具

1、PC机,本教程用的windows 7 ,64位操作系统。2、USB数据线一根,一端接PC USB接口,另一端接开发板micro USB接口。3、jlink、st-link或其它仿真器一台,不是必须,为方便调试,最好有,这里用st-link转换的jlink。4、ufun开发板一块。

二、安装工具软件

1、安装MDK4、MDK5、IAR其中一个或全部IDE

安装方法网上搜索。

2、安装STM32CubeMX

安装方法网上搜索。

ufun开发板的MCU是STM32F103RCT6,先用STM32CubeMX下载STM32CubeF1 Firmware Package,启动STM32CubeMX,Help -> Manage embedded software packages

打开嵌入式包管理器,选择STM32Cube MCU Packages选项卡,点开STM32F1系列前的黑三角,选中最新的版本包,单击Install Now,开始下载包。

等待下载完成,自动解压

完成上述过程,单击Close

3、st-link转换的jlink

如果你有jlink,直接跳过此步。这样折腾是为了后期使用SEGGER的SystemView,转换方法SEGGER官网有。到下面链接找:Converting ST-LINK On-Board Into a J-Linkhttps://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/

4、安装jlink驱动

安装一路next即可。驱动可以去官网下载。

5、安装env

RT-Thread官网下载安装

6、安装CH340T USB转串口驱动

驱动和安装方法网上搜索。

三、制作stm32f103-yf-ufun bsp

本教程参考RT-Thread官网文档《STM32 系列 BSP 制作教程》

1、到RT-Thread官网,找到github代码仓库地址,克隆一份master分支到本地,本地自动创建名为rt-thread的文件夹。

2、复制通用模板本次ufun开发板MCU型号为STM32F103RCT6,用的 F1 系列 BSP 模板。到路径rt-threadspstm32libraries emplates中,复制一份文件夹stm32f10x

粘贴到路径rt-threadspstm32

并重命名为stm32f103-yf-ufun,由于我这里已有与一份stm32f103-yf-ufun,这里重命名为stm32f103-yf-ufun-2为例说明。

3、使用 CubeMX 工具配置工程进入路径rt-threadspstm32stm32f103-yf-ufun-2oardCubeMX_Config双击CubeMX_Config.ioc,用STM32CubeMX打开模板STM32CubeMX工程

由于模板工程用STM32CubeMX版本5.0.0创建,我安装的STM32CubeMX版本5.2.0,单击Migrate

单击原芯片型号,修改为目标板ufun MCU型号

等出现如下界面

红框中输入目标芯片STM32F103RC,并双击对应的芯片STM32F103RCTx

按下图步骤配置外部晶振

按下图步骤配置串行线调试

按下图步骤配置USART1异步模式,与ufun开发板上的USB转串口对接的是USART1

按下图步骤配置时钟,这里把频率配置最大

按下面步骤工程名称,和生产目标代码的位置,第3步选择路径到文件夹board,下面的工具链一栏自动填入,无需手工选择

单击右上部的GENERATE CODE,生成代码。提示目标工程已存在,是否覆盖,单击Yes覆盖旧文件。

目标路径生成的工程如下图,红框的两个文件夹不需要,直接删除

打开路径rt-threadspstm32stm32f103-yf-ufun-2oardCubeMX_ConfigSrc下的文件main.c,把其中的函数SystemClock_Config,拷贝到路径rt-threadspstm32stm32f103-yf-ufun-2oard下的文件board.c中,替换board.c中的函数SystemClock_Config。

打开路径rt-threadspstm32stm32f103-yf-ufun-2oard下的文件board.h,修改 STM32_FLASH_SIZE 和 STM32_SRAM_SIZE 这两个宏控制的参数。本次制作的bsp所用的STM32F103RCTx芯片的flash大小为256k,ram的大小为48k,因此对该文件作出如下的修改:

4、修改 BSP 中的 Kconfig 文件 打开路径rt-threadspstm32stm32f103-yf-ufun-2oard中的文件Kconfig,把芯片型号SOC_STM32F103RB改为SOC_STM32F103RC,片上外设配置有GPIO和UART1即可。

5、修改构建工程相关文件

打开路径rt-threadspstm32stm32f103-yf-ufun-2oardlinker_scripts中的3个链接脚本文件,修改其中的flash和ram大小与目标芯片一致

打开路径rt-threadspstm32stm32f103-yf-ufun-2oard中文件SConscript,修改启动文件和目标芯片,这里参考STM32CubeMX生成的工程代码,其中使用的startup_stm32f103xe.s,确保startup_stm32f103xe.s在以下三个路径都有,如果没有,可以到STM32CubeMX生成的工程代码中拷贝。rt-threadspstm32librariesSTM32F1xx_HALCMSISDeviceSTSTM32F1xxSourceTemplatesarmrt-threadspstm32librariesSTM32F1xx_HALCMSISDeviceSTSTM32F1xxSourceTemplatesgccrt-threadspstm32librariesSTM32F1xx_HALCMSISDeviceSTSTM32F1xxSourceTemplatesiar

预编译宏定义是STM32F103xE


打开路径rt-threadspstm32stm32f103-yf-ufun-2中的工程模板,MDK5的工程模板是template.uvprojx,MDK5的工程模板是template.uvproj,IAR的工程模板是template.eww,分别配置三个模板修改正确的目标芯片和下载程序用的仿真器,并配置仿真器目标芯片,以下已MDK5的工程模板配置截图展示。

6、重新生成工程在路径rt-threadspstm32stm32f103-yf-ufun-2中,打开env


输入menuconfig,回车

确保启用GPIO,UART1

使用env工具输入命令scons --target=mdk5重新生成工程

到这一步为止,新的bsp就可以使用了。接下来我们可以分别使用命令scons --target=mdk4和scons --target=iar,来更新mdk4和iar的工程,使得该BSP变成一个完整的

7、测试生成的工程打开MDK5目标工程,修改ufun开发板上LED3闪烁控制引脚为PA3,如下图

工程编译成功

把ufun开发板用之前准备的USB数据线连接到PC,仿真器与ufun开发板调试口连接

MDK5中下载flash到目标板测试

按下ufun的复位键,LED3闪烁正常

在设备管理器中找到ufun开发板上USB转串口对应的串口号

用串口工具打开,配置串口参数如下图

打开串口,回车,出现tshell提示符

按下ufun的复位键,打印RT-Thread启动信息

按下tab键,输出可用命令

再分别对MDK4,IAR的目标工程进行测试成功。

输入命令scons,用env自带的gcc编译器编译成功。

到此,新的ufun开发板bsp就制作完成了。用文件对比工具,对比新的bsp与已有bsp中的文件,清除不必要的文件,确保bsp干净整洁。依照其它bsp,完善readme文件,这样就可以提交到GitHub的bsp了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2909

    文章

    44534

    浏览量

    372679
  • 操作系统
    +关注

    关注

    37

    文章

    6799

    浏览量

    123276
  • 物联网操作系统

    关注

    3

    文章

    114

    浏览量

    13352

原文标题:【新手教学】手把手教你将物联网操作系统RT-Thread 移植到ufun开发板

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    移植RT-Thread nanoCW32L083

    移植RT-Thread NanoCW32L083开发板上,并成功运行。
    的头像 发表于 07-03 09:04 2.2w次阅读
    <b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b> nano<b class='flag-5'>到</b>CW32L083

    手把手教你实战RT-Thread Nano,不信都这样了你还不会

    手把手教你实战RT-Thread Nano,不信都这样了你还不会
    发表于 11-23 10:30

    手把手教你MQTT客户端移植stm32开发板

    手把手教你MQTT客户端移植stm32开发板上,使用TencentOS tiny官方
    发表于 08-03 07:33

    移植RT-Thread操作系统GD32星空派开发板

    。它把面向对象的设计方法应用到实时系统设计中,使得代码风格优雅、架构清晰、系统模块化并且可裁剪性非常好。本次移植所使用开发板为GD32星空派: 2 代码下载目前
    发表于 10-13 15:56

    移植RT-Thread操作系统GD32星空派开发板

    。它把面向对象的设计方法应用到实时系统设计中,使得代码风格优雅、架构清晰、系统模块化并且可裁剪性非常好。本次移植所使用开发板为GD32星空派: 2 代码下载目前
    发表于 10-13 16:06

    手把手盘古STM32开发板移植uCOS-II教程

    手把手盘古STM32开发板移植uCOS-II教程
    发表于 10-16 09:38 22次下载

    手把手教你学LabVIEW视觉设计

    手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视
    发表于 03-06 01:41 3128次阅读

    手把手教你玩USB开发资料汇总第二部分

    手把手教你开发—USB开发板资料,B站有视频教程
    发表于 09-09 15:50 22次下载

    手把手教你开发基于单片机的wifi通信的联网项目(远程灯控制)

    手把手教你开发基于单片机的wifi通信的联网项目(远程灯控制)
    发表于 11-12 19:36 18次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b><b class='flag-5'>开发</b>基于单片机的wifi通信的<b class='flag-5'>物</b><b class='flag-5'>联网</b>项目(远程灯控制)

    手把手教你移植openharmony3.0stm32(liteos_m)

    手把手教你移植openharmony3.0stm32(liteos_m)
    发表于 12-05 20:21 47次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b><b class='flag-5'>移植</b>openharmony3.0<b class='flag-5'>到</b>stm32(liteos_m)

    MQTT移植stm32开发板——使用TencentOS tiny操作系统

    手把手教你MQTT客户端移植stm32开发板上,使用TencentOS tiny官方
    发表于 12-08 13:21 6次下载
    MQTT<b class='flag-5'>移植</b><b class='flag-5'>到</b>stm32<b class='flag-5'>开发板</b>——使用TencentOS tiny<b class='flag-5'>操作系统</b>

    国民技术携手RT-Thread共同推进MCU与RT-Thread操作系统广泛适配

    日前,国民技术股份有限公司与知名物联网操作系统厂商睿赛德科技(RT-Thread)签署会员合作协议,正式成为RT-Thread高级会员。国民技术
    的头像 发表于 12-16 09:56 2378次阅读

    移植RT-ThreadGD32星空派开发板

    的自主知识产权。经过近12个年头的沉淀,伴随着联网的兴起,它正演变成一个功能强大、组件丰富的联网操作系统
    发表于 12-22 18:57 15次下载
    <b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b><b class='flag-5'>到</b>GD32星空派<b class='flag-5'>开发板</b>

    【QEMU系列】不用开发板运行RT-Thread指南-ARM架构

    简介在联网和嵌入式系统开发中,RT-Thread操作系统凭借其小巧、高效和灵活的特点,受到了
    的头像 发表于 08-09 08:35 901次阅读
    【QEMU系列】不用<b class='flag-5'>开发板</b>运行<b class='flag-5'>RT-Thread</b>指南-ARM架构

    RT-Thread操作系统应用开发寒假师资培训

    随着联网和智能系统的快速发展,嵌入式成为当前最热门最有发展前途的IT应用领域之一。为进一步提升全国大学生在嵌入式芯片及系统设计领域的创新能力,特别是针对
    的头像 发表于 12-06 01:06 105次阅读
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>操作系统</b>应用<b class='flag-5'>开发</b>寒假师资培训