본문 바로가기

Project12

[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.
[Vim Plugin] YouCompleteMe 이걸 깔고 엄청 후회를 했다.왜 진작 깔지 않았을까.github 링크https://github.com/ycm-core/YouCompleteMe GitHub - ycm-core/YouCompleteMe: A code-completion engine for VimA code-completion engine for Vim. Contribute to ycm-core/YouCompleteMe development by creating an account on GitHub.github.comREADME 를 읽어보니, 설치방법이 여간 귀찮은게 아니다. 그래서 그냥 Vundle 로 설치하기로 했다.(Vundle : Vim plugin 을 관리하는 Plugin) Vundle 설치다운로드git clone https://g.. 2024. 5. 12.
WSL2 D드라이브로 마이그레이션하기 WSL2(Windows Subsystem for Linux 2)에서 기본 저장 위치를 C 드라이브에서 D 드라이브로 변경하기 기존 WSL2 인스턴스를 내보낸 후 D 드라이브에 다시 가져오는 방법 WSL 인스턴스 내보내기: 현재 사용 중인 WSL 인스턴스를 tar 파일로 내보낸다. PowerShell을 관리자 권한으로 실행한 후 다음 명령어를 사용한다. (여기서는 Ubuntu라는 이름의 WSL 인스턴스를 예로 들었. 실제 사용 중인 인스턴스 이름으로 변경해야 한다.) wsl --export Ubuntu D:\wsl_backup\Ubuntu.tar​ 기존 WSL 인스턴스 제거: 내보낸 후에는 기존 인스턴스를 제거한다. wsl --unregister Ubuntu​ 새 위치에 WSL 인스턴스 가져오기: 내보낸 .. 2024. 4. 4.
vim 에서 ^M 일괄 삭제 보통 윈도우에서 작성된 텍스트를 리눅스 환경에서 열어볼때 발생한다. 각 OS마다 개행 문자가 다르기 때문인데, 아래의 vim 커맨드로 해결 가능하다. :%s/^M//g 문제는 저기 나온 ^M 이 문자가 아니라는 점인데, ctrl 키를 누른 상태에서 V+M 을 입력하면 된다. 2024. 3. 28.