菜鸟教你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文件了,赶紧下载验证一下吧!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
70条回答
wxws
2020-01-24 09:28
本帖最后由 wxws 于 2016-4-11 12:22 编辑
1328616904 发表于 2016-4-11 11:02
在线开发的?


比虚拟机更好的虚拟技术。

非常合适将开发环境、程序,一起部署出去。给人家,就是一个文件了。
不然linux在别人的环境下部署真的是累人的。


我就在黑群晖上,简单玩玩docker

QQ截图20160411121322.png (56.9 KB, 下载次数: 0)

下载附件

2016-4-11 12:11 上传



比如第1个,是老外的智能家居的网关
第3个是MQTT服务器
第4个是自己用Python写的 花生壳 客户端,当然也能用 路由器带的。自己用,还是多用几个动态域名。
最后一个,是带vnc功能的ub虚拟机,用网页就直接vnc操作这个了。


你可以将你的开发环境,一起做成一个docker镜像,让人直接就能用了。

一周热门 更多>