ARM64 - Exception 시 Stack Push
By Guillermo Austin Kim | 2017년 12월 25일 |
유저 공간에서 시스템 콜을 호출할 때 유저 공간에서 돌던 레지스터를 커널 공간 스택 Bottom Address 근처에 Push하거든요. 이번에는 Exception(Data abort)이 발생했을 때 스택에 어떤 값들을 Push하는 지 점검해 볼께요. 아래는 ch_pop_remote_rx_intent() 함수에서 exception이 발생한 콜스택인데요. Trace32로 잡았어요. 이 때 Stack 정보 좀 살펴볼께요.-000|do_mem_abort()-001|el1_da(asm) -->|exception-002|ch_pop_remote_rx_intent()-003|glink_tx_common()-004|glink_txv()-005|ipc_router_glink_xprt_write()-006|msm_
[ARM] 익셉션(Exception)이란
By Guillermo Austin Kim | 2020년 9월 29일 |
ARM 프로세서는 익셉션을 지원하며 운영체제의 ARM 프로세서가 지원하는 익셉션을 활용해 세부 기능을 구현합니다. 익셉션의 타입에 대해 알아보고 익셉션의 세부 동작에 대해 살펴보겠습니다. ARMv7과 ARMv8 아키텍처 별로 익셉션 벡터 테이블의 종류가 상이하지만, 익셉션이 동작하는 방식은 유사하므로 ARMv7 아키텍처 기준으로 익셉션에 대해 소개합니다. 익셉션의 종류 익셉션의 세부 동작에 대해 설명드리기 전에 먼저 익셉션의 타입에 대해 알아봅시다. 다음은 ARM의 익셉션의 종류입니다. 표 1.3 익셉션의 타입과 종류 먼저 메모리 어보트 타입으로 분류되는 익셉션에 대해 살펴봅시다. 다음은 메모리 어보트 타입으로 분류되는 익셉션입니다. ❑ Undefined Instruction:
라즈베리파이 폼펙터 싱글보드 컴퓨터 ROC-RK3328-CC 단점 위주 소감
By 잉여 Says | 2018년 10월 15일 |
![라즈베리파이 폼펙터 싱글보드 컴퓨터 ROC-RK3328-CC 단점 위주 소감](https://img.zoomtrend.com/2018/10/15/b0395619_5bc41a8d0fb2c.jpg)
Rockchip RK3328 SoC4 ARM Cortex-A53 @ 1.4GHzCryptography Extensions2G + 2P ARM Mali-450 @ 500MHzOpenGL ES 1.1 / 2.0OpenVG 1.1Multi-Media ProcessorDecodersVP9 P2 4K60H.265 [email protected] 4K60H.264 [email protected] 4K60JPEGEncodersH.265 1080P30 or 2x H.265 720P30H.264 1080P30 or 2x H.264 720P30Up to 4GB DDR4-2133 SDRAM2 USB 2.0 Type A1 USB 3.0 Type AGigabit Ethernet3.5mm TRRS AV JackHDMI 2.0MicroUSB Power InMic
[ARM프로세서] ARMv7: 메모리 어보트 타입 익셉션의 실행 흐름
By Guillermo Austin Kim | 2020년 11월 23일 |
메모리 어보트 타입 익셉션이 발생하면 익셉션 핸들러에서 디버깅 정보를 출력하고 시스템을 리셋시킵니다. 소프트웨어적으로 시스템이 치명적인 오류가 있는 상태로 판단하기 때문입니다. 다음 그림을 보면서 메모리 어보트 타입 익셉션의 전체 실행 흐름을 알아봅시다. 그림 8.2 메모리 어보트 타입 익셉션이 발생할 때 전체 흐름 익셉션의 전체 실행 흐름도는 4단계로 분류할 수 있는데, 각 단계 별로 어떤 동작을 수행하는지 알아봅시다. 1단계: 프로세스가 실행하는 도중에 익셉션을 유발하는 명령어 실행 먼저 ①로 표시된 부분을 눈으로 따라가 봅시다. 프로세스가 메모리 어보트를 유발하는 명령어를 실행하는 부분입니다. 2단계: ARM 프로세서가 익셉션을 감지 ② 로 표시된 부분은 A