- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 8강 2번째 영상 에서 나온 function이나 여러 기능들을 보려면 Makefile을 -g 명령어를 네 곳에 더 넣어 수정했다고 알고 있는데요 영상 약 13분 경 쯤에 나오는 곳이 네 곳 중 두 곳인데 이 두곳에 대해서는 수정을 했는데 나머지 두곳에 대해서는 수정을 못해서 어느 부분을 수정하셨는지가 궁금합니다. 물론 저 두곳만 켜도 크로스 컴파일 결과로 어느정도 볼 수 있는 건 확인했는데 영상처럼 모든 게 보이진 않더라고요 혹시 시간 되시면 한번만 확인 부탁드려도 괜찮을까요? 확인 부탁드립니다. 감사합니다.
SP와 SP_ELn의 관계에 대해 궁금해서 추가로 공부해보니, SP는 Exception Level에 대응되는 SP_ELn을 가리키는 alias(하드웨어적인 매핑) 이라고 합니다. 그럼 SP는 가리키기만 할 뿐, 실질적 존재는 SP_ELn 레지스터이니, SP_ELn이 업데이트 될 때 SP가 동시에 업데이트 된다는 설명이 부자연스럽다고 느꼈습니다. SP는 항상 별칭으로 가리키고 있을 뿐인 것이니.... 제 이해가 맞는 걸까요?
안녕하세요. stm32cubeide를 설치하고보니 2.0.0버전부터 ide와 mx를 두개를 설치해서 사용하게 변했는데 2.0.0으로 ide따로 mx따로 깔아서 하는게 좋을까요? 아님 이전 버전으로 두개가 같이 있는 버전을 쓰는게 좋을까요? 최신의 버전이 반응이 별로 좋지 않은 것 같아 그냥 이전 버전을 사용하는게 나은가 고민되어 문의드립니다.
시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 1부 저자 직강 (2024년 버전)
안녕하세요, 1.6 이 책의 구성, 4분대에서 5장 "Armv7 동작모드"와 6장 "Armv8 익셉션 레벨"을 소개해주셨는데요. Q1) Armv7 동작모드 == Armv8 익셉션 레벨 과 거의 같은 의미라고 받아들여도 되나요? 각 Armv의 용어 차이가 있는것 같아서 헷갈려 여쭤봅니다. (만약 다르다면, 나중에 Armv8에서의 동작모드도 설명해주시는건지.. 궁금하네요.)
안녕하세요, 항상 도움 받고 있습니다. Q&A는 아니고 강의 진행 간 강의 중복 업로드가 확인되어 해당 내용 전달 드립니다. "42. 워크 핸들러에 전달되는 매개 인자 디버깅"의 강의가 "52. ftrace 분석: 워크큐 와치독" 강의로 잘못 업로드된 것 같으니, 확인 부탁드립니다. 감사합니다.
시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 1부 저자 직강 (2024년 버전)
컴퓨터공학과 재학중인 대학생입니다. 올려주신 유튜브나 강의 잘 보고 있습니다. 제가 현재 취업을 한다면 생각하고 있는 직무는ip/솔루션이나 soc쪽 직무이고 전공 공부 자체가 재밌어서 일단 대학원을 가는 것을 일단 생각하고 있어서 OS레벨의 시스템 소프트웨어 분야 대학원 진학을 생각하고 있습니다. 현재 전공 공부 복습과 김동현님 책들로 아키텍쳐나 리눅스 커널에 대해 공부하고 있는데, 공부 이후의 방향에 대해서 기존에 보유한 라즈베리파이3에 부트로더를 올려보고 다른 참고자료들을 이용해서 os를 만들어보는 경험과 리눅스 커널 컨티리뷰트를 해보려하는데 이게 제가 생각하는 분야와 fit한지 헷갈려서 질문드립니다. 책과 강의 잘 듣고 있습니다.
시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 1부 저자 직강 (2024년 버전)
안녕하세요 바쁘신데 고생 많으십니다. stack frame을 보는 명령어 v.f 수행 시에 아래 사진과 같이, Stack Frame을 찍지 못하는 것 같습니다. 이와 관련하여 제가 생각한 문제점은 실습 환경 구축을 위해 Trace32 프로그램에서 Arm -> Register -> Practice2 (Armv7)로 진행하였습니다. Practice 1은 Armv8 아키텍처로써 현재 강의와는 맞지 않다고 생각했습니다. 이에 따라 예제 파일을 열게 되면 아래와 같은 Warning이 발생합니다. Warning: file C:\home\mike.seo\osc_src\rpi_5_4_kernel\linux\net\core\dev.c not found 이에 따라 현재 모드 마다 SP,LR,PC Register의 값이 강의 내용과 다른 상황입니다. 관련해서 답변 주시면 감사하겠습니다. 추가적으로 SoC Engineer 입장에서는 JTAG/SWD Port가 CPU에서 뽑아져 나오는 것으로 알고 있습니다. 하지만 Trace 32는 프로그램인데 실제 하드웨어 포트와 Trace32라는 프로그램을 연결해주는 것이 무엇인지 궁금합니다. 관련해서 답변 주시면 감사하겠습니다.
빌드를 해보던 도중 printk("dev_id:0x%x \n", (unsigned int)action->dev_id); 해당 줄에서 언사인드 인트가 포인터 인트 형 문제라고 하는데 printk("dev_id:%p\n", action->dev_id); 이렇게 바꿔서 진행해도 될까요? 아니면 워닝 무시하고 해보면 되나요?
안녕하세요. Linux kernel 강의를 듣고 있는 수강생입니다 제가 Crash utility 를 이용해서 쉽게 해당 dump 의 최종 프로세스의 cpu 번호는 알 수 있는데, 만약 현장에서 Crash Utility 설치가 불가피해서 사용을 못하고(시간상이나 알수 없는 원인으로 설치가 안될때) 오직 TRACE 32 만으로 SMP(멀티코어) 시스템의 DUMP 발생 원인이 된 프로세스의 CPU 번호를 파악하고 싶을때는 어떤 방법을 이용할 수 있을지 궁금합니다. 예를들어 아래와 같이 상황에서 해당 Soft IRQ 를 발생시킨 CPU 번호를 오로지 TRACE 32 를 이용해서 찾아야 한다고 했을때 , 어떻게 해야하는지 궁금합니다 사실 교수님께서 설명하셨던것 같은데, 기억이 잘 안나서요. 죄송합니다.... 감사합니다.
안녕하세요 선생님, 덕분에 linux kernel을 쉽게 접근하여 배우고 있습니다. debugfs 드라이버 코드 작성하는 것을 보니 어느정도 틀이 있는 것 같더라구요. (init 처리, set/get 등록) 모든 드라이버 작성이 위와 비슷한 틀로 작성이 되는 것일까요??
시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
안녕하세요, 섹션15. AAPCS : TRACE32 디버깅 실습 (2024년 버전) 의 119. Armv7-A: BL 명령어 실행 후 스택 Push 및 Pop 디버깅 실습 (Practice1-Part2) 강의에 3분10초쯤에서 push {r4,r5,r11,r12,r14,pc} 명령을 실행하는데, 왜 스택에 push 되는 pc 값이 C0253990 인지를 모르겠습니다. 그러니까 스택 화면(d.v 윈도우)에서 스택 주소(CC181BFC)에 push되는 값이 pc 값이 C0253990으로 확인되는데, 해당 push 명령은 C0253988 이고, 명령 실행시 레지스터 화면(r 윈도우)에서도 pc 값이 C0253988에서 C025398C로 변경되는데 스택에 push되는 pc 값은 왜 C0253990 ... 인가요 ... ? ++++ 개인적으로 조사해보니... ARMv7에서 파이프라인 성능향상을 위해 2개의 명령어를 prefetch 해놓았기 때문이라고 하는 것 같은데요 ... 그럼 trace32의 레지스터 화면(r 윈도우)의 값이 잘못되고, 스택 메모리 화면(d.v 윈도우)의 값이 맞다는걸...까요?