stm32 使用CubeIDE 移植RTX5

这篇具有很好参考价值的文章主要介绍了stm32 使用CubeIDE 移植RTX5。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 STM32 使用st的官方开发环境 cubeide (eclipse gcc)移植 cmsis rtos2 RTX5 实时操作系统

这套环境的主要优势是免费。cubeide免费使用。RTX5 免商业版税(已从原keil中剥离出来,现在完全开源免费)。

一,环境

  • 芯片:stm32f401rct6
  • 内核:cortex m4f
  • 指令集:armv7m
  • 编译:gcc
  • ide:CubeIDE(eclipse)
  • CMSIS版本:5.9.0
  • RTOS2/RTX5  V2.1.3
  • HAL库开发
  • cubeMX配置生成

二,简明步骤

1,cubemx配置,注意点sys时钟选除sysclock外其他时钟源,例如TIM11,因为sysclock时钟源给rtos用了 ,同时HAL库需要使用到sys时钟,因此只能另外指定时钟源。stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2

 2,拷贝CMSIS中 RTOS2 到工程目录

 stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2

3,添加RTE_Components.h文件,此文件可以自己写,或从其他keil MDK生成的工程中直接复制过来,注意 文件中的device header 要匹配对应芯片头文件

stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2

4, 进入CUBEIDE 工程中,右键工程 ,点击Refresh后可以看到新添加进的文件。再同样右键,并点击Properties 

 stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2

5,在C/C++ General中Paths and Sysmbols中添加引用与宏定义 

stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2
在includes, GNU C添加图中路径
stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2
在includes, Assembly中添加图中路径
stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2
在Sysmbols, GNU C添加图中宏
stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2
在Sysmbols, Assembly添加图中宏

 6,在C/C++ General中Source Location中添加RTOS2路径下全部程序源文件 

stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2
添加RTOS2路径

 7,在C/C++ General中Source Location中排除RTOS2路径下不需要的程序源文件 

注意RTX/Source/GCC下保留对应自己芯片内核的.S文件,即排除不是自己内核的.S文件 (stm32f401对应保留的内核指令集文件是irq_armv7m.S)

另外,也可以直接从磁盘删掉这些需要排除的文件,就可以省掉这步了。

stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2
双击RTOS2路径,添加要排除的路径与文件

8,以上操作完成后检查下RTOS2目录,排除的文件或目录会划斜杠

 stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2

9,在stm32f4xx_it.c注释或删除图中三个函数SVC_Handler、PendSV_Handler、SysTick_Handler,否则编译时会报重定义错误,因为这三个函数被RTOS接管了

stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2

10,最后在main.h中添加cmsis_os2.h并BUILD工程,完成移植

 stm32 使用CubeIDE 移植RTX5,stm32,嵌入式硬件,单片机,RTX5,cubeide,eclipse,cmsis rtos2

 三,参考

1,GD32F30X适配CMSIS RTOS2(RTX5内核)

2,【GD32F427开发板试用】在IAR环境中移植RTX5   [推荐]

3,STM32F407+CubeMX+Keil上移植RTX5实时系统文章来源地址https://www.toymoban.com/news/detail-571589.html

