Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
使用VS环境开发RTT问题,bsp工程模板的点灯例程无法运行
发布于 2019-06-04 08:52:08 浏览:1095
订阅该版
描述: 1、环境:visual studio、visual GDB 2、使用visual GDB将RTT官网的bsp工程导入visual studio,编译没有问题,可以下载到板子中 3、在keil中也可以正常使用该例程 问题: 1、无法获得引脚的数值:进入rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);在该函数:RT_ASSERT(_hw_pin.ops != RT_NULL);,_hw_pin.ops 始终为0,因而进入进入死循环,无法正常运行led闪烁的测试代码。 2、注:该工程在keil下可以完美运行,led可以正常的闪烁。keil中,_hw_pin.ops 不会为0 在下不知道如何解决这个问题,请各位大佬指点一二。 具体情况如下图所示: ![QQ图片20190603163559.png](https://oss-club.rt-thread.org/uploads/201906/04/085237x4g66gxqeoqsqxvz.png)
查看更多
12
个回答
默认排序
按发布时间排序
还没想好
2019-06-04
这家伙很懒,什么也没写!
猜测: gpio 驱动使用了自动初始化功能,会将一个初始化函数地址放在一个特殊的段里面。不同的编译器对段的操作不一样。 所以需要确定下用的什么编译器,段有没有处理,然后GPIO自动初始化函数有没有运行。
zhangjun
2019-06-04
这家伙很懒,什么也没写!
rtt的stm32的gpio的初始化是在drv_common.c的rt_hw_board_init函数被调用,而rt_hw_board_init函数是在components.c的rtthread_startup函数被调用。 所以有两种可能: 1,因为没有打开pin驱动(也就是没定义RT_USING_PIN)导致gpio.c文件里面的rt_hw_pin_init函数没有在初始化板子时被调用。 2,可能因为配置时没有打开使用用户main函数这一项导致RT_USING_USER_MAIN宏没有打开,从而致使components.c的rtthread_startup函数没有被调用。 调试方法:你先在rt_hw_pin_init这个函数这里断点看看。
ChrisZhang
2019-06-05
这家伙很懒,什么也没写!
>猜测: > >gpio 驱动使用了自动初始化功能,会将一个初始化函数地址放在一个特殊的段里面。不同的编译器对段 ... --- 找到问题了:板子没有初始化,没有调用$Sub$$main,在visual studio 编译器中不知道怎么调用$Sub$$main
ChrisZhang
2019-06-05
这家伙很懒,什么也没写!
>rtt的stm32的gpio的初始化是在drv_common.c的rt_hw_board_init函数被调用,而rt_hw_board_init函数是在comp ... --- 找到问题了:板子没有初始化,没有调用$Sub$$main,在visual studio 编译器中不知道怎么调用$Sub$$main
zhangjun
2019-06-05
这家伙很懒,什么也没写!
你看下你的这个配置(第一项)
ChrisZhang
2019-06-05
这家伙很懒,什么也没写!
>你看下你的这个配置(第一项) --- 问题在于:没有调用rtthread_startup();也就是没有进行板子的初始化
ChrisZhang
2019-06-05
这家伙很懒,什么也没写!
>问题在于:没有调用rtthread_startup();也就是没有进行板子的初始化 --- 但是不知道怎么在VS环境先调用rtthread_startup();
zhangjun
2019-06-05
这家伙很懒,什么也没写!
>问题在于:没有调用rtthread_startup();也就是没有进行板子的初始化 --- 1,只要你开启了图中那一项,就会在启动时自动运行rtthread_startup初始化并启动系统同时把你自己写的main函数作为用户进程运行。 2,如果不开启这一项,你就得手动初始化,很不推荐这种初始化方式,因为容易错。
ChrisZhang
2019-06-05
这家伙很懒,什么也没写!
>1,只要你开启了图中那一项,就会在启动时自动运行rtthread_startup初始化并启动系统同时把你自己写的mai ... --- 这个选项已经启动了,但是我使用的是vs编译环境,不知道为什么编译器不会调用系统初始化函数
zhangjun
2019-06-05
这家伙很懒,什么也没写!
更改配置后,需要在env运行scons --target=vsc -s更新vs code的配置参数
撰写答案
登录
注册新账号
关注者
0
被浏览
1.1k
关于作者
ChrisZhang
这家伙很懒,什么也没写!
提问
6
回答
17
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
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
组件 lwip v2.0.3 版本使用 netdev网卡的 ping 功能
2
简单两步配置RTT源码阅读环境 vsc+clangd
3
恩智浦[FRDM-MCXN947]初探 之 ADC与DAC
4
LVGL使用字库IC芯片显示中文
5
基于STM32H750和Rt-Thread的CANFD通信实现的记录(一)
热门标签
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
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部