- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I’m working on cyclone V based project using DS-5 AE tools. I created a project using the Altera-Cyclone-V_RAM example of the DS-5 Examples & Programming Libraries’ The project compiles well and I can debug it without problem. Then I created the assembler file according to the following example: [url]https://developer.arm.com/products/software-development-tools/ds-5-development-studio/resources/tutorials/beyond-hello-world-advanced-arm-compiler-features (https://developer.arm.com/products/software-development-tools/ds-5-development-studio/resources/tutorials/beyond-hello-world-advanced-arm-compiler-features)[/URL] This example is very simple and the file my_strcopy.s contains the following code: preserve8area scopy, code, readonly
export my_strcopy ; export symbol
my_strcopy ; r0 -> dest string
; r1 -> source string
ldrb r2, [r1],#1 ; load byte + update addr
strb r2, [r0],#1 ; store byte + update addr
cmp r2,# 0 ; check for null
bne my_strcopy ; keep going if not
bx lr ; return
end When I compile the project I got the following error message: armlink --cpu=Cortex-A9.no_neon.no_vfp --fpu=vfpv3 --scatter="../scatter.scat" --info=sizes -o"../Hello_and_ASM.axf" ./hello.o ./my_strcopy.o error: l6366e: my_strcopy.o attributes are not compatible with the provided attributes. Object my_strcopy.o contains Build Attributes that are incompatible with the provided attributes. Tag_THUMB_ISA_use = No Thumb instructions were permitted to be used (=0) Tag_Advanced_SIMD_arch = Use of the Advanced SIMD Architecture (Neon) was permitted (=1) Finished: 3 information, 0 warning and 1 error messages. What can I do? Thanks for your Help Kind regards Jerome
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In the property of the project, Setting: The target must be identical with C compiler Arm assembler and linker : Cortex-A9.no_neon.no_vfp.
The ARM support wrote: Hi Jerome, One thing to note immediately is that the options "--cpu=Cortex-A9.no_neon.no_vfp --fpu=vfpv3" to the linker directly conflict with each other. You can't build for a CPU with no FPU yet specify an FPU. This may be the cause of some of your issues. Can you give us the compiler (armcc) options used here? The errors can come out via mismatch between the compiler options used to build two source files or even link against the C library itself. It is possible that hello.o was built without a --cpu option, in which case it would have been built for ARMv4 (not even ARMv4T) which would flag the attribute to disallow Thumb instructions from being linked against that compilation unit. The same goes for the FPU -- specifying no FPU or a different FPU type for each file can prove to set the Advanced SIMD flag on one, but not the other. By aligning your compiler and linker arguments you should be able to align the settings and come out with binary objects which do not have conflicting attributes. Ta, Matt
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page