期末课比较少,无聊给自己电脑装了一个Ubuntu,虽然可以双系统,但是电脑太拉,而且也懒得整,所以直接物理机装。
然后在网上参考了两篇文章,学会了如何用Ubuntu给单片机编程,感谢前人指点。以下就是节选这三篇文章的内容结合我的看法来谈怎么做的(抄袭)
https://blog.csdn.net/m0_73185293/article/details/131261754
https://blog.csdn.net/weixin_46959681/article/details/129089893
简单的说一下整个流程的思想,开发单片机无非三件事
编程 编译(生成hex文件) 烧录
不论什么设备或者系统,我认为只要做到这三件事就可以开发单片机
先来看编程,在之前Windows中,我们用的是Keil5软件作为IDE编写C语言文件,其实用记事本也是能做到的,将后缀名改为.c就算C语言文件就可以做到,只不过Keil5的功能更强大,例如语法高亮、自带生成hex文件之类的功能,虽然Ubuntu自带文本编辑器,但是我无聊,所以使用Vim进行编程
先安装好Vim
打开终端输入
sudo apt install vim
安装好后输入
vim 文件名.c 创建一个C语言文件
使用Vim编辑器按i变为插入模式先将代码写好(以点亮一个LED为例),按两下esc切换为命令模式输入:wq退出
这样便完成编程,接下来就是编译环节,我们使用sdcc来进行编译,先下载好sdcc
sdcc apt install sdcc
安装好后我们直接输入sdcc看看他的强大
其中包含了多种单片机的支持
我们使用cd 单片机目录 到单片机目录下操作
sdcc 文件名.c
此时我们的目录下就多了很多文件,但是没有我们最终需要的hex文件,我们需要将ihx文件(这个谁知道?)转化成hex文件
现在就差最后一步,烧录 我们需要用到stcgal,首先先下载基于python的工具pip3
终端输入 udo apt-get install python3-pip进行安装
之后再使用pip3进行下载
pip3 install stcgal
在烧录之前我们需要先进行让用户拥有串口的权限,以下用临时的,还有一种是永久赋予权限。
sudo chmod 666 /dev/ttyUSB0
完成之后我的终端没有显示
最后 我们使用
stcgal -b 波特率(比如9600) led.hex
然后就成功了,因为期末老师把开发板收回去了,所以实物图之后补了
包的