Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
scons编译出错
AC6
使用Scons 构建工具,ARMClang交叉编译工具,当使用scons命令编译时,无法编译汇编文件。
发布于 2024-08-08 15:49:20 浏览:581
订阅该版
使用Scons 构建工具,ARMClang V6.14交叉编译工具,当使用scons命令编译时,无法编译汇编文件,提示如下: ``` scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... scons: building associated VariantDir targets: build AS build\kernel\libcpu\arm\cortex-m4\context_rvds.o armclang: error: unsupported option '--cpu' armclang: error: unsupported option '--apcs=interwork' armclang: fatal error: no target architecture given; use --target=arm-arm-none-eabi or --target=aarch64-arm-none-eabi scons: *** [build\kernel\libcpu\arm\cortex-m4\context_rvds.o] Error 1 scons: building terminated because of errors. ``` 在posershell终端使用armasm 汇编工具使用`--cpu Cortex-M4.fp`和`--apcs=interwork` 编译选项编译context_rvds.s文件是能够编译成功的,但是使用scons工具就无法编译。 这个问题如何解决呢?
查看更多
1
个回答
默认排序
按发布时间排序
IJRG_9610
2024-08-09
这家伙很懒,什么也没写!
## 【补充】 本项目github拉去下来的项目,在stm32F407 bsp执行scons指令编译文件 ``` $ scons --verbose scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... scons: building associated VariantDir targets: build armclang --cpu Cortex-M4.fp --apcs=interwork -g -DSTM32F407xx -D__RTTHREAD__ -DRT_USING_ARMLIBC -DRT_USING_LIBC -D__STDC_LIMIT_MACROS -D__CLK_TCK=RT_TICK_PER_SECOND -DUSE_HAL_DRIVER -ID:\xxx_work\PROJECT\xx\rt-thread\bsp\stm32\libraries\HAL_Drivers\CMSIS\Include -c -o build\kernel\libcpu\arm\cortex-m4\context_rvds.o D:\xxx_work\PROJECT\xx\rt-thread\libcpu\arm\cortex-m4\context_rvds.S armclang: error: unknown argument: '--cpu' armclang: error: unknown argument: '--apcs=interwork' armclang: fatal error: no target architecture given; use --target=arm-arm-none-eabi or --target=aarch64-arm-none-eabi scons: *** [build\kernel\libcpu\arm\cortex-m4\context_rvds.o] Error 1 scons: building terminated because of errors. ``` ## 疑问: 编译汇编文件使用的工具不是armasm吗?scons 怎么使用armclang工具呢? 以下是SconStruct代码: ```python DefaultEnvironment(tools=[]) env = Environment(tools = ['mingw'], AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS, AR = rtconfig.AR, ARFLAGS = '-rc', CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS, LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) env.PrependENVPath('PATH', rtconfig.EXEC_PATH) ``` rtconfig.py文件设置内容如下: ```python elif PLATFORM == 'armclang': # toolchains CC = 'armclang' CXX = 'armclang' AS = 'armasm' AR = 'armar' LINK = 'armlink' TARGET_EXT = 'axf' DEVICE = ' --cpu Cortex-M4.fp ' CFLAGS = ' --target=arm-arm-none-eabi -mcpu=cortex-m4 ' CFLAGS += ' -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 ' CFLAGS += ' -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar ' CFLAGS += ' -gdwarf-3 -ffunction-sections ' AFLAGS = DEVICE + ' --apcs=interwork ' LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers ' LFLAGS += ' --list rt-thread.map ' LFLAGS += r' --strict --scatter "board\linker_scripts\link.sct" ' CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCLANG/include' LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCLANG/lib' EXEC_PATH += '/ARM/ARMCLANG/bin/' if BUILD == 'debug': CFLAGS += ' -g -O1' # armclang recommend AFLAGS += ' -g' else: CFLAGS += ' -O2' CXXFLAGS = CFLAGS CFLAGS += ' -std=c99' POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET' elif PLATFORM == 'iccarm': ``` 最后解决的办法如下: 注释rtt根目录tool/building.py文件PrepareBuilding函数中的env['ASCOM']= env['ASPPCOM']就可以了
撰写答案
登录
注册新账号
关注者
0
被浏览
581
关于作者
IJRG_9610
这家伙很懒,什么也没写!
提问
1
回答
1
被采纳
0
关注TA
发私信
相关问题
1
RTThread目前不支持AC6吗?
2
Keil AC6, Nano 的 FinSH 功能失效了,怎么恢复正常?
3
ART-PI工程用MDK5 AC6编译器报错
4
rtthread_simulator_v0.1.0,怎么不支持ac6啊??
5
AC6编译报错unsupported option '--c99'解决办法
6
使用CUBE_MX生成MDK NANO工程,AC6编译报错
7
AC6(arm compiler 6)编译器怎么识别ASM汇编?
8
MKD AC5升级到AC6 --c99错误解决方法
9
MDK使用AC6编译报错!
10
AC6.x编译器问题请教
推荐文章
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-thred的stm32h723对应bsp包CubeMX添加其他外设报错
2
RT-Thread中的time溢出问题,时间戳溢出,解决方法
3
ART-PI使用env驱动ETH网卡,pc和板子可以ping通
4
SystemView线程名字不显示
5
只用网页也能跑RT-Smart 无门槛腾讯Cloud studio + smart-build快速构建
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
8
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
winfeng
2
个答案
1
次被采纳
YZRD
2
个答案
1
次被采纳
本月文章贡献
catcatbing
2
篇文章
5
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
阳光的掌控者
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部