Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
NXP 微控制器
NXP 微控制器
RT-Thread i.MXRT1050 入门学习
发布于 2019-11-26 17:55:09 浏览:1218
订阅该版
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.2k
关于作者
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
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
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
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
3
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部