1. 搭建Linux系统。(Ubuntu)2. 下载sdcc(单片机c语言编译器)(使用最新版本,系统自带的2.9.0版本问题较多)你可以下载源代码来编译安装,当然也可以直接下载编译好的二进制文件,Linux x86平台下为:sdcc-linux-x86。最新版本为3.3.0,这里有下载好的一份: http://download.csdn.net/detail/mcgrady_tracy/6798197对照INSTALL.txt文档:$ mkdir tmp$ cd tmp$ tar xjf sdcc-3.3.0-i386-unknown-linux2.5.tar.bz2$ cd sdcc-3.3.0$ cp -r * /usr/local最后测试一下:$ sdcc -v得到如下信息:SDCC : mcs51/gbz80/z80/z180/r2k/r3ka/ds390/pic16/pic14/TININative/ds400/hc08/s08 3.3.0 #8604 (May 11 2013) (Linux) 如果之前通过这样安装了sdccsudo apt-get install sdcc sdcc-doc注:如果下载失败,可以先进行更新之后,再试。sudo apt-get update$ sdcc -v查看版本为2.9.0的话。 按照上面的方法更新sdcc到最新版本///////////////////////////////////////////////////////////////////////////////////////////////////////////////有问题??修改环境变量/home/用户/.bashrc文件在后面加上export LD_LIBRAYR_PATH=$LD_LIBRAYR_PATH:/usr/local/lib//////////////////////////////////////////////////////////////3. 以上就搭建好了编译平台 验证例子:#include <8051.h> #define uchar unsigned char#define uint unsigned int void delay_ms(uint ms){uint i, j;for(i = ms; i > 0; i--)for(j = 110; j > 0; j--);return;} int main(void){P0 = 0XFF;delay_ms(1000);P0 = 0X00;delay_ms(1000);return 0;} 编译sdcc led.cpackihx led.ihx > led.hex 可以通过这条命令来生成.bin文件objcopy -I ihex -O binary led.hex led.bin 4. 如果要在Linux环境下进行烧录请参考下面贴子http://forum.ubuntu.org.cn/viewtopic.php?f=97&t=327501 |