라즈베리파이를 위해 새로 컴파일해 본 커널을 이용하여 시스템 콜 추가하는 작업을 해보았습니다. 최초 작성 2014. 10. 15.최종 업데이트. 2017.11.11. 현재 사용중인 커널 버전입니다. pi@raspberrypi:~ $ uname -r 4.9.60-v7+ 1.시스템 호출 번호 할당 커널 소스 디렉토리의 arch/arm/include/uapi/asm/unistd.h 파일에 새로 생성할 시스템 호출을 위한 고유번호를 할당합니다.#define __NR_copy_file_range (__NR_SYSCALL_BASE+391) #define __NR_preadv2 (__NR_SYSCALL_BASE+392) #define __NR_pwritev2 (__NR_SYSCALL_BASE+393) #define ..
Raspberry Pi 3를 위해 커널을 크로스 컴파일하는 방법을 설명합니다. 1. ARM용 크로스 컴파일러 설치 2. 커널 소스 다운로드 3. 커널 소스 설정 4. 커널 및 모듈 컴파일 5. 라즈베리파이로 복사 1. ARM용 크로스 컴파일러 설치 다음 명령으로 ARM용 컴파일러를 설치합니다. $ sudo apt-get install gcc-arm-linux-gnueabihf 본 포스팅을 진행하기 위해서는 추가로 다음 패키지도 필요합니다.$ sudo apt-get install make ncurses-dev build-essential 2. 커널 소스 다운로드 git 패키지를 설치 한 후, $ sudo apt-get install git 커널 소스를 다운로드 받습니다.$ git clone --depth=..
Visual Studio 2017에서 Raspberry Pi 3를 위한 Windows 10 IoT App 작성하는 방법을 다룹니다. 프로그래밍적인 부분에 대한 설명은 아직 준비 안되어있으며 새로운 프로젝트 생성 후, 샘플 코드를 가져와 실행시키는 방법을 설명합니다. 진행하기 전에 다음 포스팅을 먼저 해보셔야 합니다. Raspberry Pi 3에 Windows 10 IoT Core 설치 및 샘플 앱 테스트http://webnautes.tistory.com/918 1. 다음 링크에서 Visual Studio 2017 Community 설치 파일을 다운로드 받아 실행합니다.https://www.visualstudio.com/ko/downloads/ 이미 설치되어 있다면 시작 메뉴에서 Visual Studio ..
라즈베리파이와 PC간에 파일 전송하는 것에 대해 다룹니다. 아래 주소에서 pscp.exe를 다운로드 받습니다.http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 다운받은 pscp.exe를 윈도우 로그인 사용자의 홈디렉토리인 C:\Users\사용자이름으로 복사해줍니다. 명령프롬프트 실행시 경로가 윈도우 로그인 사용자의 홈디렉토리에서 시작하기 때문입니다. 라즈베리파이로부터 PC로의 파일 전송은 다음 명령에 의해서 이루어집니다. .pscp 유저이름@원격주소:/파일위치 로컬파일위치 예를들어 라즈베리파이에 있는 /home/pi/1.jpg를 PC의 현재 디렉토리로 가져오려면 다음처럼 명령을 내리면 됩니다. 다른 곳에 저장하고 싶으면 마지막에 점(.) 대..
라즈베리파이 3 관련 다음 포스팅들이 있습니다. 문제가 없는지 확인하며 포스팅 내용을 보완하기 위해 순서대로 다시 해보고 있습니다. [임베디드/Raspberry Pi] - Raspberry Pi 3 처음 사용해 보기[임베디드/Raspberry Pi] - Raspberry pi 3에서 무선랜(WIFI) 사용하기[임베디드/Raspberry Pi] - Raspberry PI 3를 VNC로 접속하여 원격 제어 (x11vnc)[임베디드/Raspberry Pi] - Raspberry pi 3와 Android간에 bluetooth 태스트 ( 문자열 주고 받기 ) C920 연결 태스트C170 연결 태스트라즈베리파이의 카메라 인터페이스 활성화VNC로 웸캠 동작 확인 구입가격이 25000원 정도인 Logitech C170..
언제 부터 변경된 건지는 확실치 않지만 현재 쓰는 리눅스 버전에서는 SA_INTERRUPT 대신에 IRQF_DISABLED를 사용하는 거로 바뀐거 같다.. http://lwn.net/Articles/229673/ 에 따르면 대응관계는 다음과 같다..+#define SA_INTERRUPTdeprecated_irq_flag(IRQF_DISABLED) +#define SA_SAMPLE_RANDOMdeprecated_irq_flag(IRQF_SAMPLE_RANDOM) +#define SA_SHIRQdeprecated_irq_flag(IRQF_SHARED) +#define SA_PROBEIRQdeprecated_irq_flag(IRQF_PROBE_SHARED) +#define SA_PERCPUdeprecated_..