티스토리 뷰
- 목표
- C언어를 CrossCompile하여 RISC-V 언어로 변경할 것
- compile 시 binary file 생성, 이후 objdump로 disassemble하여 어셈블리 언어로 변환
- 앞서 변환한 RISC-V 어셈블리 언어 분석
- 코드의 실행 순서
- C코드와의 다른점과 이유에 대한 서술
- 예상한 RISC-V ISA와의 차이점
- C언어를 CrossCompile하여 RISC-V 언어로 변경할 것
- 분석 C언어
3. 배경지식
- Compile : Translate a code in a highlevel language into machine code
- High-level language : C, C++ …
- Machine code : 0101.. (binary)
- Cross- compile : 호스트(내 PC)와 다른 환경인 타겟 Processor를 위해 호스트환경에서 컴파일 진행
- arm64 컴퓨터에서 RISC-V(target)에서 사용가능한 파일로 컴파일ㄹ
- GNU
- Unix와 같은 Open-source software ecosystem
- Unix와 같은 OS에서 사용 가능한 여러 툴과 utilities 를 제공
- GCC (GNU Compiler Collection)
- GNU가 관리하는 C 컴파일러
- gcc a.c ⇒ a.out이라는 실행파일 생성
- gcc a.c -o hello ⇒ hello.out이라는 실행파일 생성
- 실행파일은 binary code를 의미함
- Objdump
- compile된 binary code 정보를 읽는 utility
- disassemble a compiled binary
- disassemble : binary code 를 assembly code로 변경
- Container VS Virtual Machine
- Linux Container
- 가볍고,portable하고 ,독립적인 환경을 구축한다.
- 독립된 파일 시스템, 네트워킹, 프로세스를 가지지만 같은 커널을 공유한다.
- Host OS의 resource를 공유한다
- Host와 같은 OS를 사용하여야한다.
- Virtual Machine
- Host와 완전하게 독립된 OS를 가진다.
- 자기 자신만의 resource를 가지고, HostOS와 공유하지 않는다.
- Host와 다른 OS를 사용이 가능하다.
- Linux Container
그 뒤의 과정과 어셈블리 변환과정, 트러블 슈팅 과정은 다음 링크에 업로드하였습니다.
https://deserted-breath-68c.notion.site/ed56ba43ef6a4a26a1e35634bb878888
'짤막한 지식' 카테고리의 다른 글
RARS를 이용한 RISC-V ARM Simulation (1) | 2023.05.21 |
---|---|
[JS][TIL] JS의 내장함수(fill) (2) | 2023.01.18 |
[JS][TIL] 개행문자 없이 로그출력 (process.stdout.write()) (0) | 2023.01.15 |
[Python][TIL] 파이썬의 문자열은 string[n] = '*' 로 수정할 수 없다. (0) | 2022.09.18 |
[Github] 기본 사용법 및 Git&Linux 명령어 (0) | 2022.07.01 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- RARS
- 깃허브 사용법
- 깃허브
- 리뷰
- 인프콘 2023
- FE 주니어
- Github Actions
- 프론트엔드 성능
- next 14
- Vercel
- 성능 측정
- JavaScript
- 성능 개선
- kpt
- 개발자 회고
- 모노레포
- Not Working
- 로딩성능
- 부트캠프
- 프론트엔드개발자
- netlify
- FE
- 국비지원취업
- ci/cd
- 이미지최적화
- no found
- Tailwind CSS
- 패스트캠퍼스
- 국비지원
- 사이드프로젝트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함