Debian & Ubuntu下89c51单片机开发环境部署

转自http://hi.baidu.com/ghxandsky/

今天晚上我继续Google关于在Debian & Ubuntu 下安装89c51(下面简称“51”)开发环境。
查了很久,发现有两个方法配置环境:

1. 编译器 as31 + 模拟器 emu8051 + 反编译 dis51 + 程序写入 cycfx2prog

这些工具都是来自不同“牛人”的手中,当然,全都是外国人干的。这样的软件组合,自感有点山寨,不过,如果再有“牛人”把这个东西做成IDE,卡卡,那可特别壮观了。

安装非常简单(多亏debian & ubuntu 强劲仓库):
$ sudo apt-get install as31 emu8051 dis51 cycfx2prog

呵呵,记得毛先生曾经教育我们“喝水不忘挖井人”,我们看看这些工具的开发者:

a.编译器 as31:Paul Stoffrege大师的设计,点击这里查看
b.模拟器 emu8051:一名美国大学教授写的,点击这里查看
c.反编译 dis51:一个单片机爱好者,点击这里查看
大家慢慢参看了……(可能要翻墙)

2.还有一种方法,就是使用SDCC,之前也提到的:

$ sudo apt-get install gputils gputils-common gputils-doc sdcc sdcc-doc sdcc-libraries sdcc-ucsim
$ sudo apt-get install sdcc-nf    //这里它会自动依赖库,自动卸载开放的SDCC,安装SDSS-NF

这里有个文章,点击这里下载查看。


开发小组官方网站

SDCC (小型设备C编译器)是为8位微控制器开发的免费C编译器。尽管兼容多种不同体系结构,但SDCC C编译器更适合8051内核。
SDCC是命令行固件开发工具,含预处理器、编译器、汇编器、链接器和优化器。安装文件中还捆绑了SDCDB,类似于gdb (GNU 调试器)的源码级调试器。无错的程序采用SDCC编译、链接后,生成一个Intel十六进制格式的加载模块。
SDCC主要由以下各部分组成:
sdcc – 编译器
sdcpp – c 预处理器
asx8051 – 8051汇编器
aslink.exe - 8051连接器
sdcclib.exe - 库产生器
makebin.exe - 产生二进制代码器
packihx – Intel hex转换器

当对SDCC工程进行编译,汇编以及连接源文件,输出文件如下所示:
*.asm  – 由编译器产生的汇编源文件。
*.lst – 由汇编器产生的汇编列表文件。
*.rst – 由连接器产生的汇编列表文件,里面含有连接信息记录。
*.sym – 源文件的符号列表,由汇编器产生。
*.rel 或 *.o – 由汇编器产生的目标文件,供连接器来使用。
*.map – 读入模块的内存映射表,由连接器产生。
*.mem – 记录存储器使用的摘要。
*.ihx –  intel hex格式的文件(可以使用--out-fmts19选项来选择Motorola S19输出格式)。
*.adb – 一个包含调试信息的中间文件,产生.cdb文件必须依赖这些中间文件来实现(使用--debug选项)。
*.cdb – 一个可选的包含调试信息的调试文件,在链接时使用选项--debug就会产生这个文件。
*  – 一个可选的包含调试信息的AOMF或者AOMF51文件(由选项--debug产生)。整个目标模块格式是OMF51格式的子格式并且一般被第三方工具使用(调试器,模拟器)。
*.dump* -- 打印文件调试编译器本身(选项为 –dumpall)

相关推荐