Forum Discussion
Altera_Forum
Honored Contributor
13 years agoproblem with mutex core
Dear all,
I've created a qsys system composed of two NIOS, each one attached to its on-chip memory that contains its program. the two processors are connected to a shared RAM protected via a HW mutex core. I need that the first NIOS writes a data in the shared memory to be read by the second processor. I write the following code for the first NIOS: altera_avalon_mutex_lock( mutex, 1 ); if(altera_avalon_mutex_is_mine(mutex)) IOWR_32DIRECT(SHM,0x4,0x3); altera_avalon_mutex_unlock( mutex ); And for the second NIOS: altera_avalon_mutex_lock( mutex, 1 ); if(altera_avalon_mutex_is_mine(mutex)) { data = IORD_32DIRECT(SHM,0x4); printf ("data = %x \n",data);} altera_avalon_mutex_unlock( mutex ); However, the NIOS2 always read a strange value (different from 0x3) Please could anyone help me to solve the problem? Thanks in advance,11 Replies
- Altera_Forum
Honored Contributor
The SignalTap section of the Quartus manual is well written: http://www.altera.com/literature/hb/qts/qts_qii53009.pdf
You will need to find the control signals to your memory block, and monitor the address, read, write, read_data and write_data signals. Then you can trigger on either the read or the write signal to see what is happening.