ZynqのTTCを動作させてみる
Zynq UltraScale +のTRMを確認する
https://docs.xilinx.com/v/u/ja-JP/ug1085-zynq-ultrascale-trm
100MHzのカウンターがありそうだ。
レジスタマップを確認する
https://docs.xilinx.com/r/en-US/ug1087-zynq-ultrascale-registers
DISを見るとデフォルトがdisableになってそう
Timerをenableにして、カンター値をリードしてみる
次に、カウター値のレジスタを確認しておく
で、プログラムを書いて確認する
#if 1
u32 *ptr = (u32*)0xff11000c;
*ptr = 0x20;
#endif
#if 1
ptr = (u32*)0xff110018;
xil_printf("ttc value %x\r\n", *ptr );
xil_printf("ttc value %x\r\n", *ptr );
xil_printf("ttc value %x\r\n", *ptr );
xil_printf("ttc value %x\r\n", *ptr );
xil_printf("ttc value %x\r\n", *ptr );
xil_printf("ttc value %x\r\n", *ptr );
xil_printf("ttc value %x\r\n", *ptr );
#endif
結果
ttc value 18
ttc value 4D2
ttc value 770
ttc value 1B6D4
ttc value 3F73B
ttc value 6379E
ttc value 877FF
動いてそう!