3일정도 공부를 하였고, 책을 끝까지 보았다.

 

임베디드 OS를 공부할때 이 책보다 좋은 책이 있을까 싶다.

nographic 옵션으로 실행된 QEMU를 종료하는 방법은 다음 링크에 나와있다.

 

https://superuser.com/questions/1087859/how-to-quit-the-qemu-monitor-when-not-using-a-gui

 

How to quit the QEMU monitor when not using a GUI?

I'm running QEMU on Linux without GUI. After running starting my custom kernel with QEMU, I can't kill and return to host by pressing Ctrl+C. Is there any way to get back to host OS?

superuser.com

 

1. QEMU가 실행된 terminal 창에서 Ctrl + A 를 누른다.

2. 손을 뗀다

3. x 를 누른다.

 

이렇게 하면 아래처럼 kill 된다.

 

 

 

 

main.c를 빌드하려고 하면 

 

stdint.h 가 없다고 나온다

 

https://github.com/navilera/Navilos/blob/6c43617d1cd004da3c4af8a52e0dc0f2e62832ac/include/stdint.h

 

navilera/Navilos

RTOS for various embedded platform. Contribute to navilera/Navilos development by creating an account on GitHub.

github.com

 

 

include/stdint.h 파일을 생성하면 된다

 

그리고 Make file 편집을 코드 4.6 -> 코드 4.9로 직접 작성하였다면 표시된 변경사항외에 수정해야하는 부분이 있다.

 

헤더파일 디렉토리 경로 옵션인 -I가 INC_DIRS에 추가되었으므로 

 

$(CC) -march=$(ARCH) -mcpu=$(MCPU) -I $(INC_DIRS) -c -g -o $@ $<

 

저 line의  -I 옵션은 삭제하면된다.

 

'Study(complete) > 임베디드 OS 개발 프로젝트' 카테고리의 다른 글

완료  (2) 2020.01.09
p.73 kill QEMU  (0) 2020.01.08
p.21 arm-none-eabi-gdb 설치 에러  (2) 2020.01.07
p.17 어셈블리어 소스 파일 컴파일 warning  (0) 2020.01.07
임베디드 OS 만들기 시작~!  (0) 2020.01.07

arm-none-eabi-gdb를 설치하려고 하면 다음과 같은 에러가 발생한다.

 

 

tab을 이용해 검색을 해도 보이지 않는다.

 

Google을 통해 검색하였고 Ubuntu 18.04에서는 지원하지 않아 16.04 버전의 package를 설치해보라는 글을 보게 되었다.

 

https://acassis.wordpress.com/2018/12/27/adding-arm-none-eabi-gdb-to-ubuntu-18-04/

 

Adding arm-none-eabi-gdb to Ubuntu 18.04

I noticed that gdb-arm-none-eabi package is not present on Ubuntu 18.04 repository. After some searches I saw people suggesting to use gdb-multiarch, but this gdb didn’t work for me. Then aft…

acassis.wordpress.com

 

https://packages.ubuntu.com/xenial/gdb-arm-none-eabi

 

Ubuntu – Details of package gdb-arm-none-eabi in xenial

[  xenial  ] Package: gdb-arm-none-eabi (7.10-1ubuntu3+9) [universe] GNU debugger for ARM Cortex-A/R/M processors Other Packages Related to gdb-arm-none-eabi dep: libc6 (>= 2.15) [not arm64, ppc64el] GNU C Library: Shared libraries also a virtual package p

packages.ubuntu.com

https://packages.ubuntu.com/xenial/libreadline6

 

Ubuntu – Details of package libreadline6 in xenial

[  xenial  ] Package: libreadline6 (6.3-8ubuntu2) GNU readline and history libraries, run-time libraries Other Packages Related to libreadline6 dep: libc6 (>= 2.15) [not arm64, ppc64el] GNU C Library: Shared libraries also a virtual package provided by lib

packages.ubuntu.com

 

위 두 링크에서 package를 다운로드 받는다.

 

1. libreadline6 설치

2. gdb-arm-none-eabi 설치

 

이렇게 하면 된다.

 

 

 

 

 

 

'Study(complete) > 임베디드 OS 개발 프로젝트' 카테고리의 다른 글

완료  (2) 2020.01.09
p.73 kill QEMU  (0) 2020.01.08
p.53 main.c 빌드 error  (0) 2020.01.08
p.17 어셈블리어 소스 파일 컴파일 warning  (0) 2020.01.07
임베디드 OS 만들기 시작~!  (0) 2020.01.07

Entry.S 를 컴파일하는 도중 warning이 발생하였다.

 

 

./Entry.S: Assembler messages:
./Entry.S: Warning: end of file not at end of a line; newline inserted

 

뭔소리인지 구글을 찾아봤으나 해결이 안되어 설마하고 파일 마지막 줄에 Enter를 치니 해결이 되었다.

 

 

.text
    .code 32

    .global vector_start
    .global vector_end

    vector_start:
        MOV R0, R1
    vector_end:
        .space 1024, 0
.end

 마지막줄 .end 밑에 한줄 추가하니까 warning은 보이지 않는다.

'Study(complete) > 임베디드 OS 개발 프로젝트' 카테고리의 다른 글

완료  (2) 2020.01.09
p.73 kill QEMU  (0) 2020.01.08
p.53 main.c 빌드 error  (0) 2020.01.08
p.21 arm-none-eabi-gdb 설치 에러  (2) 2020.01.07
임베디드 OS 만들기 시작~!  (0) 2020.01.07

임베디드를 더 깊게 공부하고 싶어서 알아보던중 알게된 책

 

 

익숙한 이름이 나와서 보니 멤버십생활할때 근처에 있던 형이었다!

그때 인사도 제대로 안한 사이라서 아쉽긴했지만

 

암튼 책 구매후 보려고 하니 너무 오래전에 나온 책이라 따라하기가 어려웠다....

 

실습보드도 이제는 구매할수가 없고....

 

무조건 책만보고 따라하는 나로서는 너무 어려워서 책장에 꽂아놓고 "언젠가 꼭 하고 말리라 책"으로 잊혀지던 도중

 

 

개정판이 나온것을 보고 말았다!!

 

책이 시키는데로 착실하게 따라하며 할 예정이다!

 

저자의 github에는 모든 소스가 다 올라와있고, 따라하는 나의 상황은 다음 github에 올릴예정이다.

 

github : https://github.com/pmankyu/embeddedOS

'Study(complete) > 임베디드 OS 개발 프로젝트' 카테고리의 다른 글

완료  (2) 2020.01.09
p.73 kill QEMU  (0) 2020.01.08
p.53 main.c 빌드 error  (0) 2020.01.08
p.21 arm-none-eabi-gdb 설치 에러  (2) 2020.01.07
p.17 어셈블리어 소스 파일 컴파일 warning  (0) 2020.01.07

+ Recent posts