레지스터 연산시 자주 사용하는 비트연산
리눅스 디바이스 드라이버를 다루다보면 필연적으로 레지스터를 제어하게됩니다.
뭐 비트연산은 하는 방법은 여러 방법이 있습니다.
아래에 제가 적는 비트연산은 제가 자주 사용하는 비트 연산입니다( 무엇보다 가독성이 좋아서 해당 레지스터의 몇번째 비트가 set, claer가 됬는지 알기가 쉽습니다 ^^)
뭐 다들 아시겟지만 간단히 설명만 하겠습니다.
1번쨰 줄에서는 REGISTER라는 변수를 0x12345678 레지스터 주소를 선언하였습니다.
ioremap함수로 할당을 받고 3~4번째 줄에서 비틍녀산으로 해당 비트를 셋팅 ! 클리어를 합니다.
뭐 기타내용은 집어치우고
무엇보다 육안적으로 딱! 보기에 아 0x12345678 레지스터의 11번째 비트가 셋팅됬구나! 11번째 비트가 클리어 됬구나! 라고 알기가 쉽습니다.
사소해보여도 여러명이 하는 업무에서 자신만 아는 코드는 에로사항이 많습니다. 시간이 흐르면 기억도 잘 안나고요.
이상으로 제가 자주 사용하는 비트 연산 명령어 소개를 마칩니다~
'기타 > Linux' 카테고리의 다른 글
VirtualBox + Ubuntu 14.04 설치 2부 (0) | 2016.04.15 |
---|---|
VirtualBox + Ubuntu 14.04 설치 1부 (0) | 2016.04.10 |
SVN revision버전 별 diif *.patch 파일 생성 명령어 (0) | 2016.04.08 |
raspberry pi 2 외부 GPIO 핀 맵 (0) | 2016.04.08 |
[shellcheck] 쉘 스크립트 체크하는 사이트 (0) | 2016.04.08 |