Intel® FPGA University Program
University Program Material, Education Boards, and Laboratory Exercises
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
1130 Discussions

Altera Monitor No Longer Connects After Restart

Honored Contributor II

I'm using Altera Monitor 15.0 with a Terasic DE2-115 development board on Windows 10. 


Altera Monitor will no longer connect to my board. I can download a system onto the board but compiling and uploading a program fails. I'm using the stock DE2_Basic_Computer without any changes. I've tried programming in Altera Monitor and through Quartus by uploading the NiosII files to the EPCS64. I have tried this process with both basic computer and media computer - both using the stock files. 


This system setup as described above was initially working fine. After closing Altera Monitor and returning to work later, I have the problem described above. Below is a copy of the Altera Monitor Info & Errors window from the point of system download to error after compilation attempt. I also noted an error saying that the system couldn't run because of little-endian/big-endian conflict. I was unable to recreate this message for this post. 


NOTE (1): I believe I had the same problem the other day. Thinking that a system file got corrupt, I purged all Altera software from my computer and reinstalled, which fixed the problem. But there has to be a better solution than re-installation. 

NOTE (2): The C program I'm trying to run is also below 


UPDATE: I've since tried using Altera Monitor in a brand new Windows 7 installation on the same machine (I dual booted to a second hard drive) to no avail. Furthermore, I can upload custom VHDL compilations in Quartus to the EPCS module and everything works correctly. I can also install a NiosII processor on a DE0-Nano and that working in Altera Monitor. I'm also unable to connect to the DE2-115 through the Nios II EDS - I get the same error. 


C:/altera/15.0/quartus/bin64/quartus_pgm -c "USB-Blaster [USB-0]" --auto 

1) USB-Blaster [USB-0] 

020F70DD EP3C120/EP4CE115 

Info: ******************************************************************* 

Info: Running Quartus II 64-Bit Programmer 

Info: Version 15.0.0 Build 145 04/22/2015 SJ Web Edition 

Info: Copyright (C) 1991-2015 Altera Corporation. All rights reserved. 

Info: Your use of Altera Corporation's design tools, logic functions  

Info: and other software and tools, and its AMPP partner logic  

Info: functions, and any output files from any of the foregoing  

Info: (including device programming or simulation files), and any  

Info: associated documentation or information are expressly subject  

Info: to the terms and conditions of the Altera Program License  

Info: Subscription Agreement, the Altera Quartus II License Agreement, 

Info: the Altera MegaCore Function License Agreement, or other  

Info: applicable license agreement, including, without limitation,  

Info: that your use is for the sole purpose of programming logic  

Info: devices manufactured by Altera and sold by Altera or its  

Info: authorized distributors. Please refer to the applicable  

Info: agreement for further details. 

Info: Processing started: Sat Oct 31 13:53:12 2015 

Info: Command: quartus_pgm -c "USB-Blaster [USB-0]" -m jtag -o P;C:/altera/15.0/University_Program/Computer_Systems/DE2-115/DE2-115_Basic_Computer/verilog/DE2_115_Basic_Computer.sof@1 

Info (213045): Using programming cable "USB-Blaster [USB-0]" 

Info (213011): Using programming file C:/altera/15.0/University_Program/Computer_Systems/DE2-115/DE2-115_Basic_Computer/verilog/DE2_115_Basic_Computer.sof with checksum 0x00C6516D for device EP4CE115F29@1 

Info (209060): Started Programmer operation at Sat Oct 31 13:53:14 2015 

Info (209016): Configuring device index 1 

Info (209017): Device 1 contains JTAG ID code 0x020F70DD 

Info (209007): Configuration succeeded -- 1 device(s) configured 

Info (209011): Successfully performed operation(s) 

Info (209061): Ended Programmer operation at Sat Oct 31 13:53:21 2015 

Info: Quartus II 64-Bit Programmer was successful. 0 errors, 0 warnings 

