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.
스타트업 코드 깔끔한 설명
임베디드 책 추천
'전자공학 > 임베디드' 카테고리의 다른 글
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 |