Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread发布
1.0.2的stm32f20x编译问题
发布于 2012-07-25 09:01:19 浏览:6683
订阅该版
初用RTT,官方的BSP的编译都没有通过,不好意思上来问问。 环境:RT-Thread 1.0.2.7z,Keil,scons,和Arda Scnons GUI。编译路径:bsp stm32f20x rtconfig.h 未改动前,用Arda Scons编译,有个警告: ```> armcc -o buildspstartup.o > "startup.c", line 108: Warning: #223-D: function "rt_hw_rtc_init" declared implicitly > rt_hw_rtc_init(); > ^ > startup.c: 1 warning, 0 errors > armcc -o buildspstm32f20x_it.o``` 用Keil编译project.uvproj ```compiling startup.c... startup.c(108): warning: #223-D: function "rt_hw_rtc_init" declared implicitly compiling sdio_sd.c... sdio_sd.c(1320): warning: #223-D: function "SD_DMAEndOfTransferStatus" declared implicitly sdio_sd.c(1552): warning: #223-D: function "SD_DMAEndOfTransferStatus" declared implicitly sdio_sd.c(2772): warning: #177-D: label "__return" was declared but never referenced``` 这一步只有警告,没报错。 将rtconfig.h中定义,#define RT_USING_DFS,其它未改动。用Arda Scons编译,警告加报错: ```> armcc -o buildspstartup.o > "startup.c", line 102: Warning: #223-D: function "rt_hw_sdcard_init" declared implicitly > rt_hw_sdcard_init(); > ^ > "startup.c", line 108: Warning: #223-D: function "rt_hw_rtc_init" declared implicitly > rt_hw_rtc_init(); > ^ > startup.c: 2 warnings, 0 errors > armcc -o buildspstm32f20x_it.o > armcc -o buildspstm32f2xx_eth.o > "stm32f2xx_eth.c", line 3353: Error: #5: cannot open source input file "netif/ethernetif.h": No such file or directory > scons: building terminated because of errors. > #include
> ^ > stm32f2xx_eth.c: 0 warnings, 1 error > scons: *** [buildspstm32f2xx_eth.o] Error 1 > Finish. ``` 用Keil编译project.uvproj ```startup.c(102): warning: #223-D: function "rt_hw_sdcard_init" declared implicitly startup.c(108): warning: #223-D: function "rt_hw_rtc_init" declared implicitly … sdio_sd.c(1320): warning: #223-D: function "SD_DMAEndOfTransferStatus" declared implicitly sdio_sd.c(1552): warning: #223-D: function "SD_DMAEndOfTransferStatus" declared implicitly sdio_sd.c(2772): warning: #177-D: label "__return" was declared but never referenced … linking... .obj tthread-stm32.axf: Error: L6218E: Undefined symbol elm_init (referred from application.o). Target not created``` 我有点不太明白的是, 1) Keil和Scons的结果为什么会不一样?我应当用哪个? 2) RT_USING_DFS 跟ethernetif.h有什么关系,为什么Scons要ethernetif.h? 最重要的是,我的操作步骤没错吧?如果是bug,有改好的用最好,要不然我就自己折腾了。多谢,多谢 PS,STM32F2跟F4的外设是不是一样的?也就是说F2的driver基本可以到F4跑?
查看更多
8
个回答
默认排序
按发布时间排序
prife
2012-07-25
这家伙很懒,什么也没写!
1. 注意,Arda SCons并不是编译器,只是一个SCons的图形前端,它到底使用的什么编译器,需要看 rtconfig.py中的定义(rtconfig.py的作用见“建议”)。 所以这两个问题其实都是一个问题,如果你咋rtconfig.py中使用的GCC编译器,那么arda scons就会使用gcc编译,那么编译的输出信息跟KEIL的编译输出是不同的。 当rtconfig.py选择同样的编译器时,那么输出信息基本上一致的。 建议:把本站wiki百科板块,配置开发环境之基础篇两篇看一下。 2. bsp目录下的代码大多是demo,所以可能会有一些warning,一般来说我们会尽力减少这些warning,但是它们依然存在。不过大多数可能会是一些简单的语法错误,比如使用未声明的函数等等,其实楼主可以自行解决~
aozima
2012-07-25
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
>#define RT_USING_DFS, 报错 >2) RT_USING_DFS 跟ethernetif.h有什么关系,为什么Scons要ethernetif.h? --- 原因是 SConscript 里面写反了: ``` if GetDepend('RT_USING_DFS'): src_drv += ['stm32f2xx_eth.c'] if GetDepend('RT_USING_LWIP'): src_drv += ['sdio_sd.c'] ```
aozima
2012-07-25
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
>1) Keil和Scons的结果为什么会不一样?我应当用哪个? --- 1. 直接在scons中调用keil编译,除两个编译器本身的差异外,如果代码正确,得到的结果应该一致。 2. 您上面是直接使用keil编译,则应该先用scons生成工程,把新添加的组件的文件添加进来。 如上面使能了DFS,keil里面此时并没有DFS的源文件。 关于scons的使用及生成工程,请参考2楼提到的wiki。
presto
2012-07-25
这家伙很懒,什么也没写!
多谢回复.目前编译问题解决. scons借助python确实功能强大,用起来也方便. 我想可能原目录里的project.uvproj没有跟scons的文件同步,所以编译有差别. 我看F2下没什么GUI的driver,看来要从F1下搬过来,或者1.1有F2的driver么? 能从1.1搬东西来用么? F2的driver在F4下好像也可以用吧?
prife
2012-07-25
这家伙很懒,什么也没写!
>多谢回复.目前编译问题解决. > >scons借助python确实功能强大,用起来也方便. >我想可能原目录里的project.uvproj没有跟scons的文件同步,所以编译有差别. > >我看F2下没什么GUI的driver,看来要从F1下搬过来,或者1.1有F2的driver么? >能从1.1搬东西来用么? >F2的driver在F4下好像也可以用吧? --- 是的,如果F2下没有LCD的driver,就需要你自己从F10x或者F40x或者其他BSP里移植LCD Driver驱动,说是移植,改动都是很小的。 另外,F2的drvier在F4下可用? 这个要看实际的电路连接了。所以你需要自己核对。
presto
2012-07-25
这家伙很懒,什么也没写!
>是的,如果F2下没有LCD的driver,就需要你自己从F10x或者F40x或者其他BSP里移植LCD Driver驱动,说是移植,改动都是很小的。 > >另外,F2的drvier在F4下可用? 这个要看实际的电路连接了。所以你需要自己核对。 --- 从F1到F2移植还是要做些事情的,特别是DMA及相应的中断. 如果电路不变, 只是F2芯片换成F4, 是不是驱动就不用改? 大概看了下手册, 没发现两者的外设有什么区别.
bernard
2012-07-25
这家伙很懒,什么也没写!
>>是的,如果F2下没有LCD的driver,就需要你自己从F10x或者F40x或者其他BSP里移植LCD Driver驱动,说是移植,改动都是很小的。 >> >>另外,F2的drvier在F4下可用? 这个要看实际的电路连接了。所以你需要自己核对。 > >--- > > > >从F1到F2移植还是要做些事情的,特别是DMA及相应的中断. 如果电路不变, 只是F2芯片换成F4, 是不是驱动就不用改? 大概看了下手册, 没发现两者的外设有什么区别. --- 有一种说法,F2的程序直接灌到F4中就可以跑起来,当然前提是采用pin 2 pin兼容的芯片。
撰写答案
登录
注册新账号
关注者
0
被浏览
6.7k
关于作者
presto
这家伙很懒,什么也没写!
提问
35
回答
46
被采纳
1
关注TA
发私信
相关问题
1
RT-Thread单内核v0.2.2正式版
2
[发布] RT-Thread RTOS v0.2.3版本
3
RT-Thread 0.3.0 beta
4
RT-Thread/STM32 0.3.0 RC1发布
5
RT-Thread/LM3S 0.3.0 RC1版发布
6
建议弄个MIPS版本的。龙芯上用。
7
开源实时操作系统RT-Thread 0.3.0正式版发布
8
关于RT-THREAD的UDP讨论
9
这里是BUG回报板块!
10
rt-thread stm32 0.3.0 rc1 网络问题
推荐文章
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 小内存算法源码分析
2
env中添加lvgl软件包后,keil编译包--c99错误
3
【NXP-MCXA153】 定时器驱动移植
4
GD32F450 看门狗驱动适配
5
【NXP-MCXA153】看门狗驱动移植
热门标签
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
freemodbus
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
keil_MDK
msh
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
7
个答案
2
次被采纳
a1012112796
18
个答案
1
次被采纳
红枫
8
个答案
1
次被采纳
Ryan_CW
5
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
本月文章贡献
YZRD
3
篇文章
6
次点赞
catcatbing
3
篇文章
6
次点赞
lizimu
2
篇文章
12
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部