Hallo everyone!I have a little, but strange problem: I installed Altera Quartus II and Nios II v5.1 onto my computer (Windows XP Professional SP3). I installed an ecos to it. I start the command line. (Start Menu -> Programs -> Altera -> NIOS II -> nios ii sdk shell) type the following: mount -tf c:\\ /ecos-c then the following: ecosconfig --prefix=/ecos-c/source/embedded/nios/project/software/project_ecoslib/debug/project_install --config=/ecos-c/source/embedded/nios/project/software/project_ecoslib/project_release.ecc tree i receive the following error messages: c:\altera\kits\nios2_51 c:\ecos-c\source\embedded\nios\project\software\project_ecoslib\project_release.ecc: error couldn't read file "c:\ecos-c\source\embedded\nios\project\software\project_ecoslib\project_release.ecc": no such file or directory invalid savefile "c:\ecos-c\source\embedded\nios\project\software\project_ecoslib\project_release.ecc". 1 error occurred while reading in the savefile data. /ecos-c/source/embedded/nios/project/software/project_ecoslib The question is: WHY adds it automatically an "ecos-c" folder to the path. This .ecc file is at c:\Source\Embedded\Nios\Project\software\Project_EcosLib\Project_Release.ecc Where and which option can be corrupt/bad? Why does this ecosconfig program add this "ecos-c" as addition to the path? Please, help me to find out this thing. I tried to look up at many different places, haven't found anything in addition to this strange thing: if i change the mounting point name from ecos-c to e.g. drive-c then the error will be the following: c:\altera\kits\nios2_51 c:\drive-c\source\embedded\nios\project\software\project_ecoslib\project_release.ecc: error couldn't read file "c:\drive-c\source\embedded\nios\project\software\project_ecoslib\project_release.ecc": no such file or directory invalid savefile "c:\drive-c\source\embedded\nios\project\software\project_ecoslib\project_release.ecc". 1 error occurred while reading in the savefile data. /drive-c/source/embedded/nios/project/software/project_ecoslib It is clearly seen, that there is a problem with the paths/mounts. Please, help me about this mount-issue. It can be clearly seen that the files are at place (where they should be located), only some mounting settings must be checked/set/removed/etc. Could You please give me any ideas(s)?
seems to be more a cygwin issue than Altera/Quartus.What version of cygwin is installed with Nios II 5.1? Is there a reason why you are using such an old version of Quartus/Nios? If you just type mount after your first command, does the mount point appear as expected?
Hi,I am using the old version , because the newer NIOS II libraries are no more compatible with my old firmware software (developed about 6 years ago). If I just type mount, I get the following list: c:\altera\quartus51\bin\cygwin\bin on /usr/bin type system (textmode)
c:\altera\quartus51\bin\cygwin\lib on /usr/lib type system (textmode)
c:\altera\quartus51\bin\cygwin on / type system (textmode)
c: on /ecos-c type system (textmode)
f: on /cygdrive/f type user (textmode,noumount)
k: on /cygdrive/k type user (textmode,noumount)
p: on /cygdrive/p type user (textmode,noumount)
z: on /cygdrive/z type user (textmode,noumount) From that, it seems that the mounting points are set correctly.
yes it seems so... can't you use /cygdrive/c instead?You could ask on a cygwin forum, there could be a bug in the version that was shipped with Quartus/Nios II 5.1
At first I tried the /cygwin/c/ variant. In that case I get the following error(s):c:/altera/kits/nios2_51/components/ecos/ecos-current/packages/hal/nios2/arch/current/cdl/hal_nios2.cdl: error
the file c:\dokume~1\andras~1\lokale~1\temp/nios2_auto.cdl does not exist.
this file is normally created by either the
nios2configtool or nios2ecosconfig wrapper scripts: > nios2configtool --ptf=<ptf file> --cpu=<cpu name> or: > nios2ecosconfig --ptf=<ptf file> --cpu=<cpu name> alteratively, you can generate it directly before
starting the configuration tool: > gtf-generate --gtf=$ecos_repository/hal/nios2/arch/current/gtf/nios2_auto.cdl.gtf --ptf=<ptf file> --cpu=<cpu name>
u cygbld_iso_ctype_header, new inferred value <cyg/libc/i18n/ctype.inl>
u cygbld_iso_errno_codes_header, new inferred value <cyg/error/codes.h>
u cygbld_iso_errno_header, new inferred value <cyg/error/errno.h>
u cygbld_iso_stdio_filetypes_header, new inferred value <cyg/libc/stdio/stdio.h>
u cygbld_iso_strerror_header, new inferred value <cyg/error/strerror.h>
u cygbld_iso_strtok_r_header, new inferred value <cyg/libc/string/string.h>
u cygbld_iso_string_locale_funcs_header, new inferred value <cyg/libc/string/string.h>
u cygbld_iso_stdlib_strconv_header, new inferred value <cyg/libc/stdlib/atox.inl>
u cygbld_iso_stdio_streams_header, new inferred value <cyg/libc/stdio/stdio.h>
u cygbld_iso_stdio_fileops_header, new inferred value <cyg/libc/stdio/stdio.h>
u cygbld_iso_stdio_fileaccess_header, new inferred value <cyg/libc/stdio/stdio.h>
u cygbld_iso_stdio_formatted_io_header, new inferred value <cyg/libc/stdio/stdio.h>
u cygbld_iso_stdio_char_io_header, new inferred value <cyg/libc/stdio/stdio.h>
u cygbld_iso_stdio_direct_io_header, new inferred value <cyg/libc/stdio/stdio.h>
u cygbld_iso_stdio_filepos_header, new inferred value <cyg/libc/stdio/stdio.h>
u cygbld_iso_stdio_error_header, new inferred value <cyg/libc/stdio/stdio.h>
u cygbld_iso_stdlib_abs_header, new inferred value <cyg/libc/stdlib/abs.inl>
u cygbld_iso_stdlib_div_header, new inferred value <cyg/libc/stdlib/div.inl>
u cygbld_iso_string_bsd_funcs_header, new inferred value <cyg/libc/string/bsdstring.h>
u cygbld_iso_string_memfuncs_header, new inferred value <cyg/libc/string/string.h>
u cygbld_iso_string_strfuncs_header, new inferred value <cyg/libc/string/string.h>
u cygbld_iso_setjmp_header, new inferred value <cyg/libc/setjmp/setjmp.h>
u cygbld_iso_c_time_types_header, new inferred value <cyg/libc/time/time.h>
u cygbld_iso_c_clock_funcs_header, new inferred value <cyg/libc/time/time.h>
u cygbld_iso_dirent_header, new inferred value <cyg/fileio/dirent.h>
u cygbld_iso_bsdtypes_header, new inferred value <sys/bsdtypes.h>
u cygbld_iso_open_max_header, new inferred value <cyg/fileio/limits.h>
u cygbld_iso_name_max_header, new inferred value <cyg/fileio/limits.h>
u cygbld_iso_netdb_proto_header, new inferred value <net/netdb.h>
u cygbld_iso_netdb_serv_header, new inferred value <net/netdb.h>
unable to open file c:\source\embedded\nios\project\software\project_ecoslib\project_debug.ecc
package cygpkg_hal_nios2, 1 error occurred while reading in the cdl data.couldn't open "c:\source\embedded\nios\project\software\project_ecosib\project_debug.ecc": permission denied
That permission denied error is rather strange...And does the nios2_auto.cdl file actually exist or not? If the scripts can't find it, it could be a good idea to define the TMP dir to somewhere else, such as /tmp
Thank You for this answer. I am a bit closer to the solution...But, it also does not working yet. I type the following: ecosconfig --prefix=/cygdrive/c/source/embedded/nios/project/software/project_ecoslib/release/project_install --config=/cygdrive/c/source/embedded/nios/project/software/project_ecoslib/project_release.ecc tree And as result get the following error: makefile:151: /ecos-c/altera/kits/nios2_51/components/ecos/ecos-current/packages/pkgconf/rules.mak: no such file or directory make: *** no rule to make target `/ecos-c/altera/kits/nios2_51/components/ecos/ecos-current/packages/pkgconf/rules.mak'. stop. make: *** [headers] error 2 make: *** [/cygdrive/c/source/embedded/nios/project/software/project_ecoslib/release/project_install/lib/libtarget.a] error 2 I've found out that the '/ecos-c' entries were generated to the build tree makefiles. If I open any of makefiles in any of the project_ecoslib/release subfolder's (with Start -> Find 'makefile' in that folder), then the first line (generated) are the following: # ecos makefile # this is a generated file - do not edit export repository := /ecos-c/altera/kits/nios2_51/components/ecos/ecos-current/packages export prefix := /ecos-c/source/embedded/nios/project/software/project_ecoslib/release/project_install Why does the ecosconfig.exe generating a false content into those makefiles. As I wrote at the begining of this post, I changed the --prefix parameter of it. (as an environment variable I have the ecos_repository = c:\altera\kits\nios2_51\components\ecos\ecos-current\packages) It seems that this /ecos-c is hardcoded to this ecosconfig.exe program as mounting point of my drive c: Where can I locate this hardcoding and where could I be able to change it? I can now only give different input parameters to ecosconfig.exe, but -by any means necessary - the output makefiles in ecos tree structure has ALLWAYS the lines above. What should I do now? Where could I find those hardcode locations? I have not got the slightest idea about it. Could You help me in addition please? Thanks in advance.
I tried it. The output is as follow in that case (with ECOS_REPOSITORY environment variable as unix-style given):c:\altera\kits\nios2_51
14.06.2011 07:07:55 - (schwerwiegend) generate: java.lang.illegalstateexception: java.io.filenotfoundexception: c:\altera\quartus51\bin\cygwin\cycdrive\c\altera\kits\nios2_51\components\ecos\ecos-current\packages... (das system kann den angegebenen pfad nicht finden)
parameters for ecosconfig --prefix=/cygdrive/c/source/embedded/nios/project/software/project_ecoslib/debug/project_install --config=/cygdrive/c/source/embedded/nios/project/software/project_ecoslib/project_debug.ecc tree
couldn't read file "c:/cycdrive/c/altera/kits/nios2_51/components/ecos/ecos-current/packages/ecos.db": no such file or directory
invalid package database.
I'm sorry but I'm out of ideas... maybe you should have a look at the ecosconfig source code to see if they hardcoded any path in there...
I have a workaround. Before ecosconfig.exe I call mount -tf c:\\ /ecos-c commands, and after ecosconfig.exe is done I call umount c:With this workaround I recieve other errors: headers finished
nios2-elf-gcc: /ecos-c/altera/kits/nios2_51/components/ecos/ecos-current/packages/hal/nios2/arch/current/src/gtf-launch.in: no such file or directory
nios2-elf-gcc: warning: `-x c' after last input file has no effect
nios2-elf-gcc: no input files
make: *** [/ecos-c/source/embedded/nios/project/software/project_ecoslib/debug/project_install/gtf-launch] error 1
make: *** [build] error 2
make: *** [/cygdrive/c/source/embedded/nios/project/software/project_ecoslib/debug/project_install/lib/libtarget.a] error 2 I looked up manually for this gtf-launch.in file at c:\altera\kits\nios2_51\components\ecos\ecos-current\packages\hal\nios2\arch\current\src and found it. I can open, write and edit it. Why could I receive that problem?
looks like a script generated by ecosconfig is still looking in /ecos-c/ even after it is unmounted...If you have a more recent version of Quartus/Nios, could you at least try to generate eCos on that? Just to see if it is a bug in cygwin or if it is coming from somewhere else...
I installed the version 7.1 of Altera/Quartus/Nios II. After setting up the environment, I get the following (right after trying to launch ecosconfig):makefile:147: /ecos-c/altera/kits/nios2_71/components/ecos/ecos-current/packages/pkgconf/rules.mak: no such file or directory make: *** no rule to make target `/ecos-c/altera/kits/nios2_71/components/ecos/ecos-current/packages/pkgconf/rules.mak'. stop. make: *** [headers] error 2 make: *** [/cygdrive/c/source/embedded/nios/project/software/project_ecoslib/release/project_install/lib/libtarget.a] error 2
Finally, I have found out the solution: There was a NetBeans installed on my machine, which also included a cygwin dll to my system.This .dll was unluckyly with some bugs, so I can tell You Daixiwen: You were right, it was cygwin-bug at the end. Now it is working perfectly. Thanks for your assistance. :cool: