1. SDCC (Small Device C Compiler)

다운로드

개발자 홈페이지  http://sourceforge.net/projects/sdcc/files/

개발자 홈페이지에서는 맥, 리눅스, 윈도우 버젼을 다운 받을수 있다.

아래는 윈도우용 버젼이다. 필요에 따라 이곳에 받아도 된다.

물론 공짜이다....

 

윈32비트 sdcc-20130819-8807-setup(32bit).exe

윈64비트 sdcc-20130819-8807-x64-setup(64bit).exe

 

설치를 하면 알아서 경로(path)를 연결하는듯 하다.

C:\SDCC

이렇게 입력하여 내용이 주~욱 나오면 정상적으로 설치되었다.

(나오는 내용은 컴파일시 사용하는 설명이다.)

 

소스파일(*.c)파일의 위치는 경로상에 공백이나 한글이 포함되어 있으면 않된다.

(나중에는 개선될지 모르겠다.)

 

컴파일 따라하기

C:\에 hex폴더를 생성하고 C:\hex폴더에 test01.c파일을 생성한다.

시험용 파일이니 내용도 간단하게 제작하기로 한다.

C:\hex\test01.c

 

#include <8052.h>

void delay(int d)
{
 int i,j;
 for (i=0; i<d; i++){
  for (j=0; j<100; j++);
 }
}
void main(void)
{
 P0=0x00;
 while(1){
  P0=0xff;
  delay(100);
 }

}

 

시작 - 실행 - cmd 엔터

CD \hex

C:\hex\sdcc test01.c

이렇게 입력했을때 아무런 내용이 나오질 않으면 정상적으로 컴파일 된것이다.

이제 확인을 해보자

 

C:\hex\dir/w

 

test01.asm   test01.c  test01.ihx    test01.lk    test01.lst   test01.map   test01.mem   test01.rel   test01.rst   test01.sym

 

어셈블리파일인 asm과 롬파일인 ihx파일이 생성되었다.

다운로더가 ihx파일을 지원하면 아래과정은 생략하여도 된다.

 

ihx 파일은 hex파일로 변환하기

SDCC파일를 설치하면 ihx파일를 hex파일로 변환해주는 프로그램이 같이 설치된다.

 

C:\hex\packihx test01.ihx > test01.hex

packihx: read 14 lines, wrote 19: OK.

 

이제 test01.hex파일을 다운로드 하면된다.

 

BAT파일 만들기

bat파일은 여러가지 작업은 편하게 하기 위해서 제작한다.

아주 많은 기능을 가지고 있으나, 25년이란 세월이 세월의 공간으로 많은 내용을 날려 버렸다....ㅠㅠ

메모장 또는 에디터 프로그램을 사용하여 제작한다.

 

compile.bat

 

@echo off
@cls
SDCC %1.c
packihx %1.ihx > %1.hex
@cls
@dir/w

 

이렇게 compile.bat를 제작한후 C:\에 저장한다.

compile.bat의 설명

@echo off                  //아무것도 보이지 않게 한다.

@cls                         //화면을 지운다.
SDCC %1.c               //컴파일 한다.  %1 는 compile.bat를 실행할때 따라오는 인수이다.
packihx %1.ihx > %1.hex  //ihx파일을 hex파일로 변환생성한다.  ihx파일은 삭제되지 않는다.
@dir/w                      //파일목록을 보여준다.

 

이제 compile.bat파일을 아무곳에서 실행할 수 있도록 경로를 연결하여야 한다.

내컴퓨터 -> 속성 -> 고급 시스템 설정 -> 고급탭 -> 환경변수 -> 시스템 변수 -> PATH 선택후 편집

제일 마지막에  ;(세미콜론)이 없으면 ;C:\;    있으면  C:\;  이렇게 추가한다.

 

2013.08.29 수정

C:\ 폴더에 Compile.bat를 저장하였더니
PC에서 지워버렸다...
다음클리너와 V3를 사용하고 있는데 이 두녀석이 의심이 간다...
이러한 증상으로 아래과 같이 수정 하였다.

 

compile.bat

 

@echo off
cls                   

SDCC %1.c 

dir/w                               <------------  컴파일 결과를 보기위해 한줄 추가 하였다.

packihx %1.ihx > %1.hex 

dir/w

 

이렇게 compile.bat를 제작한후 C:\hex\ 에 저장한다.

compile.bat의 설명

@echo off //아무것도 보이지 않게 한다.

@cls //화면을 지운다.
SDCC %1.c //컴파일 한다. %1 는 compile.bat를 실행할때 따라오는 인수이다.

dir/w //파일목록을 보여준다.
packihx %1.ihx > %1.hex //ihx파일에서 hex파일을 생성한다. ihx파일은 삭제되지 않는다.
dir/w //파일목록을 보여준다.


 

 

이제 compile.bat파일을 아무곳에서 실행할 수 있도록 경로를 연결하여야 한다.

내컴퓨터 -> 속성 -> 고급 시스템 설정 -> 고급탭 -> 환경변수 -> 시스템 변수 -> PATH 선택후 편집

제일 마지막에 ;(세미콜론)이 없으면 ;C:\HEX; 있으면 C:\HEX; 이렇게 추가한다.

 

 

컴파일 동작 시험

C:\hex폴더이 있는 test01.c를 제외한 파일을 모두 삭제한다.

 

시작 - 실행 - cmd 엔터

CD \hex

C:\hex\compile test01 엔터

 

잠시후

신규로 생성된 파일들이 보일것이다.

 

compile test01에서 확장자는 입력하지 않았다는것에 주의하자...

compile.bat의 내용을 보면 파일명만 사용하고 확장자는 필요에 따라 바뀌게 되어 있는것을 알 수 있을것이다.

 

 

2. Edit Plus

컴파일 환경설정하기

도구 - 사용자 도구 구성 - 그룹이름을 SDCC로 지정한다.

추가버튼 클릭

메뉴제목 : Compile

명령: C:\compile.bat

인수: "$(FileDir)\$(FileNameNoExt)"

디렉토리: $(FileDir)

동작 : 없음

적용후 확인을 누르고 사용하면 된다.

 

인수에서 파일을 확장자 없이 사용하기 위해서 위처럼 지정하였다.

 

ihx파일을 hex파일로 변환하기 위해 bat파일을 제작하지 않고 직접 해보려고 했는데 잘 되질 않아 결국

bat파일을 제작하게 되었다...

 

+ Recent posts