라즈베리

포스트: 16|조회수: 0|PLANT
Items

Posts

16 posts
Gameshell, 오픈소스 휴대용 게임 에뮬레이터

Gameshell, 오픈소스 휴대용 게임 에뮬레이터

잉여 Says|2018년 6월 21일

고전 콘솔 에뮬레이터들은 이미 나올 만큼 나와서 크게 새로울 것은 없지만 라즈베리 파이 같은 싱글보드 컴퓨터를 이용해 휴대용 게임기를 만드는 킷트도 새롭게 출시되는 등 일부 사람들에겐 아직도 더 깊이 파고 들 여지가 남아 있는 것 같습니다. 사진 : 라즈베리파이를 휴대용 게임기로 활용하기 위한 휴대용 게임기 케이스 킷 싱글보드 컴퓨터를 개발용이 아닌 일상에 활용하는 가장 흔한 예가 Plex를 이용한 미디어센터나 에뮬게임, 간단한 웹서버, NAS 정도인데 제 경우는 아톰 베어본으로 웹서버를 하나 돌리고 있고, 미디어센터 용도로는 라떼판다(Lattepanda) 라는 아톰 프로세서를 내장한 싱글보드 컴퓨터를 사용하고 있고, 휴대용 에뮬 게임기 용도는 안드로이드 폰과 PSP를 이용하고 있었습니다...만 라즈베리

[라즈베리파이] 커널 살펴보기 - 섹션 정보

Guillermo Austin Kim|2018년 2월 20일

아래 명령어로 라즈베리파이 소스 다운로드를 하고,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 섹션이란 용어에 대해서 설명을 하겠습니다. 섹션은 임베디드 소스 빌드 시 쓰이는 개념인데, 비슷한 속성의 코드들을 묶어서 처리하

[라즈베리파이]인터럽트(4) - 인터럽트 디스크립터란

Guillermo Austin Kim|2018년 2월 13일

인터럽트 디스크립터는 디바이스 드라이버가 등록한 인터럽트 속성을 표현합니다. 각 디바이스 드라이버에서 설정한 인터럽트 마다 아래 자료 구조를 커널이 생성합니다. 자료 구조는 아래와 같습니다.struct irq_desc { struct irq_common_data irq_common_data; struct irq_data irq_data; unsigned int __percpu *kstat_irqs; irq_flow_handler_t handle_irq;#ifdef CONFIG_IRQ_PREFLOW_FASTEOI irq_preflow_handler_t preflow_handler;#endif struct irqaction *action; /* IRQ action list */ unsigned int sta

[라즈베리파이] 인터럽트 백터 어셈블리 코드 및 동작 분석

Guillermo Austin Kim|2018년 2월 13일

인터럽트가 발생하면 __irq_svc 벡터로 점프합니다. 물론 해당 프로세스는 하던 일을 멈출 수 밖에 없는데요.그럼 인터럽트 벡터에서 어떤 동작을 하는 지 어셈블리 코드를 분석하겠습니다. #__irq_svc 코드 리뷰[1]: 스택 공간을 0x4C 바이트만큼 확보합니다. [2]--[3]: 현재 실행 중인 레지스터 R0부터 R14, PC까지 스택에 푸쉬합니다. [4]: 0x80705398 메모리 공간에 있는 메모리 덤프 0x80c089ac를 로딩합니다. 0x80c089ac는 handle_arch_irq란 함수 포인터 역할을 하는 변수인데 이 변수에는 gic_handle_irq가 지정되어 있습니다.crash> p -x handle_arch_irqhandle_arch_irq = $3 = 0xc01