게시글
질문&답변
Trace32 Armv7-A 시뮬레이터는 제공 안되나요?
문의하신 질문에 대해서 답신 드립니다: 배포된 디버깅용 TRACE32 실습 프로그램은 Armv8-A와 Armv7-A를 함께 지원합니다.겉으로 Armv8-A 시뮬레이터로 제목이 보일 뿐입니다.(죄송하지만) 아래 질문하신 내용이 잘 이해가지 않습니다. Exceptioin: Armv7-A로 Pratice 1과 Pratice 2로 변경했을때만 Armv7-A를 사용할 수 있었는데요, 이걸 가지고도 강의에서 본 B::List.auto에 똑같은 어셈블리어를 만들어 낼수는 없으니, B:List.auto를 수정하여 비슷한 어셈블리어로 변경해서 강의와 비슷하게 디버깅할 수있는 방법은 없는 건가요?조금 더 구체적으로 알려주시면, 이게 맞게 가이드를 드리겠습니다.감사합니다.
- 0
- 3
- 95
질문&답변
MMU와 캐시의 관계
부트로더는 부팅할 때 실행되며 다음과 같은 특징을 지닙니다:1. 부팅할 때 한번 만 실행된다.2. 칩셋이나 하드웨어 리소스(UART, 파워 콘트롤)를 초기화한다.3. 커널이나 RTOS 이미지를 파티션 테이블에서 읽어서 실행 시킨다.4. 물리 주소 공간에서 실행된다.일반적으로는 물리 주소 기반으로 실행되는 시스템에서, 캐시를 사용하기 위해서 반드시 MMU를 활성화할 필요는 없습니다. 감사합니다.
- 0
- 2
- 66
질문&답변
TEE OS뭔가요?
트러스티드 커널은 시큐어 월드에서 실행되는 RTOS입니다.TEE OS는 포괄적인 개념인데요. TEE OS는 시큐어 월드에서 실행되는 소프트웨어를 의미합니다. 혹시 추가로 궁금한 점이 있으면 질문 남겨주세요.감사합니다.
- 0
- 2
- 54
질문&답변
리눅스-프로세스 강의 교재 자료
강의 자료는 정리해서 2/12까지 업로드할 예정입니다. 질문 주셔서 감사합니다.
- 0
- 2
- 78
질문&답변
강의안 공유 요청
강의 자료를 업로드했습니다. (일정보다 늦게 올린 점 양해 부탁드립니다.)'섹션 1- 강의 소개'를 확인하시면 아래 메뉴에서 강의 문서를 내려 받을 수 있습니다.강의 자료 (전체 강의 슬라이드 문서)감사합니다.
- 0
- 3
- 80
질문&답변
스택공간에 데이터를 저장할 떄
일반적으로 스택공간에 데이터를 저장하면 다음과 같은 동작이 수행됩니다:우선 캐시에 먼저 데이터를 써줍니다.캐시에 써준 데이터를 RAM에 저장할 시점(짧은 시간)에 캐시 데이터를 RAM에 써줍니다. (이를 캐시 정책이라고 하며 write-back이라고도 합니다.)참고로, Arm 프로세서의 스펙에 따라 캐시 정책이 다른 방식으로 적용될 수도 있습니다.감사합니다.
- 0
- 2
- 62
질문&답변
MMU의 Page Table과 관련된 질문이 있습니다.
1. TTBR1_EL1, TTBR0_EL1 레지스터에 저장된 주소는 물리 주소입니다.2. 추가로 설명드립니다.각 PGD, PMD 그리고 PTE는 다음과 같습니다:PGD는 1st 룩업 페이지 테이블PMD는 2nd 레벨 페이지 테이블PTE는 3rd 레벨 페이지 테이블 페이지 변환 과정은 구체적으로 아래와 같은 과정으로 수행됩니다:PGD에 접근하기 위해서는 TTBR1_EL1(커널 공간) 혹은 TTBR0_EL1(유저 공간) 레지스터를 사용합니다. TTBRn_EL1을 1st 룩업 페이지 테이블이라고 합니다. PGD에는 2nd 레벨 페이지 테이블의 엔트리 주소(물리)를 담고 있습니다.PMD는 2nd 페이지 테이블로써 물리 주소를 담고 있는 페이지 테이블은 아닙니다. PTE의 엔트리 주소를 담고 있죠.PTE에 접근하면 실제 물리 주소를 확인할 수 있습니다. Armv8-A 에서는 가상 주소를 멀티 레벨 페이지로 변환하는데, TTBRn_EL1을 1st 룩업 페이지 테이블이라고 합니다.3. 네, 제대로 이해하셨습니다. 만약 EL1에서는 MMU를 활성화하고, EL2에서는 MMU를 활성화하지 않게 되면 EL1에서 접근하는 주소는 가상 주소인 반면, EL2에서 접근하는 주소는 실제 물리주소에 접근할 수 있습니다. 대부분 EL0, EL1, EL2까지 MMU를 활성화해서 사용합니다.EL0/EL1에서 MMU를 활성화하기 위해서는 TCR_EL1, SCTLR_EL1를 설정해야 합니다. 만약 EL2에서도 MMU를 활성화하려면 TCR_EL2, SCTLR_EL2를 활성화해야 합니다. 감사합니다.
- 0
- 2
- 91
질문&답변
crash utility build 오류
지금 사용 중인 라즈베리 파이 4는 64비트 기반의 Armv8-A 아키텍처로 보입니다.따라서 아래와 같은 명령어를 사용해서 빌드 부탁드립니다.$ make(주의 사항) 에러가 발생한 상태의, 내려 받은 crash-utility 소스를 모두 지워주세요. 그래서 다시 crash-utility 소스를 새롭게 내려 받으신 후 빌드를 해주세요.
- 0
- 1
- 84
질문&답변
하이퍼바이져
네, 이해하신 부분이 맞습니다. 관련 동작은 성능에 영향을 끼칠 정도는 아닙니다.
- 0
- 2
- 68
질문&답변
device memory
일반적으로 실제 프로젝트(하이퍼바이저)에서는 device memory region은 가상화해서 처리하지는 않습니다. 구현 복잡도가 늘어나기 때문입니다.
- 0
- 2
- 65