본문 바로가기

QEMU6

[QEMU] 임베디드 리눅스 시스템 구축 프로젝트 - device tree 와 OpenSBI 이전글https://microelectronics.tistory.com/68https://microelectronics.tistory.com/69https://microelectronics.tistory.com/70https://microelectronics.tistory.com/71https://microelectronics.tistory.com/72 원본 게시글docs : https://quard-star-tutorial.readthedocs.io/zh-cn/latest/github : https://github.com/QQxiaoming/quard_star_tutorial Device Tree File 이란?Flattened Device Tree (FDT)는 Linux 커널의 PowerPC 아키텍처.. 2024. 6. 13.
[QEMU] 임베디드 리눅스 시스템 구축 프로젝트 - OpenSBI 이전글https://microelectronics.tistory.com/68https://microelectronics.tistory.com/69https://microelectronics.tistory.com/70https://microelectronics.tistory.com/71 원본 게시글docs : https://quard-star-tutorial.readthedocs.io/zh-cn/latest/github : https://github.com/QQxiaoming/quard_star_tutorial OpenSBI 소스 코드 구조현재 OpenSBI의 소스 코드 구조는 비교적 간단하고 명확하다. 주요 디렉토리와 그 역할은 다음과 같다:sbi 디렉토리: OpenSBI의 핵심 파일들이 위치한 곳이다... 2024. 6. 12.
[QEMU] 임베디드 리눅스 시스템 구축 프로젝트 - OpenSBI overview 이전글https://microelectronics.tistory.com/68https://microelectronics.tistory.com/69https://microelectronics.tistory.com/70 원본 게시글docs : https://quard-star-tutorial.readthedocs.io/zh-cn/latest/github : https://github.com/QQxiaoming/quard_star_tutorial BootloaderBootloader 는 궁극적으로는 OS 를 SoC 에 로드하는 것이 목표인 프로그램이다.OS 위에서 돌아가는 프로그램이 아니므로, Firmware 의 한 종류이기도 하며, baremetal 로 동작한다.그 과정에서 IC 내부의 장치를 초기화 (메모.. 2024. 6. 11.
[QEMU] 임베디드 리눅스 시스템 구축 프로젝트 - Flash 테스트 이전글https://microelectronics.tistory.com/68https://microelectronics.tistory.com/69 원본 게시글docs : https://quard-star-tutorial.readthedocs.io/zh-cn/latest/github : https://github.com/QQxiaoming/quard_star_tutorial Cross Compiler 설치본문에는 bootlin 에서 다운받아 설치하지만, 본인은 riscv-toolchain github 를 통해 설치했다.https://github.com/riscv-collab/riscv-gnu-toolchain.git GitHub - riscv-collab/riscv-gnu-toolchain: GNU too.. 2024. 6. 10.
[QEMU] 임베디드 리눅스 시스템 구축 프로젝트 - 가상 보드 등록 2 이전글https://microelectronics.tistory.com/68 원본 게시글docs : https://quard-star-tutorial.readthedocs.io/zh-cn/latest/github : https://github.com/QQxiaoming/quard_star_tutorial 마찬가지로, 이미 기작성된 코드이므로 간단하게 읽으면서 흐름을 파악하는 것을 목표로 한다. 시리얼포트 추가실제 보드의 초기 디버깅 중, 시리얼 출력은 매우 유용하다. 거의 모든 SOC는 시리얼 포트를 포함하고 있기 때문에 우리도 정의에 시리얼 포트를 추가해야 한다.우선 세 개의 시리얼 포트 기본 주소를 추가한다. 세 개를 추가하는 이유는 나중에 여러 권한 영역 내에서 다른 시스템을 실행할 수 있기 때문에.. 2024. 6. 9.
[QEMU] 임베디드 리눅스 시스템 구축 프로젝트 - 가상 보드 등록 github 를 뒤지다가 rom 코드 부터 커널을 step by step 으로 올리는 친절한 예제가 있어, 따라해보며 블로그에 포스팅을 해보려 한다. 원본 게시글docs : https://quard-star-tutorial.readthedocs.io/zh-cn/latest/github : https://github.com/QQxiaoming/quard_star_tutorial 간략히 보니, QEMU 빌드부터 진행하는데, 타겟 SoC 의 구성을 셋팅하는 것 부터 시작해서 아키텍쳐 적으로 이해하는데 많은 도움이 될 것 같다. 문서가 중국어로 되어있기 때문에, ai 의 도움을 받아 한국어로 번역을 하면서 첨언할 부분을 추가할 예정이다. 의존성 패키지 설치sudo apt install ninja-build pk.. 2024. 6. 8.