Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
device
RT-Thread Nano
在RT-Thtread Nano上移植设备驱动框架
发布于 2022-09-06 02:37:36 浏览:2452
订阅该版
在用cubeMX生成包含RT Thread的代码的时候,一直很疑惑配置界面中那个"device框架"是干嘛的,Nano的文档里说可以移植一些设备驱动组件以使用一些软件包。但文档里怎么移植说的模糊不清。我在经过整整一天的探索后终于把PIN组件移植进了RT-Thread Nano里并成功注册识别。 开发环境:cubeMX生成的包含RT-Thread的代码,在Clion里用gcc编译链进行编译,MCU:STM32F103C8T6 ST-Link调试 准备文件:需要从RT-Thread标准版中提取四个文件:pin.c pin.h drv_gpio.c drv_gpio.h 四个文件的位置分别为: ```c rt-thread-master\components\drivers\misc\pin.c rt-thread-master\components\drivers\include\drivers\pin.h rt-thread-master\bsp\stm32\libraries\HAL_Drivers\drv_gpio.c rt-thread-master\bsp\stm32\libraries\HAL_Drivers\drv_gpio.h ``` (注意:所用文件提取自RT-Thread的master主分支,RT-Thread Studio里生成的工程文件是否可用未知;master分支里的drv_gpio.c和.h不止一个,以stm32为例的话需要挑选出针对stm32的drv_gpio头文件和源代码) 移植步骤: 1.在cubeMX创建的工程中把上述4个文件塞进去。(理论上只要你还找得着在哪塞哪都行,我个人是在Middlewares/Third_Party/RealThread_RTOS/components建立了个名叫pin的文件夹,把四个文件全放在里边) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220906/c5ce627cc1f9701662f259c0afe1e3d0.png) 2.更改包含头文件,具体为: ```c 1)pin.c: #include"pin.h" 2)pin.h: #include"rtthread.h" #include"drv_gpio.h" 3)drv_gpio.c: #include"pin.h" #include "rthw.h" #include "gpio.h"(补充,必须需要#define RT_USING_PIN) 4)drv_gpio.h: #include "pin.h" #include "stm32f103xb.h"(根据所用stm32系列不同而变) ``` 3.在board.c的rt_hw_board_init()里引用rt_hw_pin_init();(board.c中要包含drv_gpio.h) 4.~~在需要用的地方包含上drv_gpio.h,已经可以用了~~,可以在控制台上用list_device指令观察到pin设备已注册 (个人认为可以新建一个device.h,然后把drv_gpio.h放在里面,再在rttthread.h中包含device.h) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220906/a0e7fd804b8eb006fcad0734aa5d03b5.png) (不行了有点困了,高清截图还有别的啥的睡醒了之后再说)
3
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
CinelikeE
这家伙很懒,什么也没写!
文章
1
回答
0
被采纳
0
关注TA
发私信
相关文章
1
求高手指点,RTThread下nanosleep()函数功能如何实现?在线等啊
2
RTT1.2.2在新塘Nano130KE3BN的移植中始终出现栈溢出的问题
3
官方能否出一个nano在mdk下移植finsh到stm32的教程
4
从裸机开始,创建一个RT-Thread Nano系统工程
5
Nano版如何启用shell
6
项目从RTT 2.x NANO移植到 RTT 3.x ENV 环境
7
nano 版本有没有集成到 IAR 中啊?
8
关于MDK5的RT-THREAD NANO中添加MSH组件的例程
9
rtt_nano版本,源代码在哪里下载啊?
10
RTT Nano 在keil 使用C++11 的问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
807
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部