Forum Discussion
We are in the process of filling a kdb on this.
Description:
Due to a problem in the Intel® Quartus® Prime Standard Edition software version 20.1 and earlier, you may see the error above when you generate the system in the platform designer.
This error happened if you are using updated Windows 10 version and your design consist of DDR4 memory.
workaround:
To workaround the problem, you can follow the steps below:
1) uninstall Ubuntu* 18.04 (if you have one)
2) uninstall wsl
3) re-install wsl
4) download latest Ubuntu 18.04 from Microsoft Shop & install it
5) execute following on Ubuntu shell :
sudo apt-get update
sudo apt install wsl
sudo apt install dos2unix
sudo apt install make
sudo apt-get upgrade
Alternatively, you can refer to here for updating the WSL 2 software.
Please take note that Intel does not provide any warranty or guarantee regarding the use of third party software. Hyperlinks to other internet resources are used by you at your own risk.
This problem is scheduled to be fixed in a future release of the Intel® Quartus® Prime Standard edition software.
- Dooo4 years ago
New Contributor
Now Ubuntu 20.04 & version 2 is OK for Quartus 20.1.1.
But, Why must I uninstall & reinstall ubuntu ?
I can not understand.
Please Tell me the reason.
- SThor85 years ago
Occasional Contributor
That's was pretty much what I have done, I have even upgraded to wsl --set-default-version 2.
However, I have hijacked the
C:\intelFPGA\20.1\nios2eds\Nios II Command Shell.batlike this
wsl bash -c '%NIOS2_SHELL_SCRIPT% %*' 2>> c:\temp\test.txtAnd the content in the test.txt file result in
/mnt/c/intelfpga/20.1/quartus/../nios2eds/sdk2/bin/nios2-bsp: line 451: nios2-bsp-update-settings: command not found nios2-bsp: nios2-bsp-update-settings failed make: *** [setup] Error 1Line 451 in nios2-bsp look like this
nios2-bsp-update-settings$windows_exe --settings "$settings_pname" --bsp-dir $bsp_dir --sopc "$sopc_design_file" --script "$default_tcl" ${default_tcl_options[@]} ${create_update_options[@]} || {
So if I change the line temporarily into/mnt/c/intelfpga/20.1/quartus/../nios2eds/sdk2/bin/nios2-bsp-update-settings$windows_exe --settings "$settings_pname" --bsp-dir $bsp_dir --sopc "$sopc_design_file" --script "$default_tcl" ${default_tcl_options[@]} ${create_update_options[@]} || {Now the script will "find" nios2-bsp-update-settings and execute it
The problem is that
your are missing paths to your scripts and/or
changing to the installation directory when executing the scripts and/or adding a installation path prefix to your scripts and/or
update the PATH variable so it can find the scripts in /mnt/c/intelfpga/20.1/quartus/../nios2eds/sdk2/bin,
(${_ACDS_ROOT}/nios2eds/sdk2/bin).The script executing system is currently in directory
/mnt/c/Users/StefanThorlacius/AppData/Local/Temp/alt8456_4792771601944741470.dir/0253_s0_gen/qsys_pre_compile/system_ddr3_s0_software
and can not "find" nios2-bsp-update-settings.exe in /mnt/c/intelfpga/20.1/quartus/../nios2eds/sdk2/binLine 451 in nios2-bsp, expanded, look like this
nios2-bsp-update-settings --settings sequencer_bsp/settings.bsp --bsp-dir sequencer_bsp --sopc ../pre_compile.sopcinfo --script /mnt/c/intelfpga/20.1/nios2eds/sdk2/bin/bsp-set-defaults.tcl default_sections_mapping sequencer_mem use_bootloader DONT_CHANGEit will generate the error message in Generate HDL log window
Error: s0: Cannot find sequencer/sequencer.elf Error: s0: An error occurred while executing "error "An error occurred"" .............................nios2-bsp-update-settings is a binary file, so I have difficulties to examine this further
Regards
- SThor85 years ago
Occasional Contributor
Hi
Your suggestions is what I did in first place but the error remain
You should change the line 37 in ${_ACDS_ROOT}/nios2eds/sdk2/bin/nios2-bsp from
if [[ $uname =~ "Microsoft" ]]; theninto
if [[ $uname =~ "Microsoft" || $uname =~ "microsoft" ]]; thenOn my machine uname will return
uname = '4.19.104-microsoft-standard'then the nios2-bsp script will be able to execute line 451
nios2-bsp-update-settings$windows_exe --settings "$settings_pname" --bsp-dir $bsp_dir --so($windows_exe will be set correctly)
This get ride of the first execution error and the scripts can move forward.Now the scripts encounter the following error in the "Generate HDL log"
Error: s0: Cannot find sequencer/sequencer.elfWhich seems to be related to
WARNING: The BSP persisted OS version "9.1" is not available. The default latest BSP version will be used instead. WARNING: The BSP being loaded used OS version "9.1". The BSP version "20.1" will be used instead. Makefile:515: Warning: SOPC File C:/Users/StefanThorlacius/AppData/Local/Temp/alt8456_4792771601944741470.dir/0533_s0_gen/qsys_pre_compile/pre_compile.sopcinfo could not be found. make[2]: nios2-elf-gcc: Command not found make[2]: *** [obj/HAL/src/alt_dcache_flush_all.o] Error 127 make[1]: *** [../sequencer_bsp-recurs-make-lib] Error 2 make: *** [elf] Error 2- SThor85 years ago
Occasional Contributor
If above suggestion to nios2-bsp is correct then line 28 in ………./20.1/nios2eds nios2_command_shell.sh should be changed from
if [[ $uname =~ "Microsoft" ]]to
if [[ $uname =~ "Microsoft" || $uname =~ "microsoft" ]]as well
- SThor85 years ago
Occasional Contributor
Additional changes, I guess this come from that I have installed ubuntu as an App under windows.
Quartus have installed the tool chain under
…./intelFPGA/20.1/nios2eds/bin/gnu/H-x86_64-mingw32/binand because the latest release of windows, WSL 2 and the ubuntu installation the linux support is no longer identified as "Microsoft" but a true installation.
This will affect how .../intelFPGA/20.1/nios2eds/nios2_command_shell.sh sets up the path.
(around) line 160 in nios2_command_shell.sh it make a test
if grep -q Microsoft /proc/version; then if [ -d "${SOPC_KIT_NIOS2}/bin/gnu/H-x86_64-mingw32/bin" ]; then env_var_prepend ${SOPC_KIT_NIOS2}/bin/gnu/H-x86_64-mingw32/bin else env_var_prepend ${SOPC_KIT_NIOS2}/bin/gnu/H-i686-mingw32/bin fi else if [ -d "${SOPC_KIT_NIOS2}/bin/gnu/H-x86_64-pc-linux-gnu/bin" ]; then env_var_prepend ${SOPC_KIT_NIOS2}/bin/gnu/H-x86_64-pc-linux-gnu/bin else env_var_prepend ${SOPC_KIT_NIOS2}/bin/gnu/H-i686-pc-linux-gnu/bin fi fiBut becouse it now is identify the linux as a true distribution the H-x86_64-mingw32/bin directory is no longer identified, the if construction should be changed into
if grep -q Microsoft /proc/version; then if [ -d "${SOPC_KIT_NIOS2}/bin/gnu/H-x86_64-mingw32/bin" ]; then env_var_prepend ${SOPC_KIT_NIOS2}/bin/gnu/H-x86_64-mingw32/bin else env_var_prepend ${SOPC_KIT_NIOS2}/bin/gnu/H-i686-mingw32/bin fi else if [ -d "${SOPC_KIT_NIOS2}/bin/gnu/H-x86_64-pc-linux-gnu/bin" ]; then env_var_prepend ${SOPC_KIT_NIOS2}/bin/gnu/H-x86_64-pc-linux-gnu/bin elif [ -d "${SOPC_KIT_NIOS2}/bin/gnu/H-x86_64-mingw32/bin" ]; then env_var_prepend ${SOPC_KIT_NIOS2}/bin/gnu/H-x86_64-mingw32/bin else env_var_prepend ${SOPC_KIT_NIOS2}/bin/gnu/H-i686-pc-linux-gnu/bin fi fiThe makefile will now find the gcc compiler, nios2-elf-gcc, which is used in the on the fly made Makefile (in my case)
/mnt/c/Users/StefanThorlacius/AppData/Local/Temp/alt8456_4792771601944741470.dir/1625_s0_gen/qsys_pre_compile/system_ddr3_s0_software
- felipegutierrezb5 years ago
New Contributor
I have encountered the same problem as described above when trying to compile from the Nios II Command Shell.
The simple workaround I have as of now is to compile using eclipse-nios2.exe. In this case it seems like all paths and variables are set correctly.