Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
NXP 微控制器
NXP 微控制器
RT-Thread i.MXRT1050 入门学习
发布于 2019-11-26 17:55:09 浏览:1288
订阅该版
RT-Thread下的bsp中的i.mxrt脚本文件功能分析。 直接以i.mxrt1050为例,安装好env工具,输入menuconfig...kakaka 进行功能选项配置。。然后`scons --target=xxx` 咦,menuconfig里面的功能是怎么实现的呢,具体代码实现,代码为啥这么写……有啥依赖文件。。 比如: ``` config BSP_USING_GPIO bool "Enable GPIO" select RT_USING_PIN default y ``` 其中: `BSP_USING_GPIO`这个是在哪里定义的。。我为什么在是写`BSP_USING_GPIO`而不是`BSP_USING_GPIO123`(有点尴尬), 为什么需要 `select RT_USING_PIN`,这个又是在哪定义的,我配置了`BSP_USING_GPIO`,选择了RT_USING_PIN,为什么可以实现GPIO配置。。。和GPIO相关的驱动文件怎么链接在一起工作的…… 又是哪个文件夹实现的menuconfig!!!! `C:\RTT t-thread-master\bsp\imxrt\imxrt1052-nxp-evk\board\Kconfig` 嗯……这个很重要呀,板级menuconfig的配置实现比如I2C GPIO CAN 等等 下面来看看几个文件夹 1: `C:\RTT t-thread-master\bsp\imxrt\libraries\Kconfig` 功能:i.MXRT10xx系列片选配置,这个文件夹有什么特定功能有多重要自行考虑 eg: ``` config SOC_IMXRT1050_SERIES bool select ARCH_ARM_CORTEX_M7 select ARCH_ARM_CORTEX_FPUS ``` 2: `C:\RTT t-thread-master\bsp\imxrt\imxrt1052-nxp-evk tconfig.h` 功能:一些基础的宏定义,配置板级menuconfig时需要依赖项 eg: ``` #define BSP_USING_GPIO。 /////定义来啦 ``` 3: `C:\RTT t-thread-master\bsp\imxrt\libraries\drivers\SConscript` 功能:配置i.MXRT1050的menuconfig时依赖的drv_xx文件(drv_xx可由第三方根据需要自行添加) eg: ``` if GetDepend('BSP_USING_GPIO'): src += ['drv_gpio.c'] ``` 4: `C:\RTT t-thread-master\bsp\imxrt\libraries\MIMXRT1050\SConscript` 功能:配置i.MXRT1050的menuconfig时依赖的SDK中的驱动文件..某板子的官网SDK资料NXP官网sdk下载: https://mcuxpresso.nxp.com/en/select eg: ``` if GetDepend(['BSP_USING_GPIO']): src += ['MIMXRT1052/drivers/fsl_gpio.c'] ``` 5: `C:\RTT t-thread-master\components\drivers\include tdevice.h ` 功能:类似于3 配置i.MXRT1050的menuconfig时依赖的RT-Thread中的驱动文件(`C:\Desktop\RTT t-thread-master\components\drivers..`) ```c #ifdef RT_USING_PIN #include "drivers/pin.h"//////定义又来啦!!! #endif ``` eg: ```c #ifdef RT_USING_I2C #include "drivers/i2c.h" #include "drivers/i2c_dev.h" ``` 6: `C:\RTT t-thread-master\bsp\imxrt\imxrt1052-nxp-evk\Kconfig` 功能:`mainmenu "RT-Thread Configuration"` 包括:总配置,将其他文件夹下的配置文件进行链接。(自己打开看看吧) 5: `C:\RTT t-thread-master\bsp\imxrt\imxrt1052-nxp-evk\SConscript` `C:\RTT t-thread-master\bsp\imxrt\imxrt1052-nxp-evk\SConstruct` 等以后在rt-thread中添加新板子的支持时,再认真研究。 如果需要添加一个新的配置怎么去写呢。。。 如果是一些基本的`on-chip driver`配置,完全可以参考其他板子上已经写好的配置。。嗯 我觉得STM32的配置还挺全的…… 有配置了,具体实现呢?? 首先确定你的板子可以支持此项功能。。。。然后呢 1)分析`C:\RTT t-thread-master\components\drivers`中的你需要的驱动架构 2)了解板子SDK的驱动实现 3)构建中间链接管理层 `C:\RTT t-thread-master\components\drivers` + `C:\RTT t-thread-master\bsp\imxrt\libraries\drivers\drv_XX` (可用户自行实现) + `C:\RTT t-thread-master\bsp\imxrt\libraries\MIMXRT1050\MIMXRT1052\drivers`(nxp官网SDK资料)
查看更多
2
个回答
默认排序
按发布时间排序
文武斌
2019-11-27
这家伙很懒,什么也没写!
1。首先 Kconfig文件就是make(menuconfig)用的,你执行menuconfig操作时,会去读取目录下的Kconfig获取里面的菜单选项和对应的宏定义,然后读取.config看看你以前打开了哪些宏,最后你关闭meuconfig时会把配置的宏都保存在.config里面 2。然后你执行scons时会调用 rtconfig.py文件和各个目录下SConscript、SConstruct脚本,最后通过.config生成rtconfig.h的宏定义头文件供源码预编译。源码根据这个宏是否开启来决定这段代码是否编译。 3.其中rtconfig.py文件和各个目录下SConscript、SConstruct脚本用来Scons获取每个目录下哪些需要编译,并将它添加到工程来,如此可以通过scons生成makefile工程、mdk工程、IAR工程等等
qz_rtt
2019-11-27
这家伙很懒,什么也没写!
楼上说的很清楚了,补充一下:SConstruct每个工程目录一个,保存工程相关的配置,运行scons时自动从当前目录查找SConstruct文件;SConscript通常在每个源码子目录一个,用来指示那些文件会被编译。如果想知道详细的信息,需要去scons工具的官网查看相关文档。
撰写答案
登录
注册新账号
关注者
0
被浏览
1.3k
关于作者
NXP-Xinyi
这家伙很懒,什么也没写!
提问
1
回答
3
被采纳
1
关注TA
发私信
相关问题
1
试贴-消灭0主题
2
LPC M4的一些资料
3
LPC4088的临时分支
4
lpc1788 ad 不稳定
5
1788 LCD控制器缓冲区字节问题
6
一起来学习LPC4088吧
7
上传LPC4088的realtouch主工程
8
RealBoard 4088预定帖 [第一批板子不多,预定提前结束]
9
晒RealBoard LPC4088开箱照啦,速带小板凳前来围观
10
4088主程序需要的SD卡资源
推荐文章
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组件
最新文章
1
【RT-Thread】【ci】【scons】将ci.attachconfig.yml和scons结合使用
2
Rt-thread中OTA下载后,bootloader不搬程序
3
ulog 日志 LOG_HEX 输出时间改为本地日期时间
4
在RT-Thread Studio中构建前执行python命令
5
研究一了一段时间RTT,直接标准版上手太难,想用nano,但又舍不得组件
热门标签
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
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
xusiwei1236
8
个答案
2
次被采纳
踩姑娘的小蘑菇
1
个答案
2
次被采纳
用户名由3_15位
7
个答案
1
次被采纳
bernard
4
个答案
1
次被采纳
张世争
1
个答案
1
次被采纳
本月文章贡献
聚散无由
2
篇文章
15
次点赞
catcatbing
2
篇文章
5
次点赞
Wade
2
篇文章
2
次点赞
Ghost_Girls
1
篇文章
6
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部