Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
scons配置问题
发布于 2012-12-14 18:18:09 浏览:3774
订阅该版
[tocm] 第一次试着用scons+Gcc编译RT-Thread1.0.0.7z里面的stm32f10x的bsp。按照wiki一步一步走下去,最终mdk编译器成功,也没有遇到命令太长而出现的错误,窃喜! 但尝试了一下gcc,反而出现了错误,不知道还有什么地方没有修改完,菜鸟求教,谢谢了! 编译器及其版本:arm-2011.03-41-arm-none-linux-gnueabi.exe 每个源文件都有如下的错误情况,只列其中一个: ```d:/program files/codesourcery/sourcery g++ lite/bin/../lib/gcc/arm-none-linux-gn ueabi/4.5.2/../../../../arm-none-linux-gnueabi/bin/ld.exe: error: buildcomponen tsfinshlibfinsh.a(finsh_init.o): Conflicting architecture profiles M/A``` (配置文件结构冲突?) ftconfig.py的配置情况: ```# toolchains options ARCH='arm' CPU='cortex-m3' CROSS_TOOL='gcc' #device options # STM32_TYPE = # 'STM32F10X_LD','STM32F10X_LD_VL', # 'STM32F10X_MD','STM32F10X_MD_VL', # 'STM32F10X_HD','STM32F10X_HD_VL', # 'STM32F10X_XL','STM32F10X_CL' STM32_TYPE = 'STM32F10X_HD' # lcd panel options # 'FMT0371','ILI932X', 'SSD1289' RT_USING_LCD_TYPE = 'SSD1289' # cross_tool provides the cross compiler # EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR if CROSS_TOOL == 'gcc': PLATFORM = 'gcc' EXEC_PATH = 'D:/Program Files/CodeSourcery/Sourcery G++ Lite/bin' elif CROSS_TOOL == 'keil': PLATFORM = 'armcc' EXEC_PATH = 'C:/Keil' elif CROSS_TOOL == 'iar': PLATFORM = 'iar' IAR_PATH = 'E:/Program Files/IAR Systems/Embedded Workbench 6.0' BUILD = 'debug' if PLATFORM == 'gcc': # toolchains PREFIX = 'arm-none-linux-gnueabi-' CC = PREFIX + 'gcc' AS = PREFIX + 'gcc' AR = PREFIX + 'ar' LINK = PREFIX + 'gcc' TARGET_EXT = 'axf' SIZE = PREFIX + 'size' OBJDUMP = PREFIX + 'objdump' OBJCPY = PREFIX + 'objcopy' DEVICE = ' -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections' CFLAGS = DEVICE AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp' LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-stm32.map,-cref,-u,Reset_Handler -T stm32_rom.ld' CPATH = '' LPATH = '' if BUILD == 'debug': CFLAGS += ' -O0 -gdwarf-2' AFLAGS += ' -gdwarf-2' else: CFLAGS += ' -O2' POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin ' + SIZE + ' $TARGET ' elif PLATFORM == 'armcc': # toolchains CC = 'armcc' AS = 'armasm' AR = 'armar' LINK = 'armlink' TARGET_EXT = 'axf' DEVICE = ' --device DARMSTM' CFLAGS = DEVICE + ' --apcs=interwork' AFLAGS = DEVICE LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread-stm32.map --scatter stm32_rom.sct' CFLAGS += ' -I' + EXEC_PATH + '/ARM/RV31/INC' LFLAGS += ' --libpath ' + EXEC_PATH + '/ARM/RV31/LIB' EXEC_PATH += '/arm/bin40/' if BUILD == 'debug': CFLAGS += ' -g -O0' AFLAGS += ' -g' else: CFLAGS += ' -O2' POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin fromelf -z $TARGET' elif PLATFORM == 'iar': # toolchains CC = 'iccarm' AS = 'iasmarm' AR = 'iarchive' LINK = 'ilinkarm' TARGET_EXT = 'out' DEVICE = ' -D USE_STDPERIPH_DRIVER' + ' -D STM32F10X_HD' CFLAGS = DEVICE CFLAGS += ' --diag_suppress Pa050' CFLAGS += ' --no_cse' CFLAGS += ' --no_unroll' CFLAGS += ' --no_inline' CFLAGS += ' --no_code_motion' CFLAGS += ' --no_tbaa' CFLAGS += ' --no_clustering' CFLAGS += ' --no_scheduling' CFLAGS += ' --debug' CFLAGS += ' --endian=little' CFLAGS += ' --cpu=Cortex-M3' CFLAGS += ' -e' CFLAGS += ' --fpu=None' CFLAGS += ' --dlib_config "' + IAR_PATH + '/arm/INC/c/DLib_Config_Normal.h"' CFLAGS += ' -Ol' CFLAGS += ' --use_c++_inline' AFLAGS = '' AFLAGS += ' -s+' AFLAGS += ' -w+' AFLAGS += ' -r' AFLAGS += ' --cpu Cortex-M3' AFLAGS += ' --fpu None' LFLAGS = ' --config stm32f10x_flash.icf' LFLAGS += ' --redirect _Printf=_PrintfTiny' LFLAGS += ' --redirect _Scanf=_ScanfSmall' LFLAGS += ' --entry __iar_program_start' EXEC_PATH = IAR_PATH + '/arm/bin/' POST_ACTION = ''```
查看更多
4
个回答
默认排序
按发布时间排序
weety
2012-12-14
这家伙很懒,什么也没写!
不能用arm-2011.03-41-arm-none-linux-gnueabi.exe这个编译器,需要使用带newlib库的编译器,那个编译器是不带linux的标记的
prife
2012-12-15
这家伙很懒,什么也没写!
对,用错GCC编译器了。RTT 官网网盘里提供了,应该是 arm none eabi版本。 [http://pan.baidu.com/share/link?shareid=112319&uk=4264488348#dir/path=%2FGCC%E7%BC%96%E8%AF%91%E5%99%A8](http://pan.baidu.com/share/link?shareid ... 1%E5%99%A8) 下载 forlinux版本。
celticzy
2012-12-15
这家伙很懒,什么也没写!
>对,用错GCC编译器了。RTT 官网网盘里提供了,应该是 arm none eabi版本。 >[http://pan.baidu.com/share/link?shareid=112319&uk=4264488348#dir/path=%2FGCC%E7%BC%96%E8%AF%91%E5%99%A8](http://pan.baidu.com/share/link?shareid ... 1%E5%99%A8) > >下载 forlinux版本。 --- 谢谢两位,我去官方下了个,已解决,哈哈
撰写答案
登录
注册新账号
关注者
0
被浏览
3.8k
关于作者
celticzy
这家伙很懒,什么也没写!
提问
14
回答
54
被采纳
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
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
次被采纳
红枫
5
个答案
1
次被采纳
Ryan_CW
5
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
本月文章贡献
YZRD
3
篇文章
6
次点赞
catcatbing
3
篇文章
6
次点赞
lizimu
2
篇文章
11
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部