2012-06-26 591 views
1

我正在使用隨Visual Studio 2008附帶的Microsoft ARM彙編程序v15.00.20720(armasm.exe)。我試圖構建使用ARM Cortex-A8 NEON的彙編文件說明,但我得到 「未知代碼」 爲VLD1VST1指令錯誤 我的處理器是TI OMAP 3430未知操作碼使用ARM NEON指令與Microsoft ARM彙編程序

我的命令行:

armasm -32 -CPU ARM8 myfile.asm myfile.obj 

例如:

VLD1.64 {d0-d3}, [[email protected]]! ; unknown opcode VLD1 
VST1.64 {d4-d7}, [[email protected]]! ; unknown opcode VST1 

我該如何解決這些錯誤?

回答

1

VS2008的armasm支持ARM架構,只支持不包含NEON的ARMv6(ARM11)。 (the doc表示只支持v5,但我認爲它在SP1中得到了擴展。)

對於ARMv7,您可以使用最近的WinCE(= Windows Embedded Compact)Platform Builder或Visual Studio 2012(儘管我不是100%確定VS2012是否支持定位WinCE)。

+0

看起來NEON指令只在A系列處理器中,而不是在底層ARMv7內核中。 http://arm.com/products/processors/technologies/neon.php我嘗試使用CE6平臺生成器armasm(v15.01.31217),我得到一個類似的錯誤。VS2012不能以WinCE爲目標。 (但)儘管如此,我仍然可以嘗試。我所需要的只是目標文件,對吧?一旦我明白了,VS2008應該能夠鏈接它。 – PaulH

+0

您應該獲得Windows Compact 7工具,它們[支持ARMv7](http://msdn.microsoft.com/zh-cn/library/gg154428):「Windows Embedded Compact 7支持ARM許可的架構v5,v6, v6 MP和v7。「 –

+0

WEC7 armasm(v15.01.50304)也不支持NEON。我懷疑NEON是WEC7 ARM彙編器不支持的Cortex-A系列架構的一部分。 – PaulH