나빌로스
- 이만우님이 교육용으로 만든 간단한 RTOS
교차 컴파일러 설치하기
- navilos는 우분투에서 개발해서 ARM 아키텍처에서 사용하며 GCC로 컴파일 할 예정
- 교차 컴파일러 예시 : gcc의 arm 아키텍처 - 플랫폼은 linux/none - eabi 타입은 android/gnu 등
gcc-arm-linux-androideabi
gcc-arm-linux-gnueabi
gcc-arm-none-eabi
-> 리눅스에서 돌릴게 아니므로 gcc-arm-none-eabi 선택
ABI
application binary interface라는데 설명봐도 영 무슨말인지 이해가 잘안되지만 API가 코드에서 어떻게 호출할지 쓰는거니 바이너리 단위로 어떻게 호출해서 쓰는게 아닌가 싶다.
교차 컴파일러 설치하고
ARM 아키텍처 가상화를 위해 qemu도 설치하면 끝
버전은 4.2.1
사용가능 기기가 많은데 realview-pb-a8 사용
ABI 다시 정리
- 아래의 링크를 보니 window로 컴파일한 실행파일(바이너리)을 linux에선 사용불가
- 바이너리가 호환가능하면 다른 플랫폼에서도 사용가능
- API에선 함수에 매개변수를 어떻게 넣으면 되는지 정의하나 ABI는 인자를 register나 stack 어디에 넣으면 되는지 정의
'컴퓨터과학 > os' 카테고리의 다른 글
navilos - 6. 익셉션 핸들러 구현2, 메인함수 진입 (0) | 2022.08.18 |
---|---|
navilos - 5. 익셉션 핸들러 구현 1 (0) | 2022.08.17 |
navilos - 4. 어셈블리어 공부하며 본 초기코드 (0) | 2022.08.17 |
navilos - 3. 메모리맵 (0) | 2022.08.17 |
navilos - 2. 펌웨어 만들고, 빌드 자동화 (0) | 2022.07.17 |