SoftConsole 4.0"糟糕的指令"汇编

时间:2016-10-20 22:59:59

标签: assembly compilation wolfssl

使用MicroSemi SoftConsole 4.0尝试编译和运行FreeRTOS演示项目,并且我遇到了错误"错误的指令' [每行代码]'& #34 ;.基本上,整个文件由于某种原因没有被组装。我的控制台看起来像这样:

Building file: ../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm
Invoking: Cross ARM GNU Assembler
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -O2  -g -x assembler-with-cpp -MMD -MP -MF"FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.d" -MT"FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.o" -c -o "FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.o" "../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm"
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm: Assembler messages:
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:37: Error: bad instruction `_text SEGMENT'
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:38: Error: bad instruction `aes_cbc_encrypt PROC'
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:46: Error: bad instruction `save rdi and rsi to rax and r11,restore before ret'
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:47: Error: ARM register expected -- `mov rax,rdi'
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:48: Error: immediate expression requires a # prefix -- `mov r11,rsi'
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:50: Error: bad instruction `convert to what we had for att&t convention'
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:51: Error: ARM register expected -- `mov rdi,rcx'
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:52: Error: ARM register expected -- `mov rsi,rdx'
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:53: Error: ARM register expected -- `mov rdx,r8'
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:54: Error: ARM register expected -- `mov rcx,r9'
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:55: Error: immediate expression requires a # prefix -- `mov r8,[rsp+40]'
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:56: Error: ARM register expected -- `mov r9d,[rsp+48]'
../FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.asm:58: Error: bad instruction `end'
FreeRTOS-Plus/WolfSSL/wolfcrypt/src/subdir.mk:161: recipe for target 'FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.o' failed
make: *** [FreeRTOS-Plus/WolfSSL/wolfcrypt/src/aes_asm.o] Error 1

等。 (它给我一个错误,几乎所有1000行代码,我当然已经编辑出来的可读性)。可以注意到,我使用的是Cross ARM GNU汇编程序(arm-none-eabi-gcc),而我的ARM汇编程序选项是-x assembler-with-cpp。不确定我还需要包含什么,但如果有人知道可能的汇编程序标志或选项,我可能会在命令行的某个地方丢失,这将非常有帮助。我甚至不能100%确定自己在这里发生了什么,所以对可能出现的问题的任何解释都会有所帮助。我觉得这不是一个真正的编码问题,但更像是缺乏兼容性问题(可能是不正确的汇编格式?即使我使用的是跨臂汇编程序)。谢谢!

2 个答案:

答案 0 :(得分:1)

看起来不像ARM asm代码。可能的英特尔代码。

答案 1 :(得分:0)

@Richard是对的。这是我们的英特尔组件,它可以帮助在特定的英特尔平台上进行加密加速。

您可以通过在wolfSSL中添加define NO_ASM或从项目中排除任何以.asm结尾的文件来解决此问题。