到了这里,关于stm32 使用CubeIDE 移植RTX5的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【嵌入式】STM32计时器编码器接口模式使用

    使用STM32调试电机或传感器时经常会使用到计数器的编码器接口模式,本文主要记录该模式的固件库配置方法,并给出使用该模式获取光栅测距值的实例。 硬件: STM32F103C8T6 光栅测距传感器 编码器接口模式为STM32计时器的一种特殊使用模式,该模式下可对编码器输出的脉冲信

    2024年02月20日
    浏览(46)
  • STM32F7xx Keil5 RTX RL-TCPnet DP83822移植

    暂时全部默认配置,DHCP已打开 修改RTE_Device.h ETH配置 修改DP83822驱动 去掉文件只读属性,之后需要修改,添加到工程 修改DP83822 ID RTE创建tcp server例程,参考该例程,进行修改 修改后的TCP_Socket_server.c ping Tcp client 可以PING通,但client无法连接,后来发现是netInitialize以及server相关

    2024年02月08日
    浏览(48)
  • 从零开始教你使用Clion优雅开发STM32(三)Clion嵌入式开发必备插件

    (一)软件安装与环境配置 (二)移植工程文件到其他芯片 (三)Clion嵌入式开发必备插件 文章目录 前言 1)Chinese(simplified) 2)CodeGlance Pro 3)File Watchers  4)Key Promoter X 5)CodeGlance Pro 6)Monokai Pro Theme 7)Rainbow Brackets Lite 8)Serial Port  Monitor 总结 前段时间,稚晖君用 Cl

    2024年02月06日
    浏览(57)
  • 【Mac+CLion+STM32+ST-Link】Mac(apple sillicon)上使用STM32CubeMX和CLion搭建嵌入式开发环境

    Clion 官网安装或者brew安装,我用的是2023.2版本。 stlink server https://www.st.com/en/development-tools/st-link-server.html 不安装的话检测不到stlink。 STM32CubeMX https://www.st.com/en/development-tools/stm32cubeide.html#overviewsecondary=st-get-software 用来快速搭建一个工程。 Arm-toolchain 用来编译和debug的组件。

    2024年02月08日
    浏览(43)
  • 嵌入式开发:使用STM32CubeMX 和 Keil uVision5实现两位数码管循环显示实验

    一、STM32CubeMx实现数码管 1、双击打开STM32CubeMX。 2、点击File选项,在File列表下选择New Project选项新建工程。 3、在图中所示位置的方框中输入我们使用的芯片型号来搜索芯片 4、与我们的搜索相关的芯片型号会在这里呈现,我们只需要选择我们需要的即可,这里我们双击第一个

    2024年02月08日
    浏览(49)
  • boot跳入APP,APP使用RTX5,导致程序卡死无法进入main函数的问题

    RTX5的内核初始化osKernelInitialize()其实会在main函数之前调用一次,加了boot程序之后,在调用main函数之前在这会报错,导致无法进入main函数。 函数原型就是上面的代码,状态被置为status = osErrorISR; 当去掉boot后第一次会运行else的代码程序正常,加上boot后,当app代码量比较少的时

    2024年02月07日
    浏览(34)
  • 蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)

            在蓝桥杯嵌入式官方给我们提供好了,LCD显示的底层源码,我们只需要,记住里面的API函数,会用这些函数就行。         在官方给的资料中找到这个文件名字DK117_G4 Data Packet-开发板驱动文件里面就是所有的底层文件有两种类型,一种是基于HAL库的一种是标准库

    2024年02月09日
    浏览(59)
  • 【嵌入式学习笔记】嵌入式基础9——STM32启动过程

    程序段交叉引用关系(Section Cross References):描述各文件之间函数调用关系 删除映像未使用的程序段(Removing Unused input sections from the image):描述工程中未用到被删除的冗余程序段(函数/数据) 映像符号表(Image Symbol Table):描述各符号(程序段/数据)在存储器中的地址、类

    2024年02月15日
    浏览(81)
  • stm32嵌入式实验考核

    STM32 实验考核题目 1. 利用 STM32 小板实现:控制外接 LED 灯每隔 3 秒钟亮暗变换,同 时在 PC 机上显示 MCU 的计时时间,MCU 的初始时间由 PC 机 方设置。 2. 利用 STM32 小板实现:利用导线外接 GPIO 口模拟 2 个按键输入, 根据输入组合的四种情况,分别控制三色灯四种流水灯效果

    2024年02月03日
    浏览(49)
  • STM32的时钟系统(嵌入式学习)

    时钟是指用于计量和同步时间的装置或系统。时钟是嵌入式系统的脉搏,处理器内核在时钟驱动下完成指令执行,状态变换等动作,外设部件在时钟的驱动下完成各种工作,例如:串口数据的发送、AD转换、定时器计数等。因此时钟对于计算机系统是至关重要的,通常时钟系

    2024年02月16日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包