Guillermo Austin Kim
Posts
998 posts[Trace32] 폰트 색상 변경 - setup.color
config.t32 파일에 다음 명령어를 입력하면 Trace32 폰트 색상이 바뀝니다.PALETTE 0 = 56 56 56PALETTE 1 = 221 221 221PALETTE 4 = 128 0 255PALETTE 11 = 255 0 0PALETTE 18 = 255 128 64PALETTE 27 = 255 128 64PALETTE 48 = 128 128 0PALETTE 50 = 255 128 64. Trace32를 열고 setup.color을 입력해서 폰트나 텍스트 상자 색상을 바꿀 수도 있습니다.
[라즈베리파이] 인터럽트 핸들러 등록(2) - #CS
[라즈베리파이] 인터럽트 핸들러 등록(1) - #CShttp://rousalome.egloos.com/9976901에서 계속 ... 이번에는 다른 코드를 입력해서 인터럽트 핸들러와 인터럽트 디스크립터에 대해 알아볼게요. 다음 패치는 인터럽트 핸들러를 등록한 후 바로 해당 인터럽트 번호로 인터럽트 디스크립터를 커널 함수로 읽어와 인터럽트 설정 정보를 출력합니다. 제대로 인터럽트 핸들러를 등록했는지 점검하고 싶을 때 활용하면 좋은 코드입니다. 파라미터가 인터럽트 번호이므로 인터럽트 번호만 대입하면 다른 함수에서도 호출할 수 있죠. 이제부터 코드를 어떻게 작성했는지 함께 살펴볼까요? 우선 dwc_otg_driver_probe 함수 위에 다음 코드를 입력합니다.1 static void interrupt_de
[Linux][ARM] Coprocessor(코프로세서) Assembly
ARM 프로세스 내 Coprocessor라는 하드웨어가 있습니다. Co-Processor라는 것은 Co-worker랍니다. CPU 혼자 모든 일을 다 할 수 없으니 Co-Processor가 필요한 것입니다. Co-Processor는 C언어 같이 어떤 코드 흐름을 제어하는 일보다는 ARM Core나 Cache을 콘트롤하는 역할을 수행합니다. 그래서 ARM 프로세스로 칩을 디자인하는 개발자는 Co-Processor를 제어하는 명령어를 달달 외우고 있죠. Co-Processor가 있으니 당연히 Co-Processor하고 대화를 해야 겠죠. Co-Processor에게 말을 거는 방법을 역시 레지스터를 이용해서 주어진 명령어를 실행시키면 됩니다.Co-Processor에게 말을 걸면 Co-Processor가 알아듯
[라즈베리파이] 인터럽트 핸들러 등록(1) - #CS
인터럽트 핸들러를 등록하는 처리 과정을 배우기 전에 우선 핸들러란 단어의 의미를 알 필요가 있습니다. 보통 핸들러는 동적으로 바뀌는 액션을 처리하기 위한 용도로 호출합니다. 그래서 핸들러는 함수 포인터로 등록해서 처리하는 경우가 대부분입니다. 만약 어떤 시스템에 인터럽트를 36개로 설계했으면 36개의 if else 문으로 인터럽트 핸들러를 호출하면 어떻게 될까요? 만약 다른 시스템에서 40개면요? 참 리눅스 커널 코드를 유지 보수하기 어렵겠죠. 그래서 인터럽트 핸들러는 함수 포인터로 등록합니다. 인터럽트 핸들러는 해당 인터럽트를 처리하기 위한 함수들이며 보통 인터럽트 종류만큼 인터럽트 핸들러 함수들이 있습니다. 인터럽트 핸들러 등록 시 기본 파라미터해당 인터럽트가 발생하면 해당 인터럽트 핸들러 함수가 호출
[Linux][Kernel] current 매크로 (3)
[Linux][Kernel] current 매크로 (2) 에서 계속...http://rousalome.egloos.com/9976545 여기까지 처리 과정을 정리하면 current_thread_info 매크로 함수에 접근해서 현재 실행 중인 프로세스의 태스크 디스크립터 정보를 포인터 형태로 얻어온다 알 수 있습니다. 그런데 current_thread_info 매크로 함수 코드 분석은 생소한 용어들이 많이 보여 이해하기가 어렵습니다. 그 이유는 이 코드가 상당히 많은 공학적 의미를 담고 있기 때문입니다. 그럼 조금 더 깊이 current 매크로를 분석 할까요? 첫 번째 코드를 함께 볼까요? 이 코드는 현재 구동 중인 프로세스의 스택 주소를 current_stack_pointer 변수로 가져오는 명령어입니다

