菜鸟教你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文件了,赶紧下载验证一下吧!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
69条回答
li3p
1楼-- · 2020-01-17 22:25
后面的烧写环节少侠是怎么完成的呀?
mangocity
2楼-- · 2020-01-18 01:44
li3p 发表于 2016-2-4 10:03
后面的烧写环节少侠是怎么完成的呀?

哈哈,问得好。
bailao99
3楼-- · 2020-01-18 05:55
谢谢共享,电工只有不断探索才不会回农村
1328616904
4楼-- · 2020-01-18 09:34
li3p 发表于 2016-2-4 10:03
后面的烧写环节少侠是怎么完成的呀?

临时还没做,烧写就简单多了吧,可以用传统的Windows烧写方式,Linux下的烧写正在研究
1328616904
5楼-- · 2020-01-18 11:15
 精彩回答 2  元偷偷看……
li3p
6楼-- · 2020-01-18 16:37
1328616904 发表于 2016-2-4 10:23
http://blog.csdn.net/muyiziye/article/details/43032979烧写软件及用法这位大神已经写得很清楚了 ...

好的,希望多交流,用开源的工具还是挺有意思的。
stcflash我用过,目前只支持到stc12,stc15还不支持。

一周热门 更多>