UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer yohboy
Observer
857 Views
Registered: ‎03-06-2017

Using ARMCC with SDK - ERROR FSBL

Jump to solution

Hello,

 

I'm trying to use ARMCC with SDK and my zynq. I saw I can change the preference in "Toolchain Preferences" an change Cortex-a9 : Linaro to ARMCC. I set my system path and license for ARMCC, create an hello world application for zynq, compile, exec ... So far so good. 

 

However, when I try to add a FSBL (New application Project -> Zynq FSBL), the FSBL BSP library compiles correctly but the FSBL fails. I get an error with the "fsbl_handoff.S" : 

 

"../src/fsbl_handoff.S", line 1 (column 8): Error: A1163E: Unknown opcode __GNUC__ , expecting opcode or Macro
    1 00000000 #ifdef __GNUC__
                      ^
"../src/fsbl_handoff.S", line 2: Error: A1167E: Invalid line start 
    2 00000000 /******************************************************************************
"../src/fsbl_handoff.S", line 33: Error: A1167E: Invalid line start 
   33 00000000 /*****************************************************************************/
"../src/fsbl_handoff.S", line 34: Error: A1167E: Invalid line start 
   34 00000000 /**
"../src/fsbl_handoff.S", line 56 (column 8): Error: A1163E: Unknown opcode FsblHandoffJtagExit , expecting opcode or Macro
   56 00000000 .globl FsblHandoffJtagExit
                      ^
"../src/fsbl_handoff.S", line 58 (column 8): Error: A1163E: Unknown opcode FsblHandoffExit , expecting opcode or Macro
   58 00000000 .globl FsblHandoffExit
                      ^
"../src/fsbl_handoff.S", line 60: Error: A1167E: Invalid line start 
   60 00000000 .section .handoff,"axS"
.
.
.

Do you have any input to fix this error please ?

 

SDK version: 2017.3

ARMCC version : 5

 

Thank you,

Best regards,

Yohan

0 Kudos
1 Solution

Accepted Solutions
Scholar ericv
Scholar
777 Views
Registered: ‎04-13-2015

Re: Using ARMCC with SDK - ERROR FSBL

Jump to solution

@yohboy

the problem is the ARM asm does not recognizes the #ifdef , #elif.  The GNU assembler runs the pre-processor on assembly files before running the assembler itself. Ideally all you would need is to run the ARMCC pre-processor on the file but it also defines __GNU__  So either you delete the non-ARMCC code or you replace the #if #elif etc with these:

   IF (:DEF: __GNUC__)

  ELIF (:DEF: __IASMARM__)

  ELSE

  END

Make sure to not put these in the first column because the assembler will interpret them as labels.

 

Regards

 

View solution in original post

4 Replies
Scholar ericv
Scholar
826 Views
Registered: ‎04-13-2015

Re: Using ARMCC with SDK - ERROR FSBL

Jump to solution

@yohboy

The ARMCC compiler is GNU compatible but the assembler is not.  The errors you are getting are with the  assembly files because the ARM assembler syntax is not compatible with GNU's syntax.

To get them to build, you'll have to migrate the assembly files to the ARM syntax.

 

 

0 Kudos
Observer yohboy
Observer
793 Views
Registered: ‎03-06-2017

Re: Using ARMCC with SDK - ERROR FSBL

Jump to solution

Hello @ericv,

Thank you for answer, I understand ARM assembler syntax is not comptatible with GNU assembler syntax, however, the FSBL seems to define different syntaxes (__GNU__ , __IASMARM__ , other...).

I was thinking it'll work !

You can find attack the fsbl_handoff.S for information.

Thank you,

regards, Yohan 

 

 

0 Kudos
Scholar ericv
Scholar
778 Views
Registered: ‎04-13-2015

Re: Using ARMCC with SDK - ERROR FSBL

Jump to solution

@yohboy

the problem is the ARM asm does not recognizes the #ifdef , #elif.  The GNU assembler runs the pre-processor on assembly files before running the assembler itself. Ideally all you would need is to run the ARMCC pre-processor on the file but it also defines __GNU__  So either you delete the non-ARMCC code or you replace the #if #elif etc with these:

   IF (:DEF: __GNUC__)

  ELIF (:DEF: __IASMARM__)

  ELSE

  END

Make sure to not put these in the first column because the assembler will interpret them as labels.

 

Regards

 

View solution in original post

Observer yohboy
Observer
730 Views
Registered: ‎03-06-2017

Re: Using ARMCC with SDK - ERROR FSBL

Jump to solution

Hi @ericv, thank you for help, it works perfectly !

regards,

Yohan

0 Kudos