묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결신입 개발자를 위한 Armv7-A Architecture Overview (저자 직강)
Trace32 Armv7-A 시뮬레이터는 제공 안되나요?
이번 강의에서 진행(디버깅 실습)하는 TRACE32 프로그램은 제공하지 않습니다.TRACE32 교육용 실습 프로그램을 내려 받으셔서 상세하게 어셈블리 명령어를 디버깅하시려면, 이미 배포된 시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 1부/2부 저자 직강 강의를 수강하세요. 라고 하셔서, T32_Edu_sp2_240223_Arm1.zip파일과 T32_Edu_sp2_240223_Arm2.zip파일에 있는 2개다 다운로드 해서 확인해 보았는데요, Armv8-A 시뮬레이터입니다. Armv8-A시뮬레이터를 가지고 Armv7-A 시뮬레이터로 변경되나요?AARCH32는 어떻게 변경해야 되는 건가요? CPU메뉴에 System Setting에서 CPU 아키텍처를 A7이나 A15로 변경하더라도 프로그램에 타이틀 바 부분에 항상 Debugging:Register- Armv8-A(Aarch64)로만 표현됩니다.Trace32 Armv7-A 시뮬레이터는 제공되지 않는 건가요?
-
미해결신입 개발자를 위한 Armv7-A Architecture Overview (저자 직강)
강의자료 문의
안녕하세요 강사님.강의자료(PPT파일) 제공이 가능한지 문의드립니다!
-
미해결Arm 아키텍처: 트러스트존(TrustZone) [저자직강 3부-1]
TEE OS뭔가요?
안녕하세요. 트러스티드 커널이 TEE OS를 의미하는 건가요?
-
해결됨시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
스택공간에 데이터를 저장할 떄
캐시에만 데이터를 저장하는 것인지 캐시와 ram영역 모두에 데이터를 저장하는 과정을 거치는지 궁금합니다
-
미해결Arm 아키텍처: 트러스트존(TrustZone) [저자직강 3부-1]
Trusted OS에 대해 질문이 있습니다.
강의에서 Trusted OS는 논 시큐어 월드에서 구동하는 RTOS나 Linux의 하나의 쓰레드처럼 동작한다고 말씀해주셨는데, 이는 Trusted OS는 Linux와 같이 부팅 시 메모리 해당 이미지가 로드되는 별도의 OS가 아니라, 논 시큐어 월드에서 동작하고 있는 커널 코드를 시큐어 월드 전용 쓰레드로 실행시킨다고 이해하면 될까요?
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
LDM
안녕하세요, ldm 명령어가 수업 중 몇번 등장하는데요,본론은, ldm r13, {r4, r5, r11, r13, pc}에서 r13위치 기준으로 쭉 읽어오는 것 같은데요, (맞겠죠?)이 명령어도 stack 의 pointer 를 바꾸는 것 같은데요, 그럼 사실상 POP 과 같은 명령어라고 보면 되는 건가요?
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
TRACE32 debugging
안녕하세요, TRACE32 Arm aapcs v7 practice 1 에서, PC 값을 push 하는 동작이 있는데요, 분명 0xc0253988 이었는데 어째서 stack 에 들어갈때는 0x0253990 으로 들어가나요? 감사합니다
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
interrupt service
안녕하세요, ARM architecture 와 동떨어질 수 도 있는 질문입니다..interrupt service routine 나 exception handler 는 user 가 직접 구현해야 하는 데요, 만약 리눅스를 설치한다고 했을 때, 리눅스에서 어디까지 제공해 주는 것인가요? 언급해주신 카메라 센서나, 터치 센서 같은 경우..ESR 에서 EC 가 어떻게 들어오는지는 모르겠지만, 유저가 직접 EC 를 보고 해석하는 코드를 짤 것 같지는 않아서요.arm architecture 의 exception handler 분기 후 리눅스와 유저가 어떻게 처리하는지 궁금해져서 질문드립니다감사합니다
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
vbar register
안녕하세요,vbar_el1 이 random 하게 부팅 때마다 정해진다고 하셨는데,Armv8 만의 특징인가요?Armv7 은 0xFFFF0000 이런 주소였던 것 같아요보안 이슈 때문에 매번 다르게 하는 건가요?
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
vbar register
안녕하세요,vbar_el1 이 random 하게 부팅 때마다 정해진다고 하셨는데,Armv8 만의 특징인가요? Armv7 은 0xFFFF0000 이런 주소였던 것 같아요보안 이슈 때문에 매번 다르게 하는 건가요?
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
System call register
system call register 로 쓰인다는 x8 의 경우는 arm architecture 호출 규약에 나와 있는 것인가요 아니면리눅스 커널에서 임의로 그렇게 정한 것인가요?
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
GIC programmer model
안녕하세요,memory mapped i/o 라는 것이msr 명령어를 통해 core 에서 특정 주소 값을 변경하면해당 gic 나 interface register 값을 변경할 수 있다는 뜻인가요?그리고 memory mapped 라는 것은 hardware 적으로 메모리 스토어만 하면 알아서 주변 gic 나 cpu interface 의 레지스터가 자동으로 바뀌게 되는 회로(메모리와 연결되는)가 있는 것인가요? (그리고 바뀌는 타이밍은 즉시 바뀌나요?)감사합니다.
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
exception handler code
안녕하세요0xffffff8008082580: d53201f nop...이런 식의 exception handler 코드는 어디서 볼 수 있나요? 코딩-> 컴파일을 해서 나온 결과 인가요 아니면 저렇게 일일이 주소: 명령어 다 넣게 된 것인가요?
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
arm mode
안녕하세요ARM 에서 sys mode 나 undef 모드나 이런 것들은virtual memory 를 사용하지 못할 것 같은데, (kernel 이 virtual memory를 지원할 것 같아서요)그러면 다른 모드는 physical memory 기반 assembly code 로 작성이 되나요?감사합니다
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
exception vector table
exception vector table 에서 명시된 주소 값은실제 physical memory 주소 인가요?그런데 physical memory 주소면 커널이 그 메모리에 들어간 함수를 어떻게 구현하게 되나요..?
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
exception 문제
같은 exception level 이나, exception 종류가 계속 연속해서 들어오게 되면 어떻게 처리가 되나요? spsr_mode 가 계속 덮어 씌워질 것 같아요
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
exception handler 구현
exception handler 는 소프트웨어 적으로 어떻게 구현이 이루어 지나요? exception vector 에 써진 주소값에 handler 를 넣어 주어야 할 것 같은데, 주소를 직접 넣어서 프로그래밍 할 수 있는 것인가요?
-
미해결Arm 아키텍처: 트러스트존(TrustZone) [저자직강 3부-1]
실제 활용 예시 코드 요청 합니다
안드로이드 어플리케이션 수준에서 직접 시큐어 모니터를 활욜한 apk을 작성하여 직접 디버깅하고, 유저 권한에서 어디까지 커널에 대한 활용이나 모니터 사용, 보호수준에 대해서 활용을 확인해 보고 싶습니다. 사용가능한 코드나 링크를 제공해주시면 학습에 더 큰 도움이 될거 같은데 자료가 있으면 제공해 주시면 감사하겠습니다.
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
Exception Level 설정 관련 질문
안녕하세요! Exception Level 관련 질문이 있습니다. 질문) Exception Level을 프로그래머가 직접 설정하는 것인가요?Exception 발생하는 경우를 예시로H/W설계자가 결정 한 것VBAR 레지스터에 설정된 주소 + Offset 위치로 분기하도록 설계Exception 유발 직전 상태의 PSTATE값 백업PSATE 값 변경 : 현재 EL0인 경우 EL1로 변경ELR, ESR 업데이트 프로그래머가 설정하는 부분VBAR 레지스터의 값은 프로그래머가 미리 초기화Exception Vector 주소로 분기 한 경우, 어떻게 동작할지 코드 작성 → Exception Handler 작성결국 프로그래머가 Exception Handler를 작성하는 것으로 이해했는데, 프로그래머가 자신이 작성하는 코드의 Exception Level을 설정할 수 있나요?프로그래머가 작성하는 코드의 Exception Level이 어떻게 결정되는지 궁금합니다.
-
미해결시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
Current EL 관련 질문
안녕하세요! 우선 너무 좋은 강의 잘 보고 있습니다. 질문Current Exception Level 정의를 어떻게 내리는지 질문드립니다. 제가 처음에 이해하기로는 리눅스OS 위에서 User App이 실행 중 Exception이 발생했다면 Current El = EL0 라고 생각했습니다.하지만 강의를 듣다보니 Exception handler가 어느 EL에 정의 되어있는지에 따라 Current EL을 정의해야하는 것이라고 이해했는데,위와 같이 이해하면 문제가 없을까요?