device driver4 C언어 #define 매크로 사용 이유 ? 매크로란?매크로는 코드의 일부분을 다른 코드로 대체해주는 도구입니다. 주로 반복되는 코드나 상수 값을 정의할 때 사용합니다. 매크로는 #define을 사용하여 정의합니다.매크로의 기본 예제상수 정의매크로를 사용하여 상수를 정의할 수 있습니다.#define PI 3.14159int main() { double area = PI * radius * radius; // PI가 3.14159로 대체됨 return 0;}위 예제에서 PI는 3.14159로 정의되었습니다. 코드에서 PI를 사용하면 컴파일러가 자동으로 3.14159로 바꿉니다.매크로 함수매크로는 함수처럼 사용할 수도 있습니다.#define SQUARE(x) ((x) * (x))int main() { int result = SQUAR.. 2024. 7. 24. vi vim 편집기 창 여러개 띄우는 방법 : splitting windows vi 또는 vim 편집기에서 여러 개의 창을 띄우는 방법은 다음과 같습니다: 1. 여러 파일을 동시에 열기여러 파일을 동시에 열기 위해서는 다음과 같이 명령어를 사용합니다:vim file1.txt file2.txt2. 새 창 열기편집 중인 상태에서 새 창을 열려면 다음 명령어를 사용합니다: 수평 분할::split filename 또는:sp filename 수직 분할::vsplit filename 또는:vsp filename 3. 창 간 전환창 간 전환을 위해 다음 단축키를 사용합니다: 다음 창으로 이동:Ctrl-w w 특정 방향으로 이동 (h: 왼쪽, j: 아래, k: 위, l: 오른쪽):Ctrl-w h Ctrl-w j Ctrl-w k Ctrl-w l 4. 창 크기 조절창 크기를 조절하려면 다음 명령어를.. 2024. 7. 24. 코드를 수정하여 iso 이미지가 만들어지는 원리 커널 모듈을 수정한 후 이를 RPM 패키지에 반영하려면, 먼저 커널 모듈을 재빌드해야 합니다. 이렇게 해야 수정된 모듈이 새로운 RPM 패키지에 포함될 수 있습니다. 다음은 이 과정을 자세히 설명합니다.1. 소스 파일 수정먼저 igb.c 파일을 수정합니다. 예를 들어, 파일 경로가 /home/user/igb/src/igb.c라고 가정합니다. 원하는 수정 작업을 완료합니다.2. 커널 모듈 재빌드수정된 소스 파일을 기반으로 커널 모듈을 재빌드해야 합니다. 이를 위해 커널 소스 트리와 필요한 빌드 도구들이 설정되어 있어야 합니다.cd /home/user/igb/srcmake이 명령어는 Makefile을 사용하여 igb.ko 커널 모듈을 생성합니다.3. RPM 패키지 생성수정된 커널 모듈을 포함하는 RPM 패키.. 2024. 7. 18. DMA(Direct Memory Access) 직접 메모리 접근 1. DMA 개요 DMA(Direct Memory Access) 직접 메모리 접근 DMA는 주변장치(하드디스크, 그래픽 카드 등)들이 메모리에 직접 접근하여 읽거나 쓸 수 있도록 하는 기능입니다. 중요한 건 CPU의 개입 없이 I/O 장치와 기억장치 사이의 데이터를 전송하는 접근 방식이라는 거다. PIO(Programmed Input/Output)은 CPU가 주변장치와 데이터를 주고받는 방식으로 효율이 떨어지는 방식입니다. 이를 극복하기 위해 DMA가 개발되었습니다.(IBM) CPU 개입 없이라는 부분이 중요한 포인트입니다. 다른 관점으로 보면 CPU가 해야할 주변장치와의 데이터 전송을 DMA장치가 해주는 것이죠. 그만큼의 CPU 효율을 늘릴 수 있습니다. 고속의 I/O 장치의 경우 빈번한 인터럽트가 발.. 2024. 7. 8. 이전 1 다음