Linux 开发51单片机的方案

一. 安装编译软件

编译需要使用SDCC,此时编译出来的是hex文件,如果需要转成bin格式,需要用到hex2bin

貌似还要一个驱动?

这几个安装好即可。

 

二. 安装IDE

如果需要使用IDE,可以选择MCU 8051,注意这个IDE用的头文件不是Keil那般,应为

对端口的定义也不是用sbit,而是形如:

也就是端口可以直接拿来用,如P0_1, P0_2……

 

三. 配置烧录软件环境

以上搞定好后需要一个下载或者说烧录软件,以前用过stcflash,stcgal,但是问题很多,经常下载不了,读者有兴趣可以尝试,也许对于你来说就是可行的。

这里我找到了另一个办法,用stc-isp,即Windows下的软件,在此之前需要为Linux安装一个wine环境,但这里不赘述wine的安装和配置。

之后在终端里试着运行

大概率会报错,告知我们缺失哪些dll文件,可以在终端运行

通过上面的命令可以补全缺失的dll文件,作者这边挂了代理才安装成功,有点坑,如果你安装失败的话,试着从网上直接下载安装。

 

四. 将串口设备映射到stc-isp需要使用的COM口上

经过以上步骤stc-isp应该可以成功运行起来,但是其下载使用的串口名是COMx,Linux对应的设备文件是形如/dev/ttyUSB0,所以我们需要做一个简单的映射.

执行上方命令打开注册表,展开 HKEY_LOCAL_MACHINE\Software\Wine\Port , 然后右键Port,New一个String Value, 名字为COMx, Value值为Linux串口设备文件。

终端执行 wineserver -k 关闭wine,再启动stc-isp

按上图步骤分别完成芯片型号选择,COM口选择(COM口是前面设置的字符串名称,记得对应),再打开hex文件,波特率不要调太高,容易下载失败,之后点击Download Program,对单片机进行冷启动(关上电,再通电),就可以下载成功了。

 

五. 创建入口图标

1.  sudo vim  /usr/share/applications/STCISP.desktop

复制以下内容到文件中并保存退出

2. 安装入口图标

3. 刷新入口图标缓存

 

经过如上处理,点击图标就可以直接运行下载程序了(Gnome是按Super键搜索入口图标)

 

SDCC Makefile参考