부트코드와 부트로더의 차이점
안녕하세요 이 강의를 정말 유용하게 듣고 있는 학생입니다!
이 강의 소개란에 보면 부트코드와 부트로더는 다르다는 식으로 적혀있던데 부트코드와 부트로더의 차이점이 무엇인지 궁금합니다!
제가 알기론 부트코드는 main sp를 sp 레지스터에 저장하고 reset handler를 통해 .bss영역을 0으로 초기화 후 main으로 분기로 알고 있는데 부트로더는 어떤 개념인지 잘 모르겠습니다.
Câu trả lời 1
0
안녕하세요. 규철님!
부트로더와 부트코드는 시스템 부팅 과정에서 중요한 역할을 합니다. 부트코드는 특정 하드웨어에서 실행되기 위한 초기 코드로, 전원이 켜지면 CPU가 먼저 실행하는 코드입니다. 반면 부트로더는 운영체제나 애플리케이션을 메모리에 로드하는 역할을 해주는 소프트웨어를 말합니다.
더 자세한 설명이 필요하면 계속 읽어주세요
부트 코드(Boot code)는 임베디드 시스템이 시작될 때, 즉 전원이 켜질 때 실행되는 메인 프로그램의 일부로써 일련의 명령어들을 말합니다.
초기화 코드(또는 부트 코드)의 실행에 의해 프로세서는 리셋 상태에서 메인 프로그램을 실행할 수 있는 상태가 되지요. 일반적으로 이 과정속에서 메모리 컨트롤러와 프로세서 캐시를 구성하고 클럭 시스템을 포함한 필수 하드웨어 장치들이 초기화됩니다. 간단히 요약하면, 부트 코드는 컴퓨터 시스템이 시작될 때 실행되는 코드로, 시스템을 정상적으로 작동시키는데 필요한 초기화 작업을 수행합니다.
부트로더는 컴퓨터 부팅 프로세스에서 중요한 역할을 하는 컴퓨터 프로그램입니다. 컴퓨터가 전원을 켜거나 재부팅 할 때 실행되며, 운영 체제를 메모리에 로드하고 실행하는 기능을 합니다. 예를 들어, Microsoft Windows는 NTLDR 또는 BOOTMGR 같은 자체 부트로더를 사용하죠. 리눅스는 GRUB, LILO, Syslinux 등 다양한 부트로더를 사용하고 있고요. 임베디드 세계에서는 u-boot 가 가장 유명합니다. 부트로더들은 모두 공통적으로 하드웨어를 초기화하고 커널을 메모리로 로드하는 역할을 합니다.
0
답변 감사합니다. 덕분에 많은 걸 알게 되었습니다!
그렇다면 reset ISR과 부트코드는 같은 코드라고 이해해도 되는 것인가요??
아니면 벡터 테이블과 각 exception의 handler들을 모두 포함한 코드가 부트코드와 같은 것인지 헷갈립니다ㅠㅠ
1
보통 어셈블리 언어로 작성되는 부트스타트업 코드 뿐만아니라 main 함수에서 진행되는 하드웨어 초기화까지를 부팅 과정으로 볼 수 있습니다.
그리고, 벡터 테이블은 당연히 부트코드의 일부가 맞습니다.
한편, 익셉션 핸들러는 부트코드의 일부로 인정될 수도 있고, 아닐 수도 있습니다.
펌웨어 소프트웨어의 경우에는 인터럽트와 익셉션 핸들러는 초기 부팅 과정에서 부트코드의 일부로 포함될 수 있지만, 임베디드 리눅스와 같은 운영체제 환경의 소프트웨어에서는 인터럽트와 익셉션 핸들러가 운영체제의 일부로 인정되고 운영체제가 그것을 관리합니다. 그래서 그렇습니다.
stm32cubeide 관련 문의
0
43
2
DMA 관련한 강의도 제작해주실 수 있으신가요 ?
0
90
1
그림들도 해석 할 수 있어야 하나요?
1
100
2
no-stlink
1
80
2
4개의 CPU 사이클이 필요한 이유
1
99
2
MAC으로 진행 질문드려요..
1
95
2
학습 진행 시, 사용하는 Board에 대한 문의 드립니다!
0
159
2
push pop 질문
1
190
2
STM32Fx Cortex ARM 프로그래밍 저자:홍봉조, 출판사:지식과 감성
0
242
1
CORTEX_02_ASSEMBLY 빌드시 에러
1
270
1
외부 ST Link 연결 이용한 SWD 방법
0
338
1
파이프라인과 명령어
1
326
1
명령어 fetch
0
238
1
lr 레지스터 LSB 값
1
258
1
Disassembly 창 문제
0
349
1
s702 강좌에서 사용한 technical reference manual 문서
1
323
1
s702에 원자적 Access 를 위한 BSRR 코드작성 부분에 대해서
1
270
1
s202 LED 점등 예제 실행시 에러
2
351
1
STM32F429I-DISC 보드의 펌웨어
2
394
1
제공되지 않은 강의교재
0
319
1
s524 테일체이닝 강의 질문
0
234
1
메모리 맵 질문
0
279
1
xPSR 레지스터 플래그 값 및 기타 질문 드립니다.
1
858
2
컴퓨터 연결 및 회로도
0
420
1

