STM32F1移植RT_Thread简明教程
一. 简介
最近开始学习RTOS了,也是第一次接触RTOS,本人以国内的RT-Thread作为学习的一款RTOS,支持国产嘛。
在搭建环境的时候,遇到了许多问题,也是参考了许多博客,但是与官网上的步骤都大同小异,给了像我们这样的小白很大的打击。
接下以以STM32F1移植极简版硬实时内核Nano(基于keil5),给大家介绍如何快速的搭建环境。
欢迎关注微信公众号 FPGA之旅 获取更多
二. RT-Thread的安装
这里的安装方法有两种,和之前需要使用stm32f1系列的单片机一样,需要下载安装pack包。
1.第一种方法是在keil里面,直接下载安装
2.第二种是,下载pack,双击安装,我这里使用的是这种方法。(微信公众号回复 RT-Thread-Pack 可以获取下载链接)
三. 准备好空白的裸机demo
最好是初始化一个外设,我这里使用的是最小系统,使用的是led灯闪烁的demo。
1.安装好pack后,打开demo工程,点击这个按钮,然后找到RTOS,勾选kernel就可以。
2.勾选好之后,就可以在我们的项目里面看到添加进来的相关文件了
到这里相关的环境问题就完成的大半部分了。就快o( ̄ヘ ̄o#)成功啦
四. board.c文件的修改(核心)
直接运行程序的话,会报这个错误
#error “TODO 1: OS Tick Configuration.”
1.所以第一件是将其注释掉,然后阅读下面的注释。 需要使能硬件定时器也就是我们所说的滴答定时器,然后去调用rt_os_tick_callback函数,也是就滴答定时器中断函数调用这个函数。
2.编写滴答定时器与中断函数。这些函数直接写在board.c文件中,就好了
3.注释掉修改的相关的中断函数,这里可以查看官网的解释。SysTick_Handler也要注释,因为我在这个文件夹里面重新定义了。
4.最后,整个文件改动如下
5.在main函数中添加#include “rtthread.h”,然后调用RT提供的延时函数,如果led灯闪烁,着说明配置成功
公众号:FPGA之旅
相关文章
- python functools
- 消除复杂性以提高业务绩效:Bridgewater Associates 如何在 AWS 上构建安全、可扩展且基于 Spark 的研究服务
- Python queue
- 在 Amazon Aurora PostgreSQL 兼容版上管理长时间运行的读取查询
- Fannie Mae 如何利用 Amazon Redshift 数据共享构建数据网格架构以实现自助服务
- AWS Health Event通过SES发送事件日历
- 亚马逊云科技上在CentOS在停止维护后的几种选择
- 可持续性最佳架构实践—基于Graviton的Flink作业集群部署与优化
- 亚马逊云科技2022年7、8月服务上新
- 基于GWLB和FortiGate实现纵深防御网络架构
- 可持续性最佳架构实践—基于Spot的Flink作业集群部署与优化
- 新增功能 – 本地网络和 AWS Outposts 机架之间的直接 VPC 路由
- 亚马逊云科技网关负载均衡集成FortiGate双臂模式
- FortiGate集成亚马逊云科技中国区GuardDuty威胁源安全服务
- 亚马逊云科技中国云流量镜像服务集成FortiGate安全分析
- JAVA-DUMP
- Amazon EC2 P4d 实例深入探讨
- 利用亚马逊云科技 IAM Roles Anywhere 授权云外设备访问AWS资源
- Java8
- 基于猫狗识别实验入门DeepLens