본문 바로가기

임베디드(Embedded)4

임베디드 시스템 실습 정리 4 부트로더 상태에서 나오는 주소는 모두 물리주소이다. 가상 주소가 쓰이는 때는 운영체제가 켜졌을 떄부터이다. UART 의 역할 Serial Communicate 시리얼 통신 장치 부팅 시에 화면에 아무것도 안뜬다면 초기화가 되는지 컴퓨터가 켜지는지 꺼지는지 알수가없다. 그래서 DRAM초기화 이후 UART를 통해 간단한 정보를 출력한다. 이후 Load OS image into DRAM(운영체제 이미지를 DRAM에 로딩) Located in MBR for x86 CPU의 Instruct Pointer가 OS 실행파일들을 실행 2022. 9. 28.
임베디드 시스템 실습 정리 3 툴체인 크로스 컴파일 툴체인이 대부분이다 Components of Toolchain -gcc compiler -C/C++ lib -Kernel headers -Binary utilities -gdb debugger 툴체인의 핵심기능은 GNU에서 제공하는 gcc 이다. C 라이브러리는 리눅스 시스템의 필수 구성 요소이다. – 애플리케이션과 커널 간의 인터페이스 – 잘 알려진 표준 C API를 제공 • printf • open • read 등 여러 C 라이브러리를 사용할 수 있다. – glibc, uClibc, eglibc … 코드는 데이터와 코드로 이루어져있다 리눅스에는 특별히 확장자가 없다 Static library - libmy.a Shared library 공유 라이브러리 - libmy.so 2022. 9. 21.
임베디드 시스템 정리 2 임베디드 시스템은 큰 시스템 안에 Built in 되는 것 Speacial Purpose 특수 목적을 가진 컴퓨터 한 마디로 "Computer inside a product" 4차 산업혁명 ICBM IoT Cloud Big Data Mobility 유동성 모든 인터넷 통신은 TCP/IP부터 시작 소수의 그룹이 통제를 하는 시대로 간다. 사실상 멈추는 것은 불가능 실시간 real time 두가지 종류가 있다. 대부분 일상생활에서 보는 것은 2번이지만 중요하고 정확해야하는 OS는 100% 시간을 보장해야하기에 1번이 탑재돼있다. 1. hard real time 2. soft real time hard real time Linux를 개발하여 판매하는 회사또한 있다. 질문) 오픈소스인 Linux는 soft re.. 2022. 9. 14.
임베디드 시스템 실습 수업정리 1 Embedded Linux - Software development in Linux (어떻게 개발할 것이냐?) - Boot Loader (Power on 되면 제일 먼저 동작하는 코드, Starter Code라고도 한다.) - Linux Kernel (커널의 구조(소스)에 대해 배우기) 1. Kernel architecture 2. Device driver - File system Android - NDK (Native Development Kit) and JNI UNIX 의 모든 응용프로그램을 리눅스 운영체제 커널에 올렸다. 리눅스 토발즈가 만들어서 오픈한 커널에 대해서 배우는 과목이다. 버전 5부터 공부하면 매우 확대돼있어 어렵기에 기본적인 기능과 구조를 알고 빌드하기 위해 낮은 버전으로 공부한다. .. 2022. 8. 31.