sdcc의 간단한 예시

2254 단어 단편기
먼저 원본 파일을 작성해서main으로 가정합니다.c, 내용은 다음과 같습니다.
#include 

#define led1 P2_0

void delayms(unsigned int ms)
{
        unsigned int x, y;

        for (y = ms; y > 0; y--) {
                for (x = 227; x > 0; x--);
        }
}

void main(void)
{
        while (1) {
                led1 = 0;
                delayms(1000);
                led1 = 1;
                delayms(1000);
        }
}

다음은 당연히 이 원본 파일을 컴파일하고 명령을 사용합니다.
$ sdcc main.c

컴파일링이 끝난 후에 한 무더기의 파일을 생성할 것입니다. 그 중의 메일만 있으면 됩니다.ihx, 마지막으로 우리가 필요로 하는 Hex 파일로 변환합니다. 명령은 다음과 같습니다.
$ packihx main.ihx > main.hex

Hex 파일이 생성된 후에는 당연히 다운로드를 해서 최종 결과가 정확한지 확인해야 한다. 이를 위해 STC에서 제공하는 STC-ISP 소프트웨어를 편리하게 사용하기 위해 다운로드(판자는 빙글빙글 USB에서 제공하는 판자, CPU는 STC89C52RC)를 받지만 다운로드를 한 후에 LED가 반짝이지 않는다.처음에 판자가 고장났는지 의심했다. 오랫동안 그것을 사용하지 않았기 때문에 어쩔 수 없이 동그라미를 다운로드해서 USB가 제공하는 예시 프로그램을 가르쳐 주었다. 실행할 수 있고 판자가 문제가 없다는 것을 증명했다.또 sdcc컴파일링에 문제가 있는지 의심스럽고 컴파일 옵션 같은 것을 추가해야 하는지 의심스러웠다. 그래서 keil소프트웨어를 다운로드해야 했다. 같은 프로그램을 다운로드한 후에 실행할 수 있었다. 더욱이 자신이 컴파일을 잘 하지 못했는지 의심스러웠다. 인터넷에서 많은 자료를 참고했고 컴파일 중 어느 부분에 문제가 생겼는지 발견하지 못했다. 그리고proteus 모방 소프트웨어를 내려 Hex 파일을 불러온 후에 실행할 수 있었다.좋아, 지금 또 소프트웨어를 다운로드하는 문제를 의심하고 있어. 아마도 STC-ISP는keil 소프트웨어만 컴파일하는 것을 지원할 거야. 그리고 리눅스 아래의 다운로드 소프트웨어를 찾아보려고 시도했어. gSTCISP를 찾았어. 그런데, 나는 그림의 편의를 위해 인터넷에서 컴파일한 것만 직접 사용했어. 실행이 항상 libvte를 알렸어.so.9 못 찾았어요. 제 리눅스 환경의 문제인 줄 알았는데 중간에 데스크톱 환경을 지웠어요. 가까스로 회복해서 하마터면 시스템을 다시 설치할 뻔했어요.마지막으로 인터넷에서 gSTCISP의 원본 패키지를 다운받아서 얌전히 있었어요./configure make sudo make install을 설치하려면 gSTCISP가 bin 파일이어야 합니다. 명령을 사용하십시오.
$ objcopy -I ihex -O binary main.hex main.bin

gSTCISP를 실행해도 문제가 없습니다. 다만 다운로드가 잘 되지 않아서 항상 여기에 멈추었습니다.
We are trying to connect to your MCU ...

어쨌든 다운로드가 그렇게 순조롭지는 않지만 어쨌든 컴파일링에 문제가 없다는 것을 증명하면 앞으로 sdcc를 사용하여 단편기 프로그램을 개발할 수 있을 것이다.
사실은 중간에 테스트해 봤는데 sdcc의 IDE 환경을 다운로드해서 위의 프로그램을 컴파일했습니다. 컴파일한 후에 STC에서 제공한 ISP 소프트웨어를 다운로드한 후에도 실행되지 않았습니다. 명령행의 sdcc컴파일을 사용하면 문제가 있을 수 있다면 IDE를 사용하는 것은 문제가 없을 것입니다. 소프트웨어를 다운로드하는 문제라고 더욱 믿습니다. 여기서 sdccIDE를 다운로드할 수 있습니다.http://mcu8051ide.sourceforge.net/
여기에 제공된 ubuntu 아래의 설치 패키지가 있습니다. 물론 명령을 사용할 수 있습니다: sudo apt-get install mcu8051ide.

좋은 웹페이지 즐겨찾기