摸索了几天,把STC8A单片机的程序转到了SDCC编译器。如果是刚接触单片机,没用过其他编译器,那么不会感觉有啥难度。如果从其他开发工具转过来,可能需要适应一下新环境。
STC官网给出的头文件和例程基本是基于keil的,这也让许多人选择keil开发环境。keil确实有过人之处,商业软件,比较可信赖。但是keil也有不足:一、它是收费的,免费也可以用,但有代码长度限制。我记得以前keil是免费的,被收购之后就收费了。二、keil只有windows版本,限制了使用的平台。
SDCC则是开源的,在多个平台可以使用,如linux, 苹果电脑, windows就更不在话下了,并且承诺一直开发更新。
看了一下STC8的头文件,只是寄存器地址的说明方法在SDCC中略有不同,使用notepad++很容易转换过来。SDCC也有自己的头文件,针对8051的,或者其他单片机的,都有。所以,也可以不用修改STC8的头文件,直接用SDCC提供的就好。
我使用的是SDCC 4.0 64位版本的。简单说说这个版本的使用方法。
1,SDCC支持多种单片机。它使用命令行编译,可以使用命令行参数指示编译功能。使用SDCC --help查看各编译参数。
2,SDCC一个命令行编译一个源文件。多文件源码要使用-c参数,先每个编译为目标文件rel,然后使用SDCC链接多个rel文件。其实这不算用法了,写个Makefile行了,用windows的,就下载cygwin或者mysys带的make,喜欢eclipse的也有个sdcc eclipse插件。还有个8051ide(windows版的我怎么没用对呢,