前言
刚买了个MacBook Air,苦于没有keil,不想装双系统,想找个替代品,网上都说sdcc挺好用的,就搞了一下试试,感觉还不错,可能是小白吧,我感觉新手刚开始学习51,用起来跟keil应该没大差别,反正配置环境也不是很麻烦,多多益善嘛。 :)
需要的软硬件:
51开发板
芯片支持:STC 89/90/10/11/12/15/8 series
软件:
sdcc
CH341驱动
stcgal(烧录的)
sdcc的安装
首先,你的Mac上需要先装homebrew,官方介绍上是macOS(或 Linux)缺失的软件包的管理器。
homebrew安装方法:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1
将以上命令复制粘贴到终端,系统会自动给你安装。
等待一会,安装完成后,就可以通过它来安装很多你想要的东西,比如sdcc。
sdcc安装方法:
在终端输入
brew install sdcc
1
稍微等待一会电脑就会自动下载了,期间要注意网络通畅哦。
安装CH341驱动
CH340/CH341的USB转串口MAC OS驱动程序
下载地址:http://www.wch.cn/download/CH341SER_MAC_ZIP.html
直接点下载就好。
解压下载好的文件,双击运行目录里面的ch34xInstall.pkg,根据提示一直点击下一步,最后重启电脑就行。
重启后,确认是否安装成功:
连接单片机****连接单片机
打开终端,输入
ls /dev/tty.wchu***ser*
1
如果出现
/dev/tty.wchu***serial14110
1
就代表安装成功了
其中14110代表你单片机的型号,每个单片机不一样的,而且即便是同一个单片机可能有时候也不一样。
安装烧录工具stcgal
下载地址:https://github.com/grigorig/stcgal
下载好的这个是python脚本,我们需要提前安装好python,最新版本只支持 python3,所以需要查看一下自己电脑的python版本,如果不是则需要安装python3版本。
检查python版本:
在终端输入python,如果有显示python2.几(苹果自带的一般都是2.7),那么…再装个python3吧。
都已经搞到这了,继续加油吧!
这是官网:python
下载好后,终端输入python3 ,如果出现python3.7,就代表python 安装好了.
然后安装stcgal,点击网址,clone and download就好,下载后解压
终端输入
./setup.py build
1
以构建并再输入
sudo ./setup.py install
1
来安装 stcgal,安装完成后,总体环境就配置好啦!
如果其中出现错误,可能是终端目录在个人文件夹,输入 cd … 试一下,或者把文件夹移到上一级的路径。
编译代码
先写一段跑马灯代码试一下,我用的是textmate,最后保存成.c文件就好,保存在个人目录下,最好在里面创一个文件夹,专门放这些文件,用时输入 cd 文件名 就ok。
#include <8052.h>
void delay_ms(unsigned int ms)
{
unsigned char i;
while (ms--)
{
for (i = 0; i < 120; i++)
;
}
}
void main()
{
unsigned char i;
while (1)
{
P1 = 0xff;
i = 8;
while (i--)
{
P1 = P1 << 1;
delay_ms(300);
}
P1 = 0xff;
i = 8;
while (i--)
{
P1 = P1 >> 1;
delay_ms(300);
}
}
}
保存好后,假设你保存后名称是是 pmd.c
终端cd 文件夹名称 ,进入文件所在的位置。
输入
sdcc pmd.c
然后进入你的文件夹,你会发现多出来好多文件,我们只关注.ihx文件就好。
之后再在终端输入
stcgal -P stc89 -p /dev/tty.wchu***serial14110 pmd.ihx pmd.c是文件名,14110,是前面说的单片机型号,其他的复制粘贴就行,输入
ls /dev/tty.wchu***ser* 就可以查看到单片机型号。
输入后会出现Waiting for MCU, please cycle power:
开关一下电源键,就OK啦!
注意事项
我用的是TX-1C开发板,刚买来的时候它的芯片是stc89c52
它的问题在于你给上电后,Waiting for MCU, please cycle power: 后面的done不会显示出来,这是因为stcgal不支持,后来我上tb花了4块钱买了个stc89c52RC芯片,一切就恢复正常了。
前言
刚买了个MacBook Air,苦于没有keil,不想装双系统,想找个替代品,网上都说sdcc挺好用的,就搞了一下试试,感觉还不错,可能是小白吧,我感觉新手刚开始学习51,用起来跟keil应该没大差别,反正配置环境也不是很麻烦,多多益善嘛。 :)
需要的软硬件:
51开发板
芯片支持:STC 89/90/10/11/12/15/8 series
软件:
sdcc
CH341驱动
stcgal(烧录的)
sdcc的安装
首先,你的Mac上需要先装homebrew,官方介绍上是macOS(或 Linux)缺失的软件包的管理器。
homebrew安装方法:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1
将以上命令复制粘贴到终端,系统会自动给你安装。
等待一会,安装完成后,就可以通过它来安装很多你想要的东西,比如sdcc。
sdcc安装方法:
在终端输入
brew install sdcc
1
稍微等待一会电脑就会自动下载了,期间要注意网络通畅哦。
安装CH341驱动
CH340/CH341的USB转串口MAC OS驱动程序
下载地址:http://www.wch.cn/download/CH341SER_MAC_ZIP.html
直接点下载就好。
解压下载好的文件,双击运行目录里面的ch34xInstall.pkg,根据提示一直点击下一步,最后重启电脑就行。
重启后,确认是否安装成功:
连接单片机****连接单片机
打开终端,输入
ls /dev/tty.wchu***ser*
1
如果出现
/dev/tty.wchu***serial14110
1
就代表安装成功了
其中14110代表你单片机的型号,每个单片机不一样的,而且即便是同一个单片机可能有时候也不一样。
安装烧录工具stcgal
下载地址:https://github.com/grigorig/stcgal
下载好的这个是python脚本,我们需要提前安装好python,最新版本只支持 python3,所以需要查看一下自己电脑的python版本,如果不是则需要安装python3版本。
检查python版本:
在终端输入python,如果有显示python2.几(苹果自带的一般都是2.7),那么…再装个python3吧。
都已经搞到这了,继续加油吧!
这是官网:python
下载好后,终端输入python3 ,如果出现python3.7,就代表python 安装好了.
然后安装stcgal,点击网址,clone and download就好,下载后解压
终端输入
./setup.py build
1
以构建并再输入
sudo ./setup.py install
1
来安装 stcgal,安装完成后,总体环境就配置好啦!
如果其中出现错误,可能是终端目录在个人文件夹,输入 cd … 试一下,或者把文件夹移到上一级的路径。
编译代码
先写一段跑马灯代码试一下,我用的是textmate,最后保存成.c文件就好,保存在个人目录下,最好在里面创一个文件夹,专门放这些文件,用时输入 cd 文件名 就ok。
#include <8052.h>
void delay_ms(unsigned int ms)
{
unsigned char i;
while (ms--)
{
for (i = 0; i < 120; i++)
;
}
}
void main()
{
unsigned char i;
while (1)
{
P1 = 0xff;
i = 8;
while (i--)
{
P1 = P1 << 1;
delay_ms(300);
}
P1 = 0xff;
i = 8;
while (i--)
{
P1 = P1 >> 1;
delay_ms(300);
}
}
}
保存好后,假设你保存后名称是是 pmd.c
终端cd 文件夹名称 ,进入文件所在的位置。
输入
sdcc pmd.c
然后进入你的文件夹,你会发现多出来好多文件,我们只关注.ihx文件就好。
之后再在终端输入
stcgal -P stc89 -p /dev/tty.wchu***serial14110 pmd.ihx pmd.c是文件名,14110,是前面说的单片机型号,其他的复制粘贴就行,输入
ls /dev/tty.wchu***ser* 就可以查看到单片机型号。
输入后会出现Waiting for MCU, please cycle power:
开关一下电源键,就OK啦!
注意事项
我用的是TX-1C开发板,刚买来的时候它的芯片是stc89c52
它的问题在于你给上电后,Waiting for MCU, please cycle power: 后面的done不会显示出来,这是因为stcgal不支持,后来我上tb花了4块钱买了个stc89c52RC芯片,一切就恢复正常了。
举报