ASUS 팅커보드S(Tinkerboard S) 구입
By 반달가면 | 2021년 4월 22일 |
원래는 라즈베리파이(Raspberry Pi)를 살까 했었으나, SBC(싱글 보드 컴퓨터)가 그 외에도 여러 가지가 있다는 것을 알고 좀 알아보다가 ASUS 팅커보드S(Tinkerboard S)로 골랐다. 팅커보드S는 라즈베리파이와 달리 보드에 16GB eMMC 가 장착되어 있어서 마이크로 SD카드를 추가하지 않아도 된다. (물론 마이크로 SD카드 슬롯도 장착되어 있다) 대략의 사양은 아래와 같다. Rockchip RK3288 SoC: 1.8GH ARM Cortex-A17 쿼드코어 CPU + Mali-T760 GPU 2GB RAM + 16GB eMMC 4x USB 커넥터 1x HDMI 전원 아답터는 5V/3A 규격을 필요로 하는데, 라즈베리파이에 대응하는 전원 아답터가 여러 종류가
[Crash-Utility] Radix Tree 디버깅: 'tree -t radix -N (struct radix_tree_node *) 구조체 주소'
By Guillermo Austin Kim | 2019년 9월 30일 |
이번 시간에는 크래시 유틸리티로 라덱스 트리를 디버깅하는 방법을 소개합니다. 라딕스 트리(Radix Tree)를 보기 위한 명령어 크래시 유틸리티로 라덱스 트리 노드를 보기 위한 명령어 포멧은 다음과 같습니다. tree -t radix -N (struct radix_tree_node *) 구조체 주소 예제 명령어 및 결과 ( struct radix_tree_node 구조체 주소가 0xFFFFFFFF3A806E79 인 경우) crash> tree -t radix -N 0xFFFFFFFF3A806E79ffffffff3f53c180ffffffff3f53c4c0ffffffff3f555180ffffffff3f5554c0ffffffff3f56e180ffffffff3f56e4c0ffffffff3f5
[라즈베리파이] 스케줄링(scheduling)이란 무엇일까?
By Guillermo Austin Kim | 2019년 2월 2일 |
여러분들은 리눅스 시스템이 탑재된 휴대폰이나 라즈베리파이를 쓰면 동시에 여러 프로그램을 실행할 수 있습니다. 휴대폰을 보면 다양한 프로그램이 동시에 실행하는 것을 확인할 수 있습니다. 예를 들면 브라우저를 실행하면서 음악을 듣거나 메신저를 하면서 어플리케이션을 다운로드 할 수 있습니다. 그래서 사람들은 여러 프로세스들이 동시에 CPU에서 실행한다고 느낄 수 있습니다. 하지만 CPU는 여러 개의 프로세스를 절대로 동시에 실행할 수는 없습니다. 리눅스 커널을 포함한 다양한 운영체제에서 스케줄링과 멀티 태스킹 기법이 생겨난 이유는 다음과 같습니다.CPU는 한 순간에 한 개의 프로세스의 코드만을 실행할 수 있습니다. 여러 개의 프로세스들이 효율적으로 번갈아 CPU에서 실행할 수 있게 규칙을 부여하고 프로세스들을
IRQ Stack(ARM64) - Debugging(디버깅)
By Guillermo Austin Kim | 2017년 12월 28일 |
아래 블로그에서 IRQ Stack(ARM64)에 대해 소개를 했는데요. 이번에는 직접 코어 덤프에서 IRQ Stack 덤프를 살펴볼께요. IRQ Stack Feature를 지원하는 프로세스의 콜스택을 Trace32로 잡아서 확인해 보았어요. 참고로, 아래는 CPU0에서 idle process가 돌아가 갑자기 IRQ가 Trigger되었을 시의 동작이에요. -000|gic_handle_irq(?) -001|el1_irq(asm) -->|exception -002|lpm_cpuidle_enter(dev = 0x0, ?, idx = 0) -003|cpuidle_enter_state(dev = 0xFFFFFFE57E2A33D8, drv = 0xFFFFFFE4F2E14C00, index = 0) -004|c