Startup Code

 

부팅 과정 중 첫번째에 실행되는 코드, 말그대로 시작할 때 필요한 사항을 적은 코드입니다.

 

main함수가 불리기 전에 실행되죠.

 

파일명이 startup.s 입니다. 파일명.c는 어셈블리어로 프로그래밍된 파일입니다. 

 

C언어가 아니라 어셈블리어로 프로그래밍하는 이유는 C코드로 프로그래밍하기 위해서는

 

스택 메모리 할당이 전제가 되어야하기 때문입니다.

 

스타트업 코드는 보통 다음과 같은 절차를 구성합니다.

 

1. Disable all interrupts

2. Copy any initialized data from ROM to RAM.

3. Zero the uninitialized data area.

4. Allocate space for and initialize the stack.

5. Initialize the processor's stack pointer.

6. Create and initialize the heap.

7. Execute the constructors and initializers for all global variables

8. Enable interrupts.

9. Call main.

 

 

스타트업 코드 깔끔한 설명

 

Startup Code - Programming Embedded Systems in C and C++

If the same symbol is declared in more than one object file, the linker is unable to proceed. It will likely appeal to the programmer — by displaying an error message — and exit. However, if a symbol reference instead remains unresolved after all of the ob

www.e-reading.life

 

임베디드 책 추천

 

Programming Embedded Systems

If you have programming experience and a familiarity with C--the dominant language in embedded systems--Programming Embedded Systems, Second Edition is exactly what you need to get started with embedded software. This software is ubiquitous, hidden away in

books.google.co.kr

 

'전자공학 > 임베디드' 카테고리의 다른 글

JTAG란?  (0) 2019.12.25
부트로더(Boot loader)란?  (0) 2019.10.28
툴체인(Toolchain)이란?  (0) 2019.10.26
모놀리식 커널(Monolithic kernel), 마이크로 커널(Micro kernel)  (0) 2019.10.26
ELF파일이란? (+HEX파일)  (0) 2019.10.25

+ Recent posts