linux下怎么编译单片机c代码,怎么下载到51单片机上呢

linux下怎么编译单片机c代码,怎么下载到51单片机上呢,第1张

1.编译软件用sdcc

2.sdcc不支持keil51c 的一些语法。要做以下修改:

sbit led1=P1^0 改为 #define led1 P1_0

中断函数interrupt改为__interrupt

单个位 P1^0 改为P1_0

若vim安装插件YCM的话,要在.ycm_extra_conf.py加入以下两个路径

/usr/share/sdcc/include

/usr/share/sdcc/include/mcs51

没创建一个工程都要拷贝一份.ycm_extra_conf.py到该工程的目录下。

3.编译用命令

` sdcc 目标文件

4.烧录软件用stcflash.py,该软件只能支持stc89c52rc,不支持stc89c52。我自己亲自试过。

sudo python ./stcflash.py 目标文件

楼主:

1,linux:是 *** 作系统,本身带有完整的编译系统,如安装红帽子软件。

2,c51的编译软件主要有KEIL,IAR或仿真器自带编译软件。

3,avr,msp主要有KEIL,IAR或仿真器自带编译软件。

单片机很少跑 *** 作系统,arm嵌入式系统如果不跑 *** 纵系统,当然用IAR,KEIL等等集成开发环境也可以编译出来程序,但是如果要跑 *** 作系统,目前主流的都是跑的基于linux内核的 *** 作系统。

既然使用的是基于linux的系统,那在linux下用交叉编译环境编译出程序就是自然而然的。就好像你要写一个windows下运行的程序,自然首选是在windows下开发。

搭建linux的编译环境很简单。即使是windows的系统,装个虚拟机,安装一下交叉编译环境,也就可以了。

搭建windows编译环境的方法基本都是先安装一个类linux环境的软件,比如cgwin,然后和linux下步骤基本相同,没多大区别。

你想用windows的环境,应该是对linux不熟悉吧。但是,学习linux是做嵌入式省不了的,是必须的。我也是这么一步一步走来的,推荐从单片机裸奔(无 *** 作系统)过渡到ARM linux的一本书《linux c 一站式学习》


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8764207.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存