2014-03-30 1 views
0

TRM에서 컨트롤 레지스터의 값을 수정하려면 권한있는 모드가 필요하며 Linux의 커널 모듈로이 작업을 수행 할 수 있음을 알고 있습니다./dev/mem을 사용하여 BBB의 일부 레지스터를 수정할 수없는 이유는 무엇입니까?

그러나 TRM에 특별히 언급 할 필요는 없지만/dev/mem을 사용하여 ADC를위한 클럭을 활성화하고 EPWM의 타임베이스 클럭을 구성하면 항상 실패합니다.

사용자 공간에서/dev/mem을 사용하여이 작업을 수행 할 수없는 이유는 무엇입니까?

답변

1

Becaus, 이미 언급했듯이이 레지스터는 권한 모드에서만 수정할 수 있습니다. 사용자 공간 응용 프로그램은 권한이 없습니다. 커널 (예 : 커널 모듈)에서 실행되는 코드 만 권한이 부여됩니다.

+0

답장을 보내 주셔서 감사합니다. 그러나 내가 아는 한, 제어 모듈 레지스터 (TRM의 9.1)에만 권한 모드가 필요합니다. 예를 들어, ADC의 경우 레지스터에 대한 다른 연산은 mmap의/dev/mem과 함께 작동하지만 클럭 활성화 만 작동하지 않습니다. 이것이 제가이 질문을하는 이유입니다. – chunsj

관련 문제