默认情况下,SP 定时器在 UBOOT 中没有过重置。我们将无法在 UBOOT 或 Linux 用户空间 (EL0:非特权) 中访问 S10 SoC SP 定时器寄存器
执行)。
UBOOT 所做的更改:
/u-boot/arch/arm/mach-socfPGA/spl_s10.c(第 70 行后添加的代码)
socfpga_per_reset(SOCFPGA_RESET(SPTIMER0), 0);
socfpga_per_reset(SOCFPGA_RESET(SPTIMER1),0);
/u-boot/arch/arm/mach-socfPGA/include/mach/reset_manager_s10.h(第 105 行后添加的代码)
#define RSTMGR_SPTIMER0 RSTMGR_DEFINE(2, 6)
#define RSTMGR_SPTIMER1 RSTMGR_DEFINE(2, 7)
然后,我们可以读/写 SP 时间器。
SOCFPGA_STRATIX10 # mw ffd24800 ffffff;mw ffd21160 01010101;mw ffd21164 01010101;mw ffd21064 01010101;mw ffd21068 01010101
SOCFPGA_STRATIX10#
Stratix10swvp 登录:根
最后登录时间:6 月 24 日星期六 05:27:20 UTC 2017 在 ttyS0 上
root@stratix10swvp:~# devmem2 0xffc03000,带 0xa5a5a5a5
root@stratix10swvp:~# devmem2 0xffc03000
地址值0xFFC03000(0xffff8021c000):0xA5A5A5A5