클럭이 낮은 임베디드 환경입니다
최적화를 위해 고민 중인데요
//후보 #1
inline volatile struct hw_reg* get_hw_addr(void)
{
return (volatile struct hw_reg*) (&hw->peri[27]);
}
//후보 #2 - hw->peri[27] 의 주소를 직접 적는다
#define (volatile struct hw_reg*) (0x12345678ul)
후보1은 빌드할 때 hw->peri[27]이 컴파일러에 의해 offset이 자동 계산되어서 바뀌는 것이 아니라 실행하고 나서 직접 접근하여 가져오고
후보2는 다이렉트로 hw 주소로 접근하는게 맞죠?
대략 어셈 2~3개 차이 일꺼 같은데 맞는지요?