菜鸟教你Linux下开发51单片机

2020-01-17 19:11发布

本人纯菜鸟一枚,以前在Windows下开发51单片机和其他MCU,自从经典的XP光荣的下岗后,换做win7,谁知这奇葩越用越慢,我得电脑Think-L440 刚做了系统用了两个月就卡的要死,用Keil编译一个大的工程,TMD玩命似的半天,Linux系统与Windows相比的优缺点就不多说了,请自己百度,呵呵。。。这事本菜鸟的第一篇的电子行业软件夸平台文章,以后还有有KICAD,以及Linux下开发STM32或ARM9内核+等教程。。。闲话少说切入正题,我用物理机加虚拟机的方式,集:Windows+wmware+Ubuntu12.04的组合,至于12.04版本以前的请自行修改软件更新源。。。。wmware和Ubuntu的安装请找“度娘”一搜数以堆计。。。。
Ubuntu安装成功后我们安装几个辅助工具:
        1.交叉编译器(就是Windows下的Keil啦)SDCC
        2.文本编辑工具 vi vim等等很多,个人比较喜欢用vim
第一步:安装交叉编译工具
        打开终端(Ctrl+Alt+T)输入:sudo apt-get install sdcc 回车(图SDCC1),提示输入管理员密码,SDCC回自动安装(图SDCC2),傻瓜吧,因为我已经安装完成所以提示(图SDCC3)安装完成后在终端输入“sdcc -v”如果看到(图SDCC4)的提示信息,恭喜您已经成功的走出第一步啦。
第二步:安装编辑器
        打开终端输入“sudo apt-get install vim”安装跟上面基本一样
第三步:编写一个流水灯程序测试
  1. #include "8051.h"

  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. uchar tab[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

  5. void Delay(uint xms)
  6. {
  7.         uint i,j;
  8.         for(i=xms;i>0;i--)
  9.         for(j=110;j>0;j--);
  10. }

  11. void main()
  12. {
  13.         uchar i;
  14.         while(1)
  15.         {
  16.                 for(i=0;i<8;i++)
  17.                 {
  18.                         P1 = tab[i];
  19.                         Delay(100);
  20.                 }
  21.         }
  22. }
复制代码
编写Makefile 文件
  1. led.hex : main.c
  2.         sdcc main.c
  3.         packihx main.ihx > led.hex
  4. clean:
  5.         rm -rf *.asm *.lst *.mem *.rst *.lnk *.rel *.sym *.ihx *.hex *.map
复制代码
编写完成后保存,在命令行输入“make”可以看到(图:编译)应经生成hex文件了,赶紧下载验证一下吧!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。