Ubuntu下搭建STC单片机开发环境

首先安装sdcc,全称Small Device C Compiler,是一个转为8位MCU设计的C编译器。sdcc如同gcc,可以把C源码编译、链接成单片机的可执行文件。安装方法是:

sudo apt install sdcc
当然,也可以从源码编译安装,具体可以查看sdcc官网。

使用如下命令编译和链接:sdcc main.c


sdcc也可以像gcc那样使用-c参数指定只编译、不链接等等。

命令执行后,会看到目录下产生了一堆main.*文件,其中有一个main.ihx就是我们要的文件。

在安装sdcc时自动安装了packihx这个工具,能把ihx文件转为hex文件:packihx main.ihx > main.hex

接下来就是下载了,需要zhuang一个模组:stcgal

sudo pip3 install stcgal
如果之前没有安装过pip3的话,需要先安装pip3:

sudo apt install python3-pip
可以正式开始烧录了。把USB-TTL插入电脑,应该会出现/dev/ttyUSB0(如果有多个,那么找到对应那个)。然后执行命令:

sudo stcgal main.hex
此时会出现“Waiting for MCU, please cycle power:”,然后需要重新插拔一下单片机电源,然后就会开始下载:

stcgal可以额外配置很多的参数。比如STC12C2052这款单片机,可以选择使用内部RC震荡器还是外部时钟源。那么在烧录时可以带上这些配置,比如:

sudo stcgal -o clock_source=internal main.hex
具体参数可以查看。

另外我发现,stcgal是可以直接下载ihx格式的文件的。

Leave a Reply

Your email address will not be published. Required fields are marked *