• Daum
  • |
  • 카페
  • |
  • 테이블
  • |
  • 메일
  • |
  • 카페앱 설치
 
카페정보
카페 프로필 이미지
IT관련 제품 개발 대행
 
 
 
카페 게시글
기술자료 스크랩 부트로더(BootLoader)란 무슨 기능을 하는가.MCU/AVR2007/06/19 16:43
겨울여행 추천 0 조회 2,689 09.05.13 11:12 댓글 0
게시글 본문내용
부트로더(BootLoader)란 무슨 기능을 하는가.
2007/06/19 16:43
양산이 끝났고, 이미 시장에서 활발하게 유통되고 있는 제품에 치명적인 프로그램 버그가 생겼다면?

다른 응용 소프트웨어들 처럼 인터넷 웹을 통한 업데이트 기능을 수행 할 수 있는 8비트 마이크로 콘트롤러가 바로 ATmega시리즈 입니다. 음... 별도의 장비 없이 업데이트 기능을 수행하려면, 단순히 ATmega칩의 BootLoader기능만 가지고 가능하지는 않겠군요. 왜냐하면 업데이트 될 데이터를 받아야 하니까. 이 업데이트 데이터를 ATmega로 보내줄 또다른 응용 소프트웨어가 필요 하겠군요.

처음으로 사용하고자 하는 CPU에 HEX 파일을 다운로딩 하기 위해서는 반드시 롬라이터 장비를 사용해야 하겠죠? 일단 처음 한번은 롬라이터 장비를 사용해서 실행 코드가 프로그램 메모리에 담겨져 있는 상태에서 출발합니다.

1. BootLoader를 통해 별도의 롬라이터 장비 없이 수정된 코드를 프로그램 메모리에 다시 라이팅 할 수 있다.

이 한가지만 빼면, BootLoader를 가지고 할 수 있는 더이상의 기능이 없습니다.

흔히 32비트 시스템에서, 특히 OS가 올라가는 시스템에서는 부트로더를 AVR에서 사용되는 부트로더 기능과 조금 다르게 봅니다. 덩치가 큰 시스템일 수록 부트로더의 기능이 더더욱 커지겠죠.

하지만, AVR에서는 단지 한가지 기능, 프로그램메모리를 다시 라이팅 할 수 있는 기능. 이것 하나 뿐입니다.
AVR에서는 프로그램 메모리를 하드웨어적으로 두개의 영역으로 분리 시켜 놨습니다.
BootLoader 영역과 Application 영역으로.
하드웨어적으로 어떤 차이가 있길래 분리했다는 걸까요?
바로 BootLoader영역에서만 Application영역 라이팅이 가능 하기 때문 입니다.

따라서, BootLoader영역을 수정하려면? 이것 또한 외부 장비없이 Self Programming으로 할 수 있다고 Datasheet에는 나와 있지만... 아직 BootLoader 업데이트 만큼은 구현해 보질 못했습니다.

어쨌든, BootLoader의 아주 기본적인 기능인 Application영역 라이팅. 이 단순한 기능만 확실하게 만들어 두면 BootLoader자체를 다시 라이팅 해야 할 일은 거의 필요가 없겠죠?

출처 : http://blog.naver.com/twonten/
 
다음검색
댓글
최신목록