티스토리 뷰

1. 임베디드 시스템의 실행과정

 

      리셋  →  하드웨어 초기화  →  C프로그램 실행기반구축  →  main으로 분기 

 

 

2. 리셋

  º 파워 On

   - 리셋 : 파워나 리셋버튼을 눌렀을때 발생하는 예외 ( Exception ) 

   - 예외 ( Exception )

       · 시스템 오류를 포함하여 프로세서에게 특정 이벤트가 발생했음을 알려주는 것으로 프로세서는 이에 대해 대처함

       · 예외들은 프로세서마다 정의되어 있고 예외를 처리하는 코드를 예외처리루틴(핸들러)이라고 함

   - 리셋은 시스템의 시작을 의미하는 이벤트이므로 시스템을 초기화하는 예외처리루틴이 필요하고, 리셋예외가 발생        하면 대부분 부트코드로 분기함

 

 

º 부트 코드

  - 하드웨어 초기화 코드

  - 하드웨어 초기화 과정

 

   ①  인터럽트 불가 (disable)

   ②  시스템에서 필요한 클럭을 생성

   ③  메모리 하드웨어 설정

   ④  주변기기 하드웨어 설정 

 

 

3. start up 코드

  - C프로그램이 작동되기 위한 기반을 만듦

  - 부트코드와 startup코드는 어셈블리로 만들어야함

  ① 초기화한 전역변수와 static 변수를 RAM으로 복사

  ② 초기화하지 않은 전역변수와 static변수 0으로 초기화

  ③ 모드별 스택을 생성하고, 스택포인터 초기화

  ④ 힙 메모리 생성

  ⑤ 인터럽트 허용

  ⑥ C프로그램의 main()호출

 

4. C프로그램 실행 

 º main으로 분기

   · Startup코드의 마지막은 main()의 호출로 C프로그램이 실행될 준비가 되었으니, 이제 프로그램을 실행하라는 의미임

   · main()d으로 분기해서 개발한 임베디드 소프트웨어가 실행됨

   · 임베디드 소프트웨어는 대부분 무한 루프임 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함