03-23-2018 04:51 AM
Hello,
I am trying to set up SDK so that it uses the ARMCC from DS-5 according the XApp 1185 (http://www.xilinx.com/support/documentation/application_notes/xapp1185-Zynq-software-development-with-DS-5.pdf) .
The app-note is a bit dated and apparently some ARM-tool called from one of the scripts (appguru) is not part of the ARM tool-suite anymore. So I went for using the flow in the appendix, the manual setup from page 9 onwards.
When I come to the point that I want to compile the BSP using the ARMCC I get a lot of errors like:
"Compiling canps"
process_begin: CreateProcess(NULL, armcc -O2 -c -g -I./. -I../../../include -o xcanps.o xcanps.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[1]: *** [xcanps.o] Error 2
process_begin: CreateProcess(NULL, armcc -O2 -c -g -I./. -I../../../include -o xcanps_g.o xcanps_g.c, ...) failed.
make (e=2): The system cannot find the file specified.
If I set up armcc manually and point to the xcanps_g.c then the file compiles properly. Also if I just go for the standard GNU-compiler coming with SDK this works nicely.
So SDK and ARMCC seem to have some communication-issue.
Anyone any idea how the files could be properly handed to the ARMCC?
Thanks,
Martin
03-27-2018 02:00 AM
Hi @martin_privat,
You are right, XAPP1185 is bit outdated, but setting SDK to use ARMCC should not be complicated. In SDK Preferences menu there is an option to select the toolchain, where you can set it for ARMCC.
The projects (both BSP and application) created after this settings are applied, will be generated with the corresponding configurations for the ARMCC toolchain.
You can also modify the properties for a particular BSP/Application with the SDK preferences set to Linaro toolchain as well. I would say that you tested that way, but something might be wrong in your flow as I tested on my side with a helloworld project for ZC702 and it did work for me.
Regards
Ibai
03-27-2018 05:53 AM
Hello @ibaie
Thanks for the pointer with the preferences, didn't know that one. I tried that, however even though I have the ARMCC set as compiler by now I still get file-not-found errors in the compilation of my BSP.
However if I look at what the BSP would contain as sources I see:
So something seems to be missing on my side.
Thanks,
Martin
03-29-2018 03:19 AM
04-04-2018 12:13 AM
Hello @ibaie,
I have McAffee running, however I cannot disable it here.
If I do the make-command from XSCT I see more or less the same as via the GUI (line-wraps were put in by me for better readability):
-------------
xsct% make
WARNING: [Common 17-259] Unknown Tcl command 'make' sending command to the OS shell for execution. It is recommended to use 'exec' to send the command to the OS shell.
"Running Make include in ps7_cortexa9_0/libsrc/canps_v3_2/src"
C:/Xilinx/SDK/2017.3/gnuwin/bin/make.EXE -C ps7_cortexa9_0/libsrc/canps_v3_2/src -s include "SHELL=CMD" "COMPILER=armcc" "ARCHIVER=armar" "COMPILER_FLAGS= -O2 -c" "EXTRA_COMPILER_FLAGS=-g"
...
"Running Make libs in ps7_cortexa9_0/libsrc/canps_v3_2/src"
C:/Xilinx/SDK/2017.3/gnuwin/bin/make.EXE -C ps7_cortexa9_0/libsrc/canps_v3_2/src -s libs "SHELL=CMD" "COMPILER=armcc" "ARCHIVER=armar" "COMPILER_FLAGS= -O2 -c " "EXTRA_COMPILER_FLAGS=-g"
"Compiling canps"
process_begin: CreateProcess(NULL, armcc -O2 -c -g -I./. -I../../../include -o x canps.o xcanps.c, ...) failed.
make (e=2): The system cannot find the file specified.
make.EXE[1]: *** [xcanps.o] Error 2
make.EXE: *** [ps7_cortexa9_0/libsrc/canps_v3_2/src/make.libs] Error 2 child process exited abnormally
xsct%
-------------
However, if I do a call to e.g. the initial canps_v3_2 manually and point to the files in libsrc then this runs through. This also runs through with McAffee enabled. So the tools generally work, it is only some missing bit for pointing to the right directories.
Manually compiling all these parts of the BSP however is not an option, this must be done by the tools themselves.
Thanks,
Martin
04-05-2018 05:57 AM
Hi @martin_privat,
I'm wondering the steps you followed to configure the armcc as toolchain, I mean did you use the Xilinx Preferences or just modify the BSP?
If so, did you generate a new application/bsp project? As pointed in the past you need the projects be created afterwards to have all the configuration set-up for ARMCC.
Regards,
Ibai
04-05-2018 07:49 AM
Hello @ibaie,
your initial pointer with the preferences was good and I followed that. For that I had XSDK open and changed the preferences. Afterwards (!) I generated a new application with a new BSP which then had the armcc already set.
The call to armcc also works (apparently), the only bit that is missing is the compiler finding the files. Is there anything in the background like environment-variables that could or would have to be set?
Thanks,
Martin
04-13-2018 04:59 AM
There is no any enviromental variable required by the tool appart from the fact you need to have the ARMCC in the PATH variable to be able to make it run :)
The compiler just uses the -I include folder specifications to get the header files and as far as in the log file it seems it's pointing properly there is no apperent reasons for the failure. The issue is also replicable calling to the Makefiles or using XSCT, so there it seems no to be related to Eclipse neither.
"Compiling canps" process_begin: CreateProcess(NULL, armcc -O2 -c -g -I./. -I../../../include -o x canps.o xcanps.c, ...) failed. make (e=2): The system cannot find the file specified.
In a previous post you mention that compiling the drivers locally seems to work
However, if I do a call to e.g. the initial canps_v3_2 manually and point to the files in libsrc then this runs through. This also runs through with McAffee enabled. So the tools generally work, it is only some missing bit for pointing to the right directories.
Could you explain it bit more? What does mean point to the files in libsrc?
Regards
Ibai
04-27-2018 04:22 AM
Hello @ibaie,
the solution is actually really "just" the variables. The trick is to start the ARM Command Prompt and from there source the setup-scripts for SDK (e.g. c:\Xilinx\SDK\2017.3\settings64.bat).
From that dos-box start xsdk and if the stuff is compiled it runs through.
Cheers,
Martin