树莓派烧录
- 下载并安装 Win32 Disk Imager;
- 下载所需的 系统镜像文件,并解压;
-
打开Win32 磁盘映像工具,“映像文件”选择刚刚解压的img文件,“设备”选择你要烧录的SD卡,点击“写入”进行烧录;
-
将SD卡取下,插入树莓派并上电,系统会自动完成安装,安装的过程中,和Desktop版本的Ubuntu过程相似,手动选择一些选项进行配置。
系统环境配置
Putty远程登录
如果不使用远程登录,可以跳过此步骤。
(1)打开终端,输入以下指令,安装openssh-server:
sudo apt-get install openssh-server
(2)安装完成后,启动ssh:
/etc/init.d/ssh start
或
/etc/init.d/sshd start
(3)输入ifconfig指令,查看树莓派的IP地址并记录;
(4)启动完成后,打开 Putty,输入树莓派的IP地址,点击“Open”远程登录,输入树莓派的用户名和密码
ST-Link V2驱动安装
(1)在Ubuntu系统上,您可以通过执行以下命令安装必要的库:
开始后,先更新一下系统环境:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install git
(2)安装完成后,构建最新的ST-Link驱动:
git clone https://github.com/texane/stlink stlink.git
cd stlink.git
make
/*执行make指令时,出现如下错误*/
sudo apt install cmake /*安装cmake,然后再执行make指令*/
make clean /* 在执行新的make之前,先通过make clean删除旧的objects,否则可能会出现如下图所示错误*/
make
如果执行make clean之后仍然报错的话,尝试如下指令:
rm -rf stlink.git /*删除整个文件夹*/
/*重新执行3条指令*/
git clone https://github.com/texane/stlink stlink.git
cd stlink.git
make
(3)安装二进制文件
sudo cp build/Release/st-* /usr/local/bin
(4)安装udev规则
sudo cp etc/udev/rules.d/49-stlinkv* /etc/udev/rules.d/
(5)重启udev
sudo restart udev /*出现如下错误*/
我尝试通过重启解决重启失败的问题。
通过ST-Link连接树莓派和STM32开发板
-
stlink接4根线,vcc,gnd,swdio,swclk
-
如果连接成功,在终端输入dmesg,可以看到如下图所示内容:
platformio环境配置
(1)安装python
sudo apt-get install python2.7
/*安装成功后,输入python查看,如下图 python版本2.7.* */
(2)安装pip
sudo apt-get install python-pip /*安装*/
pip install --upgrade pip /*升级*/
升级指令执行后,如上图所示升级失败,网上也查了一些资料,无果。但查找的过程中,发现有人在修改“pip3”,所以就想着通过ls指令查看了一下,发现有pip,pip2和pip3,如下图:
pip2的版本是10.0.1,如下图:
于是就通过重命名来解决这个问题:
sudo mv /usr/bin/pip /usr/bin/pip-bak /* 先备份之前的pip文件为pip-bak*/
sudo mv /usr/bin/pip2 /usr/bin/pip /*将pip2重命名为pip*/
/*重命名之后,再通过指令查看*/
pip -V
通过下载源码的方式安装pip 10.0.0:
/*下载pip的源码包*/
wget https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz
/*解压*/
tar -zxvf pip-10.0.1.tar.gz
/*安装*/
sudo python setup.py install
(3)安装platformio
sudo pip install platformio
platformio --version /*如果安装成功,如下图*/
platfotmio upgrade /*可通过此指令升级*/
(4)初始化platformio环境
mkdir test
platformio init -b genericSTM32F103RB
/*如果初始化成功,如下图*/
(5)修改platformio.ini文件如下:
[env:genericSTM32F103RB]
platform = ststm32
board = genericSTM32F103RB
framework = arduino
upload_protocol = stlink /*新增*/
(6)编写测试程序
进入到test的src文件中,新建1.ino文件:
sudo vim 1.ino
/*输入测试代码*/
setup(){
pinMode(PA5, OUTPUT);
}
loop(){
digitalWrite(PA5, HIGH);
}
保存并退出。
(7)运行程序
platformio run --target upload
总结
在安装的过程中,两个小问题,一是STLink的安装,二是pip的安装;