笔记本电脑安装LinuxMint(续一)
在前面“笔记本电脑安装LinuxMint”中已经安装好了基本的系统,这里来配置一下嵌入式开发所需的相关软件。首先安装终端软件,这里选用一个轻量级的putty,目前最新版本为0.83,可点击这里下载源码。下载完成后通过执行下列步骤来进行安装。
1、解压,执行“tar -zxvf putty-0.83.tar.gz”解压到当前目录;
2、执行“apt install cmake”安装cmake,源码使用它进行编译;
3、执行“apt install libgtk-3-dev”安装GTK+ 3的开发库;
4、进入源码目录,执行“cmake .”进行编译,注意在cmake 和.之间有一个空格;
5、执行“cmake --build .”进行构建,同样在.前面有一个空格;
6、执行“cmake --build . --target install”进行安装,在.前后均有空格;
通过以上步骤,putty就被安装到了/usr/local/bin/目录下,使用命令putty即可运行程序。为了方便使用,可再为其配置一个桌面图标,进入到/usr/share/applications/目录下,并通过vim建立一个名为putty.desktop的文件(如果vim没有安装,可通过apt方式进行安装),输入以下内容。
[Desktop Entry]
Version=0.88
Name=PuTTY Client
GenericName=PuTTY
Comment=Connect to an SSH server with PuTTY
Type=Application
Exec=putty
Icon=/usr/local/bin/putty.png
Keywords=ssh;connect;
Categories=GTK;Development;
注意,上面的倒数第三行中的putty.png文件是桌面图标的图片,可以自行画一个,或从Windows版的putty中截取,并放置到/usr/local/bin/目录下。倒数第一行的Categories一项是指定图标放置的位置,这里是Development,即完成后,程序图标会被放置到开始菜单的编程类中,单击它就可启动Putty了,界面如下图所示。另外,Comment一项是当鼠标指向程序图标时显示的提示信息。
在嵌入式开发中,经常使用的是串口终端,因此需要把连接类型选择为Serial(即串口),然后输入串口的设备节点文件,并设置相应的波特率(本例设置为115200)。 如下图所示。
然而在打开串口时,提示设备节点文件ttyUSB0权限不够。可执行“sudo chmod 777 /dev/ttyUSB0”提升串口权限,如此就可以正常打开串口终端了。但是,电脑重启后又需要重新设置权限,很不方便。为了一劳永逸的解决权限问题,可把当前用户embedded加入到ttyUSB0文件所在的组中去,执行“sudo usermod -a -G dialout embedded”即可。
为了方便剪贴操作,在点击“Open”按钮之前,先点击左边的“Selection”一项,然后在右边的{Ctrl,Shift}+Ins一项后面的选项中,下拉选择为“CLIPBOARD”(即剪贴板)一项,然后再点击“Open”按钮即可。
要在终端窗口中进行粘贴操作,按“Shift+Ins”即可,粘贴内容为剪贴板中的内容。若要在终端窗口中进行复制操作,先通过鼠标选择内容,然后按“Ctrl+Ins”即可,内容复制到剪贴板中。当然,也可以根据习惯在上图中选择适合自己的复制粘贴方式。
接下来安装PCB制作软件,这里选择Eagle7.6.0版本。下载后的文件名为eagle-lin64-7.6.0.run,这是可以直接执行的安装文件,先执行“sudo chmod 777 eagle-lin64-7.6.0.run”给予执行权限,然后直接“./eagle-lin64-7.6.0.run”即可启动安装程序。这里都使用默认方式,一路点击Next,直到安装完成。默认软件被安装到了/opt/eagle-7.6.0/目录 下,在运行前需要把AMPED目录下的文件替换bin目录下的可执行文件eagle 。在安装完成后,默认不会生成桌面图标,可在/usr/share/applications/目录下新建一个eagle.desktop文件,输入以下内容。
[Desktop Entry]
Name=Eagle
Comment=Eagle provides Sch PCB Designe
Exec=/opt/eagle-7.6.0/bin/eagle
Icon=/opt/eagle-7.6.0/bin/eagle-logo.png
StartupNotify=true
Terminal=false
Type=Application
Categories=Development;
Actions=Window;
[Desktop Action Window]
Name=New Window
Exec=Eagle
OnlyShowIn=Unity;
完成后,程序图标会被放置到开始菜单的编程类中,单击它就可启动Eagle了,界面如下图所示。第一次启动软件时,会询问以什么方式使用软件,记得选择“作为免费软件运行”一项,启动时还会询问是否在主目录下建立一个名为eagle的目录,点击OK即可。
接下来安一下VSCode编程环境。由于系统版本关系,这里只能选择1.85的VSCode版本,可到官网下载,文件名为code_1.85.2-1705561292_amd64.deb。下载完成后在命令行下执行“sudo dpkg -i code_1.85.2-1705561292_amd64.deb”即可进行安装。安装完成后,程序图标被放置在了开始菜单的程序类中,单击即可运行,第一次运行会询问是否安装中文语言包,安装即可。程序启动后的界面如下图所示。
接下来安装Thonny,它是一款专为Python设计的免费IDE, 在嵌入式中经常使用它来开发ESP芯片的Python代码。软件可点击这里下载,本例下载的文件名是thonny-4.1.7-x86_64.tar.gz。下载完成后在命令行下执行“tar -zxvf thonny-4.1.7-x86_64.tar.gz”进行解压,然后进入解压后的目录,在其中执行“sudo ./install”进行安装即可。安装完成后,程序图标被放置在开始菜单的编程类中,单击即可启动,第一次运行会询问语言,如下图所示。
可以通过下拉选择中文,然后点击“Let't go!”按钮即可进入程序界面,如下图所示。
要连接到ESP32或ESP8266等开发板,只需要在右下角单击选择即可。
下面安装MounRiverStudio开发环境,它用于开发南京沁恒公司的CH系列芯片。点击这里进行下载,本例下载的版本是MounRiverStudio_Linux_X64_V210。下载完成后在命令行中执行“sudo dpkg -i MounRiverStudio_Linux_X64_V210.deb”安装即可。安装完成后,程序图标被放置在开始菜单的编程类中,单击即可启动,界面如下图所示。
语言默认为英文,可在上图中右下角的Setting中单击Language,然后选择中文,设置完成后会重启软件,重启后即为中文版。
接下来安装STM32CubeIDE,用于开发STM32MP157芯片。先从官网(https://www.st.com.cn/zh/development-tools/stm32cubeide.html)下载软件,注意,这里下载1.6.1版本,后续更高版本已不支持Openocd调试。下载的文件名为en.st-stm32cubeide_1.6.1_9958_20210326_1446_amd64.deb_bundle.sh.zip。下载完成后执行“sudo unzip en.st-stm32cubeide_1.6.1_9958_20210326_1446_amd64.deb_bundle.sh.zip”进行解压,解压后得到一个后缀为.sh的安装文件,执行“sudo sh st-stm32cubeide_1.6.1_9958_20210326_1446_amd64.deb_bundle.sh”启动安装进程,如下图所示。
在安装过程中会询问相关问题,直接输入y回车确认即可,如下图所示。
最后一次需要确认的协议很长,可以按Esc键退出阅读,然后输入y确认即可进行安装,如下图所示。
安装结束后会在开始菜单的编程类中产生程序图标,点击即可运行。在首次运行软件时,会询问主目录,如下图所示,单击“Launch”按钮确认。
接着会弹出启动画面(溅射屏幕),如下图所示。
直到启动完毕,进入程序界面,如下图所示。
在上图中单击左边的“Create a New STM32 project”一项,新建一个STM32工程。其后会根据新建工程的需要自动下载相关文件,这一过程可能会耗时很长,如下图所示 。
其间还有可能会下载失败,若失败则需要重新启动软件再次下载。完成后会弹出一个芯片选择对话框,在其中输入STM32MP157A,并在筛选结果中选择STM32MP157AAC,如下图所示。
然后点击“Next”继续,然后开发环境又要下载一些文件(有时需要等待一会儿才会开始下载),然后出现如下的对话框。
输入一个工程名称,然后单击“Finish”按钮,开始初始化新建的工程,如下图所示。(这里注意,若没有自动选中上图中最下面的STM32Cube一项,是因为前面的自动下载还没结束或还没开始,可重新关闭软件再次启动)
然后开发环境再次下载所需要的文件,这里需要等待较长时间,如下图所示。
完成后会弹出如下图所示的对话框,单击“No(Possibly Later)”按钮继续。
完成后就可进入开发界面了(如下图所示)。以上过程有时不能一次完成,若程序没有响应了需要关闭,再重新来,多试几次就可以了。第一次建立工程成功后,以后同样的工程就不会再进行下载了。下载的相关文件位于与STM32CubeIDE同级目录下的一个名为STM32Cube的目录下的Repository目录中,可对其进行备份,以后重新安装软件后恢复即可,免得再次下载浪费时间。
接下来安装OpenOCD,它用于驱动DAP仿真器进行调试及仿真。首先需要安装一些依赖,在命令行下执行“sudo apt install libtool libusb-1.0-0-dev libftdi-dev texinfo libhidapi-dev”进行安装。依赖安装结束后进行软件下载,在命令行输入“sudo git clone git://repo.or.cz/openocd.git”下载,这里下载的是0.12版本,下载完后进入目录,依次执行如下命令进行编译和安装:
sudo ./bootstrap
sudo ./configure
sudo make
sudo make install
(在编译时若提示jimtcl未安装,可通过网址https://jim.tcl.tk/home/doc/www/www/download/进行下载安装。)成功后,可执行“sudo openocd -v”查看一下是否成功,若成功会显示当前安装的版本信息。安装后的配置文件位于目录/usr/local/share/openocd/下。然后进入到/opt/st/stm32cubeide_1.6.1/目录下,新建一个名为DAP-mp157.cfg的文件,并输入以下内容:
# 选择CMSIS-DAP 调试器
source [find /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg]
# 选择SWD 接口
transport select swd
# 选择目标芯片
source [find /usr/local/share/openocd/scripts/target/stm32mp15x.cfg]
# 设置调试器, 最大速度为24MHz
adapter speed 12000
然后在同一目录下新建文件go.sh,并输入以下内容:
#!/bin/bash
openocd -f DAP-mp157.cfg
完成后,执行“sudo chmod 777 go.sh”更改一下文件权限。先给开发板上电,然后执行go.sh文件,若显示如下图所示表明OpenOCD已成功连接了仿真器,可以通过STM32CubeIDE进行程序的下载和仿真调试了。
接下来安装Qt Creator,安装文件可从官网(https://download.qt.io)下载,本例下载的文件为qt-opensource-linux-x64-5.11.3.run。下载完毕后,先把电脑的网络暂时关闭,否则后面安装时会要求你登录。先在命令行下执行“chmod 777 qt-opensource-linux-x64-5.11.3.run”更改权限,然后执行“sudo ./qt-opensource-linux-x64-5.11.3.run”启动安装进程,如下图所示。
在上图中单击“Next”按钮继续,弹出下图所示的窗体。
这里选择“Skip”按钮跳过(若没有该按钮,是因为安装前没有断网),进入下一步,如下图所示。
单击“下一步”按钮继续安装,界面如下图所示。
上图询问安装目录,这里使用默认值,单击“下一步”继续,界面如下图所示。
上图询问安装的组件,为了方便本地程序编译,可勾选上第一项Qt5.11.3,以安装本地Qt库,单击“下一步”继续。
上图中询问是否同意使用协议,点击“I have read and agree to the terms contained in the license agreements.”同意,单击“下一步”继续。
在上图中单击“安装”按钮启动安装过程,如下图所示。
直到安装结束,显示如下界面。
点击“完成”结束安装过程。安装结束后,其程序图标被放置到了开始菜单的编程类中,单击图标即可运行,界面如下图所示。
完成安装后还需要配置一下环境,单击菜单工具->选项,打开选择对话框,选择“编译器”标签页,如下图所示。
手动设置一下所使用的8.3.0版本编译器,选中Manual项中C下面的GCC,然后单击右边的“添加”按钮并选择GCC->C,然后设置C编译器所在的路径,以及C编译器的名称。使用同样的方式设置一下C++编译器,完成后的样子如上图中所示。单击一次“Apply”按钮应用一下,然后点击“Qt Versions”标签页,如下图所示。
选择“手动设置”,然后单击“添加”按钮,在弹出的对话框中定位到目录/opt/qt-everywhere-src-5.11.3/bin/下的qmake文件,完成后的样子如上图中所示。单击一次“Apply”按钮应用一下,然后点击“构建套件”标签页,如下图所示。
选择“手动设置”,然后单击“添加”按钮,把编译器选择为前面配置好的名称,包括C和C++编译器。把Qt版本选择选择为前面配置好的Qt,最后给当前配置环境取一个名称(本例为STM32MP157),完成后点击“OK”按钮即可。
此外,为了防止过多的警告提示,可单击菜单帮助->关于插件,在弹出的对话框中,把默认的“ClangCodeModel”勾选去掉即可,如下图所示。
经过上述步骤,就基本完成了嵌入式系统开发所需要的可视化工具的安装。这里强调一点,在安装时推荐使用sudo方式在当前用户下安装,而不要使用root用户安装,因为可视化桌面的登录不是root用户,若以root用户来安装,则有可能在安装完成后,在桌面上找不到程序的运行图标(权限不够)。