Ubuntu下的AT89S52,S51+SDCC+USBASP的开发环境的搭建

Linux下的MCU开发之51

-51系列的开发环境搭建

Galaxy2416

联系方式:[email protected]

附件包内容: 程序源码,超级简易Makefile模板,usbasp可烧录51的固件程序,相关文档。

http://download.csdn.net/detail/galaxy_blue/4327653

系列说明:LINUX下程序开发具有一定的成熟性,包括大部分的MCU,FPGA,DSP甚至PCB制图等都是可行的。本系列将针对51系列的MCU.。

本文环境如下:

OS系统:ubuntu 12.04

编译器 :sdcc

烧录软件 :avrdude

烧录器件 :usbasp

开发板:

开发板的确是有个小的,不过这次特意搭接了一个个人的小面包板版本,为此表示~不要怕开发MCU没有硬件基础,只要去做,其实开发就是这么容易~

如下图

最好弄运行的时候只需要电池1.2V*4,用了3个3.6V就可行(我的电池座忘带了,直接连起来啦)~建议最好有个USB接出来的5V电源或者自己有个变压器做的稳压电源,面包板上有一个电源小板子就是如此功能,不过这里没有使用。



注:旁边的小板子是USBASP,也有供电功能~此处就放在那里做个合影~哈~


程序编写:Vim(升级版的记事本,很好用,很推荐)


准备:

软件安装,软件安装建议使用ubuntu的软件中心,比较方便。需要sdcc,avrdude即可了。文本编辑什么都行。可以集成在codeblocks和eclipse里面(51没干过),ubuntu下有个51MCU的IDE,可以下来用‘mcu8051ide’ 。

对于命令行可以如下安装

[plain]  view plain copy
  1. sudo apt-get install vim  
  2. sudo apt-get install avrdude   

然后就都安装完毕了。下一步就可以开始了。


源程序:

开始之前需要先写一个main.c的程序

这是一个很简单让一个blink的程序。

[cpp]  view plain copy
  1. #include <8052.h>  
  2. typedef unsigned int size_t;  
  3.    
  4. #define LED P0_0  
  5.    
  6. void delay(size_t t)  
  7. {  
  8.         while(t--);  
  9. }  
  10.    
  11. void main()  
  12. {  
  13.         while(1)  
  14.         {  
  15.                 LED = 0;  
  16.                 delay(20000);  
  17.                 LED = 1;  
  18.                 delay(20000);  
  19.         }  
  20. }  


编译:

之后就要编译程序把程序变成单片机能使用的*.elf *.bin *.hex之类的

这里我们使用的是SDCC默认编译出现的*.ihx (intel hex)

在当前目录下执行

[plain]  view plain copy
  1. sdcc -mmcs51 main.c  
注 : 没有-mmcs51也可以。

当面目录下就会生成好多好多文件~记住我们需要的main.ihx~


配置avrdude:

使用avrdude烧写 

我们不能直接使用avrdude烧写,这是因为它默认只支持AVR芯片,但是通过一些配置,我们可以使用它来烧写。

对于8051芯片,我们有三种配置文件,分别适用于不同的型号。看看你要哪一种,然后复制到/etc/avrdude.conf并保存。

(sudo gedit /etc/avrdude.conf)

For AT89S51

[plain]  view plain copy
  1. #------------------------------------------------------------  
  2. # AT89S51  
  3. #------------------------------------------------------------  
  4. part  
  5.     id               = "8052";  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值