HalCogen 会自动生成/提供其 HAL 层、由于奇怪的原因、它仅为1227生成了 ME 错误/缺少 ASM、而不是为0714或0914生成。
(只是通过删除此 asm 文件并再次生成进行了重新测试)
这用于设置/获取事件计数器。 它为1227生成的是:
;-------------------------------------------------------------------------------
; Set Count event
; SourceId : PMU_SourceId_009
; DesignId : PMU_DesignId_009
; Requirements : HL_SR485
.def _pmuSetCountEvent_
.asmfunc
_pmuSetCountEvent_
mcr p15, #0, r0, c9, c12, #5 ; select counter
mcr p15, #0, r1, c9, c13, #1 ; select event
bx lr
.endasmfunc
;-------------------------------------------------------------------------------
; Get Event Counter Count Value
; SourceId : PMU_SourceId_011
; DesignId : PMU_DesignId_011
; Requirements : HL_SR486
.def _pmuGetEventCount_
.asmfunc
_pmuGetEventCount_
mcr p15, #0, r0, c9, c12, #5 ; select counter
mrc p15, #0, r0, c9, c13, #2 ; read event counter
bx lr
这在事件计数器选择上有一点离一、 但它缺失
lsr r0, r0, #1
作为这些调用的第一行。 奇怪的是,它确实为0714和0914代码插入了它... 不知道我的1227配置是什么
