Currently, I am working with the uart_interrupt example for PS UART 1 using freertos running on core0 for Zybo z7-10. The example template works fine but I wish to change the priority mask threshold of the scugic. I am also not sure if I am doing this right! With some work, I found that the Interrupt Priority Mask Register (ICCPMR) is used to set a priority mask threshold and in Zynq ARM-A9 this register is located at 0xF8F0 0104.
Tracing down the code files associated with BSP, I found that during CPU Initialize a value of 0xF0 is written into this register. (8-bit priority mask value)
However, I cannot make any changes to these code files generated from BSP. And now I am not sure how to proceed with this!
I also read a descriptive explanation regarding this register as well as other registers related to interrupt in section 4.1 and 4.2 in the arm 9 GICmanual from http://reds.heig-vd.ch/share/cours/SoCF/gic_altera_manual_short.pdf
The explanation makes perfect sense when I search those respective registers in xscugic.c but I cannot change the code files.
My end goal is to change the priority mask threshold so that I can try different values for the threshold and see how the UART interrupt signal behaves as based on the threshold there will times when UART interrupt will be disregarded/considered.
Question
fpga_123
Hello,
Currently, I am working with the uart_interrupt example for PS UART 1 using freertos running on core0 for Zybo z7-10. The example template works fine but I wish to change the priority mask threshold of the scugic. I am also not sure if I am doing this right! With some work, I found that the Interrupt Priority Mask Register (ICCPMR) is used to set a priority mask threshold and in Zynq ARM-A9 this register is located at 0xF8F0 0104.
Tracing down the code files associated with BSP, I found that during CPU Initialize a value of 0xF0 is written into this register. (8-bit priority mask value)
However, I cannot make any changes to these code files generated from BSP. And now I am not sure how to proceed with this!
I also read a descriptive explanation regarding this register as well as other registers related to interrupt in section 4.1 and 4.2 in the arm 9 GICmanual from http://reds.heig-vd.ch/share/cours/SoCF/gic_altera_manual_short.pdf
The explanation makes perfect sense when I search those respective registers in xscugic.c but I cannot change the code files.
My end goal is to change the priority mask threshold so that I can try different values for the threshold and see how the UART interrupt signal behaves as based on the threshold there will times when UART interrupt will be disregarded/considered.
Link to comment
Share on other sites
8 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.