Info: Peak virtual memory: 266 megabytes 

Info: Processing ended: Sat Oct 31 13:53:21 2015 

Info: Elapsed time: 00:00:09 

Info: Total CPU time (on all processors): 00:00:01 

nios2-elf-gcc -g -O1 -ffunction-sections -fverbose-asm -fno-inline -mno-cache-volatile -mno-hw-mul -mno-hw-div -I"C:/altera/15.0/nios2eds/components/altera_nios2/HAL/inc" -DSYSTEM_BUS_WIDTH=32 -DALT_SINGLE_THREADED -D_JTAG_UART_BASE=268439552u -Wl,--defsym -Wl,nasys_stack_top=0x8000000 -Wl,--defsym -Wl,nasys_program_mem=0x0 -Wl,--defsym -Wl,nasys_data_mem=0x0 -Wl,--section-start -Wl,.exceptions=0x20 -Wl,--section-start -Wl,.reset=0x0 -Wl,--script="C:/altera/15.0/University_Program/Monitor_Program/build/nios_cpp_build.ld" -o "D:/Keith/Documents/Module4.elf" "D:/Keith/Documents/School/ODU/ECE484W/Module4.cpp" "C:/altera/15.0/University_Program/Monitor_Program/lib/jtag_uart.c"  

ELF generated at D:/Keith/Documents/Module4.elf. 

nios2-elf-objcopy -O srec "D:/Keith/Documents/Module4.elf" "D:/Keith/Documents/Module4.srec"  

SREC generated at D:/Keith/Documents/Module4.srec. 

Using cable "USB-Blaster [USB-0]", device 1, instance 0x00 

Resetting and pausing target processor: FAILED 

Leaving target processor paused 


# define COUNT 1000 # define SERIAL_PORT 0x10001010 # define SEVEN_SEGMENT_PORT 0x10000020 /* // Gets an integer from the serial data register and returns an int result */ int getInt(){ volatile int * serial_ptr = (int *) SERIAL_PORT; volatile int serialData = 0; volatile int data = 0; volatile int counter = COUNT; bool found = false; while(!found){ // Block until Serial Data Available serialData = *(serial_ptr); // Get Byte 3 if (serialData & 0x00008000){ // Check for new data found = true; } // Delay counter counter = COUNT; while(counter>0){counter--;} } data = serialData & 0xFF; // Store Byte 3 data = data << 8; serialData = *(serial_ptr); // Get Byte 2 data += serialData & 0xFF; // Store Byte 2 data = data << 8; serialData = *(serial_ptr); // Get Byte 1 data += serialData & 0xFF; // Store Byte 1 data = data << 8; serialData = *(serial_ptr); // Get Byte 0 data += serialData & 0xFF; // Store Byte 0 return data; } /* // Converts an integer into a 4 section 7-segment display. Capable of values -999 to 999 */ int intTo7Seg(volatile int &input){ // Active high 7-segment display LUT volatile char digits = {0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110, 0b1101101, 0b1111101, 0b0000111, 0b1111111, 0b1100111, 0b1000000}; volatile char hundreds = 0; volatile char tens = 0; volatile int output = 0; // Checks for negative value if (input & 0x80000000){ // Two's Complement Input input = ~input; input++; // Store "-" in Left most segment output += digits; output = output << 8; } // Separate "Hundreds" place from integer value hundreds = input / 100; input = input % 100; // Separate "Tens" place from integer value tens = input / 10; input = input % 10; // Store 7-Segment values by integer into output output += digits; output = output << 8; output += digits; output = output << 8; output += digits; return output; } /* // Program main */ int main(){ volatile int * seven_seg_LED = (int *) SEVEN_SEGMENT_PORT; volatile int brightness = 0; while(1){ // Get Brightness Value from Serial brightness = getInt(); // Update 7-Segment Display *(seven_seg_LED) = intTo7Seg(brightness); } }
0 Kudos
0 Replies