Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
12436 Discussions

Control NIOS II program from "NIOS II Console" (without HAL functions)

Honored Contributor II



I'm trying to implement control of NIOS II program from nios ii console

Here is snippet of code: 


void sw_get_command(cmd_type *cmd) { alt_u8 btn; btn = (alt_u8) btn_read(BTN_BASE) & 0xf; // read 4 pushbuttons if (btn != 0) { // a button pressed if (btn & 0x01) // button 0 pressed cmd->pause = cmd->pause ^ 1; // toggle pause bit if (btn & 0x02) // button 1 pressed cmd->prd = pio_read(SWITCH_BASE) & 0x03ff; // load new interval if (btn & 0x04) { alt_u8 rvalid = 0; alt_u32 data_reg = 0; do{ data_reg = IORD(JTAG_UART_BASE, JUART_DATA_REG_OFT); rvalid = data_reg >> 15 & 0x01; } while (rvalid == 0); printf("data = %c\n", (char)data_reg & 0xff); printf("ravail = %d\n", (data_reg >> 16) & 0xffff); } btn_clear(BTN_BASE); } }  


The sw_get_command is called from while(1) loop. 

If button 2 is pressed (condition btn & 0x04), user is invited to type some value in NIOS II Console. 

The value can have multiple symbols. 

I'm faced to problem how to read all symbols. Actually when I read a symbol (in the command data_reg = iord(jtag_uart_base, juart_data_reg_oft)), it seems that read fifo is erased. 

Otherwise how to explain that after leaving the do-while loop, the value of ravail (number of characters remaining in the read fifo) is 0 (1st image - screenshot of NIOS II console). 

Another question: after some "exercises" with button 2, the communication crashes and Eclipse becomes unavailable (2nd screenshot - fragment of Windows Task Manager screenshot). 


Thanks in advance.
0 Kudos
0 Replies