本人纯菜鸟一枚,以前在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”安装跟上面基本一样
第三步:编写一个流水灯程序测试
- #include "8051.h"
- #define uint unsigned int
- #define uchar unsigned char
- uchar tab[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
- void Delay(uint xms)
- {
- uint i,j;
- for(i=xms;i>0;i--)
- for(j=110;j>0;j--);
- }
- void main()
- {
- uchar i;
- while(1)
- {
- for(i=0;i<8;i++)
- {
- P1 = tab[i];
- Delay(100);
- }
- }
- }
复制代码
编写Makefile 文件
- led.hex : main.c
- sdcc main.c
- packihx main.ihx > led.hex
- clean:
- rm -rf *.asm *.lst *.mem *.rst *.lnk *.rel *.sym *.ihx *.hex *.map
复制代码
编写完成后保存,在命令行输入“make”可以看到(图:编译)应经生成hex文件了,赶紧下载验证一下吧!
哈哈,问得好。
临时还没做,烧写就简单多了吧,可以用传统的Windows烧写方式,Linux下的烧写正在研究
好的,希望多交流,用开源的工具还是挺有意思的。
stcflash我用过,目前只支持到stc12,stc15还不支持。
一周热门 更多>