부트로더 제작 3편. blob 동작 시키기 - 2009/02/10 23:09
이번 시간에는 blob 프로그램 이미지를 타겟보드에 내리는 방법에 대해서 알아보도록 하겠다.
앞으로의 강좌에서나 또한 여러분들이 해당 보드를 가지고 직접 프로그램 개발을 하기 위해서 꼭 사용되는 방법인 만큼
본 방법을 잘 숙지토록 하여야 겠다.
첨부파일: download.exe ; BLOB 이미지를 타겟보드에 내려주는 윈도우즈 전용 프로그램
blob.bin ; BLOB 이미지( ver1.00 )
blob 프로그램 이미지 타겟보드에 내리기
[그림2] BLOB 이미지를 다운로드 하기 위해 사용되는 버튼
BLOB 프로그램을 타겟보드에 올리는 요령(순서)
(1)[그림2]의 예시와 같이 타겟보드와 시리얼 케이블로 연결한다. 그리고 보드에 전원을 인가한다.
(2)[그림3]의 예시와 같이 cirrus 에서 배포한 UART 를 이용한 시리얼 다운로드 프로그램인 'download' 프로그램을 실행시킨다.
(주1. 씨러스에서 배포한 download 프로그램은 각각 linux 용과 win 용으로 제공된다.)
(주2. 각각 보드레이트와 시리얼 포트가 정확한지 확인 필.)
(3)타겟보드의 BOOT 버튼을 지그시 누른 상태에서 POR 버튼을 누르면 곧 바로 다운로드가 시작된다.
[그림3] 다운로드 프로그램의 실행 화면
필자의 경우 USB2SERIAL 케이블을 사용한 관계로 SERIAL PORT3이 사용되었다.
성공적으로 다운로드가 완료된 경우 다음과 같은 메시지가 나타난다.
C:\Temp>download -b 115200 -p 3 blob.bin
Using Serial Port 3
Flash Manufacture ID:0089, Device ID:0018
Successfully programmed 'blob.bin'.
blob을 실행 시켜 보기
이제 타겟 보드에서 BLOB 이 정상적으로 동작하는지 확인 해 보는 일만 남았다. 이를 위하여는 PC 호스트 상에서 터미널 프로그램을 사용하여야 하는데 바이너리 파일을 전송할수 있는 기능을 가진 터미널 프로그램이면 어떤 것이든 무방하겠다.
리눅스용으로 Minicom 이나 윈도우즈에서는 하이퍼터미널 정도가 그 예가 될 수 있다.
필자의 경우는 [그림4] 처럼 윈도우 환경에서 테라텀을 사용하였다.
[그림4] blob이 실행된 타겟보드와 연결한 터미널 화면
타겟보드에 BLOB 프로그램을 내리고 케이블 연결후 터미널을 보면 대개 [그림4]와 같은 메시지를 확인할 수 있어야 한다.
만약에 그림과 같이 메시지가 보이질 않는다면 본 칼럼의 절차를 다시 확인후 그래도 안될 시에는 게시판이나 덧글로 문의 바란다.
현재의 프로그램(blob)은 아직 모든 프로그램 기능이 완성되지 않은 상태이다. 완성을 위하여는 포팅 단계중 중요한 두가지 기능이 완료되어야 한다.
FLASH writing 기능과 운영체제 로딩후 실행 기능이다. 따라서 금번의 릴리스 버젼(v1.00 )을 가지고 독자들이 실행해 볼 수 있는 명령은 다음의 명령으로 매우 제한적이다. help 명령과 status 정도이다. 이외의 다른 명령은 동작하지 않거나 대개 시스템이 먹통이 되게 만드는 강한 효력(?)을 지녔다.
미완이지만 독자들의 편의를 위하여 제목처럼 미리 선을 보인다. 빠른 시일내에 모든 프로그램 기능이 포팅 완료 될 것을 믿는다.
터미널 창에 다음과 같이 입력하여 보자.
blob> help [ENTER]
이후 메시지들이 디스플레이 될것이다. 이후 강좌에서 BLOB 소스를 분석할 시에 이야기 하도록 하겠지만 여러분들이 보시고 계신 터미널(테라텀)상의 모든 메시지들은 타겟 보드에서 뿌려 주고 있는 것들이다. 더불어 여러분들이 키보드에서 입력한 모든 명령들은 마찬가지로 타겟보드에서 해석되고 실행되며 마지막으로 실행 결과를 터미널에 보여 주는데 이 모든 행위를 BLOB에서 관장한다.
uuencode 설치하기
마지막으로 이후의 강좌에서의 사용을 위하여 다음의 내용을 잘 읽고 설치 바란다.
사용하는 리눅스 개발 환경에서 uuencode 명령을 다음과 같이 실행 해 본다.
#uuencode[ENTER]
uuencode: Command not found.
만약 위의 예시처럼 해당 명령이 존재 하지 않는 것으로 표시 된다면 이후 소개하는
방법대로 해당 기능을 설치를 해야 한다.
리눅스 패키지중 sharutils 내에 uuencode 툴이 들어 있다.
셸프롬프트에서 다음과 같이 입력한다.
# yum install sharutils
이후 부터는 설치 안내에 따라 진행하면 된다.
본 기능(uuencode)의 사용 용도는 이후의 강좌에서 진행될 예정이다.
NEXT. . . 다음 시간에는 blob의 동작 원리에 대해 알아 봅니다.
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요->






blob.bin