通过SDCC手动编译单片机程序

SDCC是一个单片机程序的编译器,与Keil等商业软件不同,SDCC是免费软件(当然SDCC不是集成开发环境,它仅仅是一个编译器)。

0 创建一个测试的c源码main.c,内容如下:

#include <mcs51/8051.h>
void main(void)
{
    P1 = 0xbf;
    while(1)
        ;
}

1 编译生成.ihx

sdcc.exe main.c -LD:\sdcc\lib -o test.ihx -mmcs51 --model-small  --debug    --xram-size 4096 --iram-size 256 --code-size 65536 --out-fmt-ihx

2 将.ihx转为单片机下载所需的.hex

packihx <test.ihx >test.hex
packihx: read 12 lines, wrote 14: OK.

生成的这个test.hex,可以通过stc-isp.exe下载到stc89c52单片机上。本例中的程序如果成功下载到我的单片机学习板上会点亮一个LED。