Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread Nano
从裸机开始,创建一个RT-Thread Nano系统工程
发布于 2018-02-06 10:58:51 浏览:3790
订阅该版
[align=center]——/// 概述 \——[align=center]☟☟☟[align=center] RT-Thread Nano是一个精炼的硬实时内核,支持多任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实时操作系统特性,用户可以直接从MDK的Run-time Environment获取,可以使用shell高效地进行在线动态调试。在支持semaphore和mailbox特性,并运行两个线程(main线程+idle线程)情况下,ROM和RAM依然保持着极小的尺寸。我们基于Cortex M0 MCU的一个例子,编译后的大小(ROM: 3.25K, RAM: 1.04K),除去MCU需要的ROM和RAM, RT-Thread Nano本身需要的ROM是2.5K , RAM 是1K。 [align=center] 接下来将描述如何在MDK5上基于RTE(Run-Time Environment), 从裸机开始,创建一个RT-Thread RTOS的小系统工程。 [align=center]01 [align=center]**Pack安装** Pack可以通过MDK联网安装,也可以离线安装。下面开始介绍两种安装方式。**Pack Installer安装**打开MDK软件,点击工具栏的Pack Installer图标: [align=center] 点击右侧的Pack,展开General,可以找到rt-thread::rthread,点击对应的Action的Install,就可以在线安装Pack了。安装成功后Action栏显示 ”Up to date”。 [align=center] **手动安装****我们也可以从官网下载(****RT-Thread Nano离线安装包下载地址:[http://www.rt-thread.org/downloa ... rtthread.2.1.1.pack](http://www.rt-thread.org/download/mdk/rt-thread.rtthread.2.1.1.pack))安装文件。双击下载好的文件进行安装:**[align=center] [align=center]02 ****基础工程准备******在开始创建RT-Thread小系统之前,我们需要准备一个能正常运行的裸机工程。作为示例,这边使用的是基于STM32L072-Discovery 和Low-Level Library的一个LED 闪烁程序。程序的主要截图如下:** [align=center] 在我们的例程中,编译下载程序后,就可以看到3个LED交替闪烁了。读者可以根据自己的需要使用其他芯片,完成一个简单的类似裸机工程。 [align=center]03 ****添加RT-Thread到工程******基于一个可以运行的裸机程序,我们来添加RT-Thread到工程。如下图,点击Manage Run-Time Environment。**[align=center] 在Manage Rum-Time Environment里”Software Component”栏找到RTOS,Variant栏选择RT-Thread,然后勾选kernel。就可以将RT-Thread内核添加到工程了。点击”OK”就添加RT-Thread到工程了。 [align=center] 现在可以在Project看到RT-Thread RTOS已经添加进来了,展开RTOS,可以看到这些文件被添加到工程: [align=center] [align=center]04 ****适配RT-Thread******在board.c完成systick的配置。以STM32L072为例,需要添加以下代码:**[list=1] (*)包含相应的头文件 (*)初始化Systick:根据系统频率和每秒tick数量,配置Systick (*)在Systick中断处理函数里添加rt_tick_increase()函数。 [/list][align=center] 因为RT-Thread用到了异常处理函数HardFault_Handler()和悬挂处理函数 PendSV_Handler(),所以用户代码需要保证这两个函数没有被使用。最后替换掉上面例程的delay函数:[list=1] (*)包含RT-Thread的相关头文件 (*)将delay()函数替换成rt_thread_delay(RT_TICK_PER_SECOND)。 [/list]下面是完成修改的代码: [align=center]编译程序之后下载到芯片就可以看到基于RT-Thread的程序运行起来了。 [align=center]05 ****更多例程******更多参看例程可以在MDK上通过Pack Installer找到。点击Pack Installer图标:** [align=center] 我们可以在Search里输入stm32l0,点击Device里的STM32L0 Serials,然后点击右侧的Example,可以看到右侧有基于stm32l0的两个例程。 [align=center]
查看更多
2
个回答
默认排序
按发布时间排序
qq_还没想好
2020-08-25
这家伙很懒,什么也没写!
这个整理成文章吧
1758315512
2021-08-13
这家伙很懒,什么也没写!
增加kernel这一步按照教程都没啥问题,主要是想看你增加shell,我每次添加shell问题就不少
撰写答案
登录
注册新账号
关注者
0
被浏览
3.8k
关于作者
andychen
这家伙很懒,什么也没写!
提问
38
回答
187
被采纳
15
关注TA
发私信
相关问题
1
求高手指点,RTThread下nanosleep()函数功能如何实现?在线等啊
2
RTT1.2.2在新塘Nano130KE3BN的移植中始终出现栈溢出的问题
3
官方能否出一个nano在mdk下移植finsh到stm32的教程
4
Nano版如何启用shell
5
项目从RTT 2.x NANO移植到 RTT 3.x ENV 环境
6
nano 版本有没有集成到 IAR 中啊?
7
关于MDK5的RT-THREAD NANO中添加MSH组件的例程
8
rtt_nano版本,源代码在哪里下载啊?
9
RTT Nano 在keil 使用C++11 的问题
10
求助荔枝派nano编译后不能生成TF卡文件
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
五分钟玩转RT-Thread新社区
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
6
国产MCU移植系列教程汇总,欢迎查看!
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
RS485驱动包的使用
2
当做一件事,坚持到第二十年 ——Open-SkyEye强势回归!
3
stm32f407zgt6新建工程
4
【github】rt-thread BSP 目录所有支持开发板整理展示
5
使用 D1s (RDC2022 纪念版) 连接 thingspeak
热门标签
RT-Thread Studio
串口
LWIP
SPI
Env
AT
FinSH
ART-Pi
Bootloader
CAN总线
Hardfault
文件系统
USB
DMA
RT-Thread
线程
stm32
RT-Thread Nano
SCons
MQTT
ESP8266
ota
packages_软件包
UART
rtthread
RTC
freemodbus
I2C
flash
cubemx
W5500
rt-smart
定时器
FAL
PWM
ADC
BSP
SDIO
msh
AB32VG1
Debug
C++_cpp
socket
SFUD
中断
编译报错
MicroPython
keil
LVGL
dfs
本月问答贡献
出出啊
1424
个答案
315
次被采纳
小小李sunny
1327
个答案
262
次被采纳
crystal266
490
个答案
144
次被采纳
whj467467222
1210
个答案
141
次被采纳
张世争
581
个答案
131
次被采纳
本月文章贡献
出出啊
4
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
crystal266
1
篇文章
1
次点赞
whj467467222
2
篇文章
2
次点赞
张世争
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部