라즈베리파이
Posts
191 posts[라즈베리파이] 인터럽트 핸들러 등록(1) - #CS
인터럽트 핸들러를 등록하는 처리 과정을 배우기 전에 우선 핸들러란 단어의 의미를 알 필요가 있습니다. 보통 핸들러는 동적으로 바뀌는 액션을 처리하기 위한 용도로 호출합니다. 그래서 핸들러는 함수 포인터로 등록해서 처리하는 경우가 대부분입니다. 만약 어떤 시스템에 인터럽트를 36개로 설계했으면 36개의 if else 문으로 인터럽트 핸들러를 호출하면 어떻게 될까요? 만약 다른 시스템에서 40개면요? 참 리눅스 커널 코드를 유지 보수하기 어렵겠죠. 그래서 인터럽트 핸들러는 함수 포인터로 등록합니다. 인터럽트 핸들러는 해당 인터럽트를 처리하기 위한 함수들이며 보통 인터럽트 종류만큼 인터럽트 핸들러 함수들이 있습니다. 인터럽트 핸들러 등록 시 기본 파라미터해당 인터럽트가 발생하면 해당 인터럽트 핸들러 함수가 호출
라즈베리 파이 시작하기_OS설치
출처: http://www.makewith.co/page/project/1009/story/2402/SD 카드 포멧, 라즈베리안 복사 관련 내용 제가 이번 프로젝트를 진행하면서 사용하게될 라즈베리파이는 라즈베리파이3입니다. 라즈베리파이3는 전 시리즈들이 32 비트를 사용했던 것에 비해 64 비트 Quad Core를 사용하고 있고, 속도도 1.2GHz로 확 올랐습니다. 무엇보다도 이전 시리즈와 다른 점은 Wi-Fi와 BLE(블루투스)가 내장되어 있다는 점인 것 같네요. 드디어 라즈베리파이를 개봉해보도록 하겠습니다. 케이스가 무척 예뻐요♥내부를 개봉하고 나면 위와 같습니다. 이제부터는 이 라즈베리파이3를 이용하여 프로젝트를 진행해보도록 합시다. 먼저 라즈베리파이를 사용하기 위해서 라즈베리파이에
[라즈베리파이][리눅스커널] 인터럽트 소개(0)
인터럽트란인터럽트란 단어가 여러분들은 생소하신가요? 낯설게 들리는 분도 있고 귀에 익은 분도 있을 텐데요. 평소 인터럽트를 뭐라고 하죠? 일상생활에서 인터럽트는 보통 갑자기 생긴 일이나 하던 일을 멈춘다는 의미죠. 예를 들면 책을 읽다가 전화가 와서 읽던 책을 덮어 놓고 전화를 받는 상황이죠. 임베디드 시스템 관점으로 인터럽트는 뭘 의미하죠? 우선 하드웨어 관점으로는 하드웨어 변화를 감지해서 외부 입력으로 전달되는 전기 신호로 볼 수 있습니다. 예를 들면 키보드를 손으로 입력하면 하드웨어적으로 키보드 하드웨어의 변화를 감지하고 신호를 유발하죠. 보통 하드웨어 개발자들은 종종 오실로스코프란 장비로 인터럽트가 제대로 올라오는지 측정을 하죠. 인터럽트 신호를 측정하면 아래와 같은 파형을 볼 수 있는데요. 참고
[라즈베리파이] 커널 살펴보기 - 섹션 정보
아래 명령어로 라즈베리파이 소스 다운로드를 하고,git clone --depth=1 크로스 컴파일러 툴을 설치한 다음에,git clone 커널 빌드를 하면 vmlinux을 추출할 수 있습니다.make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfigmake ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs -j12 아래 명령어로 라즈베리파이 섹션 정보를 파악할 수 있는데요. 조금 더 짚어 보겠습니다../objdump -x vmlinux | more 섹션이란 용어에 대해서 설명을 하겠습니다. 섹션은 임베디드 소스 빌드 시 쓰이는 개념인데, 비슷한 속성의 코드들을 묶어서 처리하


