OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5534|回复: 0

《STM32MP157嵌入式Linux驱动开发指南》第四章 开发环境搭建

[复制链接]

1117

主题

1128

帖子

2

精华

超级版主

Rank: 8Rank: 8

积分
4666
金钱
4666
注册时间
2019-5-8
在线时间
1224 小时
发表于 2021-6-10 10:49:54 | 显示全部楼层 |阅读模式
1)实验平台:正点原子STM32MP157开发板
2)  章节摘自【正点原子】《STM32MP157嵌入式Linux驱动开发指南》
3)购买链接:https://item.taobao.com/item.htm?&id=629270721801
4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/arm-linux/zdyzmp157.html
5)正点原子官方B站:https://space.bilibili.com/394620890
6)正点原子STM32MP157技术交流群:691905614
O1CN01abYcZO23XsL4ETed4_!!230947266.png

原子哥在线教育平台.jpg

152443zfu1nrzhhhh6wuc8.png

第四章 开发环境搭建


要进行Linux驱动开发肯定要先搭建好开发环境,我们在开始学习STM32单片机的时候肯定需要安装一堆的软件,比如MDK、IAR、串口调试助手等等,这个就是STM32的开发环境搭建。同样的,要想在Ubuntu下进行Cortex-A(STM32MP157)开发也需要安装一些软件,也就是网上说的开发环境搭建,环境搭建好以后我们就可以进行开发了。环境搭建分为Ubuntu和Windows,因为我们最熟悉Windows,所以代码编写、查找资料啥的肯定是在Windows下进行的。但是Linux开发又必须在Ubuntu下进行,所以还需要搭建Ubuntu下的开发环境,主要是交叉编译器的安装,本章我们就分为Ubuntu和Windows,讲解这两种操作系统下的环境搭建。



4.1 Ubuntu和Windows文件互传
        在开发的过程中会频繁的在Windows和Ubuntu下进行文件传输,比如在Windwos下进行代码编写,然后将编写好的代码拿到Ubuntu下进行编译。Windows和Ubuntu下的文件互传我们需要使用FTP服务,设置方法如下:
        1、开启Ubuntu下的FTP服务
打开Ubuntu的终端窗口,然后执行如下命令来安装FTP服务:
  1. sudo apt-get install vsftpd
复制代码

        等待软件自动安装,安装完成以后使用如下VI命令打开/etc/vsftpd.conf,命令如下:
  1. sudo vi /etc/vsftpd.conf
复制代码

        打开以后vsftpd.conf文件以后找到如下两行:
  1. local_enable=YES
  2. write_enable=YES
复制代码

        确保上面两行前面没有“#”,有的话就取消掉,完成以后如图4.1.1所示:
第四章 开发环境搭建736.png

图4.1.1 vsftpd.conf修改

        修改完vsftpd.conf以后保存退出,使用如下命令重启FTP服务:
  1. sudo /etc/init.d/vsftpd restart
复制代码

        2、Windows下FTP客户端安装
        Windows下FTP客户端我们使用FileZilla,这是个免费的FTP客户端软件,可以在FileZilla官网下载,下载地址如下:https://www.filezilla.cn/download,下载界面如图4.1.2所示:
第四章 开发环境搭建1015.png

图4.1.2 FileZilla软件下载

        如果是32位电脑就选择32位版本,64位电脑就选择64位版本,我们已经下载好了64位版本的FileZilla并放到开发板光盘中了,路径为:3、软件-> FileZilla_3.51.0_win64-setup.exe,双击安装即可。安装完成以后找到安装目录,找到图标,然后发送图标快捷方式到桌面,完成以后如图4.1.3所示:
第四章 开发环境搭建1202.png

图4.1.3 FileZilla图标

        打开FileZilla软件,界面如图4.1.4所示:
第四章 开发环境搭建1251.png

图4.1.4 FileZilla软件界面

3、FileZilla软件设置
Ubuntu作为FTP服务器,FileZilla作为FTP客户端,客户端肯定要连接到服务器上,打开站点管理器,点击:文件->站点管理器,打开以后如图4.1.5所示:
第四章 开发环境搭建1373.png

图4.1.5 站点管理器

        点击图4.1.5中的“新站点(N)”按钮来创建站点,新建站点以后就会在“我的站点”下出现新建的这个站点,站点的名称可以自行修改,比如我将新的站点命名为“Ubuntu”如图4.1.6所示:
第四章 开发环境搭建1483.png

图4.1.6 新建站点

        选中新创建的“Ubuntu”站点,然后对站点的“常规”进行设置,设置如图4.1.7所示:
第四章 开发环境搭建1543.png

图4.1.7 站点设置

        按照图4.1.7中设置好以后,点击“连接”按钮,第一次连接可能会弹出提示是否保存密码的对话框,点击确定即可。连接成功以后如图4.1.8所示:
第四章 开发环境搭建1629.png

图4.1.8 连接成功

        连接成功以后如图4.1.8所示,其中左边就是Windows文件目录,右边是Ubuntu文件目录,默认进入用户根目录下(比如我电脑的“/home/zuozhongkai”)。但是注意观察在图4.1.8中Ubuntu文件目录下的中文目录都是乱码的,这是因为编码方式没有选对,先断开连接,点击:服务器(S)->断开连接,然后打开站点管理器,选中要设置的站点“Ubuntu”,选择“字符集”,设置如图4.1.9所示:
第四章 开发环境搭建1849.png

图4.1.9 设置字符集

        按照图4.1.9设置好字符集以后重新连接到FTP服务器上,重新链接到FTP服务器以后Ubuntu下的文件目录中文显示就正常了,如图4.1.10所示:
第四章 开发环境搭建1940.png

图4.1.10 Ubuntu下文件目录中文显示正常

        如果要将Windows下的文件或文件夹拷贝到Ubuntu中,只需要在图4.1.10中左侧的Windows区域选中要拷贝的文件或者文件夹,然后直接拖到右侧的Ubuntu中指定的目录即可。将Ubuntu中的文件或者文件夹拷贝到Windows中也是直接拖放。
4.2 Ubuntu下NFS和SSH服务开启
4.2.1 NFS服务开启
        后面进行Linux驱动开发的时候需要NFS启动,因此要先安装并开启Ubuntu中的NFS服务,使用如下命令安装NFS服务:
sudo apt-get install nfs-kernel-server rpcbind
        等待安装完成,安装完成以后在用户根目录下创建一个名为“linux”的文件夹,以后所有的东西都放到这个“linux”文件夹里面,在“linux”文件夹里面新建一个名为“nfs”的文件夹,如图4.2.1所示:
第四章 开发环境搭建2347.png

图4.2.1 创建linux工作目录

        图4.2.1中创建的nfs文件夹供nfs服务器使用,以后我们可以在开发板上通过网络文件系统来访问nfs文件夹,要先配置nfs,使用如下命令打开nfs配置文件/etc/exports:
  1. sudo vi /etc/exports
复制代码

        打开/etc/exports以后在后面添加如下所示内容:
/home/zuozhongkai/linux/nfs *(rw,sync,no_root_squash)
        添加完成以后的/etc/exports如图4.2.2所示:
第四章 开发环境搭建2597.png

图4.2.2 修改文件/etc/exports

        重启NFS服务,使用命令如下:
  1. sudo /etc/init.d/nfs-kernel-server restart
复制代码

4.2.2 SSH服务开启
        开启Ubuntu的SSH服务以后我们就可以在Windwos下使用终端软件登陆到Ubuntu,比如使用SecureCRT,Ubuntu下使用如下命令开启SSH服务:
  1. sudo apt-get install openssh-server
复制代码

        上述命令安装ssh服务,ssh的配置文件为/etc/ssh/sshd_config,使用默认配置即可。
4.3 Ubuntu交叉编译工具链安装
4.3.1 交叉编译器安装
        ARM裸机、Uboot移植、Linux移植这些都需要在Ubuntu下进行编译,编译就需要编译器,我们在第三章“Linux C编程入门”里面已经讲解了如何在Liux进行C语言开发,里面使用GCC编译器进行代码编译,但是Ubuntu自带的gcc编译器是针对X86架构的!而我们现在要编译的是ARM架构的代码,所以我们需要一个在X86架构的PC上运行,可以编译ARM架构代码的GCC编译器,这个编译器就叫做交叉编译器,总结一下交叉编译器就是:
1、它肯定是一个GCC编译器。
2、这个GCC编译器是运行在X86架构的PC上的。
3、这个GCC编译器是编译ARM架构代码的,也就是编译出来的可执行文件是在ARM芯片上运行的。
交叉编译器中“交叉”的意思就是在一个架构上编译另外一个架构的代码,相当于两种架构“交叉”起来了。
交叉编译器有很多种,ST也有推荐的通用交叉编译器,如图4.3.1所示:
第四章 开发环境搭建3298.png

图4.3.1 ST推荐的通用交叉编译器

        从图4.3.1可以看出,ST推荐了两款通用交叉编译器,一个是ARM官方出品的:gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf,一个是linaro出品的:gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz,本教程我们使用ARM官方出品的交叉编译器。
首先是下载ARM官方出品的交叉编译器,图4.3.1中也给出了交叉编译器的下载链接:编译器下载地址如下:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads,打开以后如图4.3.2所示:
第四章 开发环境搭建3810.png

图4.3.1.2 ARM官方交叉比编译器下载界面

图4.3.1.2中的gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz是在64位Ubuntu下使用的交叉编译器。交叉编译器我们已经下载好放到了开发板光盘中,路径:开发板光盘5、开发工具1、交叉编译器gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz。
注意!直接从ARM官方下载的交叉编译器在编译TF-A的时候会报错没有stm32wrapper4dbg这命令,后面会讲解如何解决这个问题。
我们要先将交叉编译工具拷贝到Ubuntu中,在4.2.1小节中我们在当前用户根目录下创建了一个名为“linux”的文件夹,在这个linux文件夹里面再创建一个名为“tool”的文件夹,用来存放一些开发工具。使用前面已经安装好的FileZilla将交叉编译器拷贝到Ubuntu中刚刚新建的“tool”文件夹中,操作如图4.3.1.3所示:
第四章 开发环境搭建4270.png

图4.3.1.3 拷贝交叉编译器

        拷贝完成的话FileZilla会有提示,如图4.3.1.4:
第四章 开发环境搭建4321.png

图4.3.1.4 交叉编译器拷贝完成

        在Ubuntu中创建目录:/usr/local/arm,命令如下:
  1. sudo mkdir /usr/local/arm
复制代码

        创建完成以后将刚刚拷贝的交叉编译器复制到/usr/local/arm这个目录中,在终端使用命令“cd”进入到存放有交叉编译器的目录,比我前面将交叉编译器拷贝到了目录“/home/zuozhongkai/linux/tool”中,然后使用如下命令将交叉编译器复制到/usr/local/arm中:
  1. sudo cp gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz /usr/local/arm/ -f
复制代码

        拷贝完成以后在/usr/local/arm目录中对交叉编译工具进行解压,解压命令如下:
  1. sudo tar -vxf gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz
复制代码

        等待解压完成,解压完成以后会生成一个名为“gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf”的文件夹,这个文件夹里面就是我们的交叉编译工具链。
        修改环境变量,使用打开/etc/profile文件,命令如下:
  1. sudo vi /etc/profile
复制代码

        打开/etc/profile以后,在最后面输入如下所示内容:
  1. export PATH=$PATH:/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin
复制代码

        添加完成以后的/etc/profile如图4.3.1.5所示:
第四章 开发环境搭建5064.png

图4.3.1.5 添加环境变量

        修改好以后就保存退出,重启Ubuntu系统,交叉编译工具链(编译器)就安装成功了。
4.3.2 安装相关库
        在使用交叉编译器之前还需要安装一下其它的库,命令如下:
  1. sudo apt-get update                                                        //先更新,否则安装库可能会出错
  2. sudo apt-get install lsb-core lib32stdc++6                //安装库
复制代码

        等待这些库安装完成。
4.3.3 交叉编译器验证
        首先查看一下交叉编译工具的版本号,输入如下命令:
  1. arm-none-linux-gnueabihf-gcc -v
复制代码

        如果交叉编译器安装正确的话就会显示版本号,如图4.3.3.1所示:
第四章 开发环境搭建5378.png

图4.3.3.1 交叉编译器版本查询

        从图4.3.3.1中可以看出当前交叉编译器的版本号为9.2.1,说明交叉编译工具链安装成功。第三章“Linux C编程入门”中使用Ubuntu自带的GCC编译器,我们用的是命令“gcc”。要使用刚刚安装的交叉编译器的时候使用的命令是“arm-none-linux-gnueabihf-gcc”,“arm-none-linux-gnueabihf-gcc”的含义如下:
        1、arm表示这是编译arm架构代码的编译器。
        2、none表示厂商,一般半导体厂商会修改通用的交叉编译器,此处就是半导体厂商的名字,ARM自己做的交叉编译这里为none,表示没有厂商。
        3、linux表示运行在linux环境下。
        4、gnueabihf表示嵌入式二进制接口,后面的hf是hard float的缩写,也就是硬件浮点,说明此交叉编译工具链支持硬件浮点。
        5、gcc表示是gcc工具。
4.4 Visual Studio Code软件的安装和使用
4.4.1 Visual Studio Code的安装
        Visual Stuio Code是一个编辑器,可以用来编写代码,Visual Studio Sode本教程以后就简称为VSCode,VSCode是微软出的一款免费编辑器。VSCode有Windows、Linux和macOS三个版本的,是一个跨平台的编辑器。VSCode下载地址是:https://code.visualstudio.com/,下载界面如图4.5.1.1所示:
第四章 开发环境搭建6098.png

图4.5.1.1 VSCode下载界面

        在图4.5.1.1中下载自己想要的版本,本教程需要Windows和Linux这两个版本,所以下载这两个即可,我们已经下载好并放入了开发板光盘中,路径为:3、软件->Visual Studio Code。
1、Windows版本安装
Windows版本的安装和容易,和其他Windows一样,双击.exe安装包,然后一路“下一步”即可,安装完成以后在桌面上就会有VSCode的图标,如图4.5.1.2所示:
第四章 开发环境搭建6324.png

图4.5.1.2 VSCode图标

        双击图4.5.1.2打开VSCode,默认界面如图4.5.1.3所示:
第四章 开发环境搭建6381.png

图4.5.1.3 VSCode默认界面

        2、Linux版本安装
        我们有时候也需要在Ubuntu下阅读代码,所以还需要在Ubuntu下安装VSCode。Linux下的VSCode安装包我们也放到了开发板光盘中, 将开发板光盘中的.deb软件包拷贝到Ubuntu系统中,然后使用如下命令安装:
sudo dpkg -i code_1.50.1-1602600906_amd64.deb
        等待安装完成,如图4.5.1.4所示:
第四章 开发环境搭建6597.png

图4.5.1.4 VSCode安装过程

        安装完成以后搜索“Visual Studio Code”就可以找到,如图4.5.1.5所示:
第四章 开发环境搭建6667.png

图4.5.1.5 Visual Studio Code

        每次打开VSCode都要搜索,太麻烦了,我们可以将图标添加到Ubuntu桌面上,安装的所有软件图标都在目录/usr/share/applications中,如图4.5.1.6所示:
第四章 开发环境搭建6789.png

图4.5.1.6 软件图标

        在图4.5.1.6中找到Visual Studio Code的图标,然后点击鼠标右键,选择复制到->桌面,如图4.5.1.7所示:
第四章 开发环境搭建6872.png

图4.5.1.7 复制图标到桌面

        按照图4.5.1.7所示方法将VSCode图标复制到桌面,第一次双击的时候会提示“未信任的应用程序启动器”,如图4.5.1.8所示:
第四章 开发环境搭建6959.png

图4.5.1.8 “未信任的应用程序启动”对话框

点击图4.5.1.8中的“Trust and Launch”,选择信任即可。以后就可以直接双击图标打开VSCode,Ubuntu下的VSCode打开以后如图4.5.1.9所示:
第四章 开发环境搭建7075.png

图4.5.1.9 Linux下的VSCode

        可以看出Linux下的VSCode和Windows下的基本是一样的,所以使用方法也是一样的。
4.5.2 Visual Studio Code插件的安装
        VSCode支持多种语言,比如C/C++、Python、C#等等,本教程我们主要用来编写C/C++程序的,所以需要安装C/C++的扩展包,扩展包安装很简单,如图4.5.2.1所示:
第四章 开发环境搭建7270.png

图4.5.2.1 VSCode插件安装

        我们需要按照的插件有下面几个:
        1)、C/C++,这个肯定是必须的。
        2)、C/C++ Snippets,即C/C++重用代码块。
        3)、C/C++ Advanced Lint,即C/C++静态检测        。
        4)、Code Runner,即代码运行。
        5)、Include AutoComplete,即自动头文件包含。
        6)、Rainbow Brackets,彩虹花括号,有助于阅读代码。
        7)、One Dark Pro,VSCode的主题。
        8)、GBKtoUTF8,将GBK转换为UTF8。
        9)、ARM,即支持ARM汇编语法高亮显示。
        10)、Chinese(Simplified),即中文环境。
        11)、vscode-icons,VSCode图标插件,主要是资源管理器下各个文件夹的图标。
        12)、compareit,比较插件,可以用于比较两个文件的差异。
        13)、DeviceTree,设备树语法插件。
        14)、TabNine,一款AI自动补全插件,强烈推荐,谁用谁知道!
        安装完成以后重新打开VSCode,如果要查看已经安装好的插件,可以按照图4.5.2.2所示方法查看:
第四章 开发环境搭建7800.png

图4.5.2.2 显示已安装的插件

由于我们已经安装了中文插件,因此重新打开VSCode以后就会是中文界面了,如图4.5.2.3所示:
第四章 开发环境搭建7870.png

图4.5.2.3 VSCode中文环境

4.5.3 Visual Studio Code新建工程
        新建一个文件夹用于存放工程,比如我新建了文件夹目录为E:\VScode_Program\1_test,路径尽量不要有中文和空格打开VSCode。然后在VSCode上点击文件->打开文件夹…,选刚刚创建的“1_test”文件夹,打开以后如图4.5.3.1所示:
第四章 开发环境搭建8052.png

图4.5.3.1 打开的文件夹

        从图4.5.3.1可以看出此时的文件夹“1_TEST”是空的,点击文件->将工作区另存为…,打开工作区命名对话框,输入要保存的工作区路径和工作区名字,如图4.5.3.2所示:
第四章 开发环境搭建8159.png

图4.5.3.2 工作区保存设置

        工作区保存成功以后,点击图4.5.3.1中的“新建文件”按钮创建main.c和main.h这两个文件,创建成功以后VSCode如图4.5.3.3所示:
第四章 开发环境搭建8255.png

图4.5.3.2 新建文件以后的VSCode

        从图4.5.3.2可以看出,此时“实验1 TEST”中有.vscode文件夹、main.c和main.h,这三个文件和文件夹同样会出现在“实验1 test”文件夹中,如图4.5.3.3所示:
第四章 开发环境搭建8377.png

图4.5.3.3 实验文件夹

        在main.h中输入如下所示内容:
示例代码4.5.3.1 main.h文件代码
  1. 1 #include <stdio.h>
  2. 2
  3. 3 int add(int a, int b);
  4.         在main.c中输入如下所示内容:
  5. 示例代码4.5.3.2 main.c文件代码
  6. 1  #include <main.h>
  7. 2  
  8. 3  int add(int a, int b)
  9. 4  {
  10. 5      return (a + b);
  11. 6  }
  12. 7  
  13. 8  int main(void)
  14. 9  {
  15. 10     int value = 0;
  16. 11
  17. 12     value = add(5, 6);
  18. 13     printf("5 + 6 = %d", value);
  19. 14     return 0;   
  20. 15 }
复制代码

        代码编辑完成以后VSCode界面如图4.5.3.4所示:
第四章 开发环境搭建8781.png

图4.5.3.4 代码编辑完成以后的界面

        从图4.5.3.4可以看出,VSCode的编辑的代码高亮很漂亮,阅读起来很舒服。但是此时提示找不到“stdio.h”这个头文件,如图4.5.3.5所示错误提示:
第四章 开发环境搭建8886.png

图4.5.3.5 头文件找不到。

        图4.5.3.5中提示找不到“main.h”,同样的在main.h文件中会提示找不到“stdio.h”。这是因为我们没有添加头文件路径。按下“Ctrl+Shift+P”打开搜索框,然后输入“Edit configurations”,选择“C/C++:Edit configurations…”,如图4.5.3.6所示:
第四章 开发环境搭建9066.png

图4.5.3.6 打开C/C++编辑配置文件

        C/C++的配置文件是个json文件,名为:c_cpp_properties.json,此文件默认内容如图4.5.3.7所示:
第四章 开发环境搭建9156.png

图4.5.3.7 文件c_cpp_properties.json内容

        c_cpp_properties.json中的变量“includePath”用于指定工程中的头文件路径,但是“stdio.h”是C语言库文件,而VSCode只是个编辑器,没有编译器,所以肯定是没有stdio.h的,除非我们自行安装一个编译器,比如CygWin,然后在includePath中添加编译器的头文件。这里我们就不添加了,因为我们不会使用VSCode来编译程序,这里主要知道如何指定头文件路径就可以了,后面有实际需要的时候再来讲。
        我们在VScode上打开一个新文件的话会覆盖掉以前的文件,这是因为VSCode默认开启了预览模式,预览模式下单击左侧的文件就会覆盖掉当前的打开的文件。如果不想覆盖的话采用双击打开即可,或者设置VSCode关闭预览模式,设置如图4.5.3.8所示:
第四章 开发环境搭建9539.png

图4.5.3.8 取消预览

        我们在编写代码的时候有时候会在右下角有如图4.5.3.9所示的警告提示:
第四章 开发环境搭建9593.png

图4.5.3.9 错误提示

        这是因为插件C/C++ Lint打开了几个功能,我们将其关闭就可以了,顺便也可以学习一下VSCode插件配置方法,如图4.5.3.10所示:
第四章 开发环境搭建9681.png

图4.5.3.10 C/C++ Lint配置界面

        在C/C++ Lint配置界面上找到CLang:Enable、Cppcheck:Enable、Flexlint:Enable这个三个,然后取消掉勾选即可,如图4.5.3.11所示:
第四章 开发环境搭建9800.png

图4.5.3.11 C/C++ Lint配置

        按照图4.5.3.11所示取消这三个有关C/C++ Lint的配置以后就不会有图4.5.3.9所示的错误提示了。但是关闭Cppcheck:Enable以后VSCode就不能实时检查错误了,大家根据实际情况选择即可。
4.5 CH340串口驱动安装
        我们一般在Windwos下通过串口来调试程序,或者使用串口作为终端,STM32MP157开发板使用CH340这个芯片实现了USB转串口功能,CH340是一枚江苏沁恒生产的国产芯片,稳定性还是很不错的,这里我们要多多支持国产嘛。
先通过USB线将开发板的串口和电脑连接起来起来,连接方式如图4.5.1:
第四章 开发环境搭建10102.png

图4.5.1 开发板串口连接方式

CH340是需要安装驱动的,驱动我们已经放到了开发板光盘中,路径:开发板光盘->3、软件->CH340驱动(USB串口驱动)_XP_WIN7共用->SETUP.EXE,,双击SETUP.EXE,打开如图4.5.2所示安装界面:
第四章 开发环境搭建10235.png

图4.5.2 CH340驱动安装

        点击图4.5.2中的“安装”按钮开始安装驱动,等待驱动安装完成,驱动安装完成以后会有如图4.5.3所示提示:
第四章 开发环境搭建10310.png

图4.5.3 驱动安装成功

        点击图4.5.3中的“确定”按钮退出安装,重新插拔一下串口线。打开设备管理器,打开方式是在Windows上的“此电脑”图标上点击鼠标右键,选择“管理”,如图4.5.4
第四章 开发环境搭建10411.png

图4.5.4 打开管理窗口

        打开以后的计算机管理器如图4.5.5所示:
第四章 开发环境搭建10450.png

图4.5.5计算机管理器

        在图4.5.5中,点击左侧“计算机管理(本地)”中的“设备管理器”,在右侧选中“端口(COM和LPT)”,如图4.5.6所示:
第四章 开发环境搭建10530.png

图4.5.6 设备管理器

        如果在图4.5.6中找到了有“USB-SERIAL CH340”字样的端口设备就说明CH340驱动成功了,一定要用USB线将开发板的串口和电脑连接起来!!!!
4.6 MobaXterm软件安装和使用
4.6.1 MobaXterm软件安装
        MobaXterm是一款终端软件,功能强大而且免费(也有收费版)!我试用了一下,用起来非常舒服!在这里推荐大家使用此软件作为终端调试软件,MobaXterm软件在其官网下载即可,地址为https://mobaxterm.mobatek.net/,如图4.6.1.1所示:
第四章 开发环境搭建10851.png

图4.6.1.1 MobaXterm官网

        点击图4.6.1.1中的“Download”按钮即可打开下载界面,如图4.6.1.2所示:
第四章 开发环境搭建10921.png

图4.6.1.2 下载界面

        从图4.6.1.2可以看出,一共有两个版本,左侧为免费的Home Edition版本,右侧为付费的Professional Edition版本。毫无疑问,我们肯定选择免费的Home Edition版,点击下方的“Download now”,打开下载界面,如图4.6.1.3所示:
第四章 开发环境搭建11078.png

图4.6.1.3 下载界面

        可以看出,当前的版本号为v12.3,点击右侧按钮下载安装包。安装包已经放到了开发板光盘中,路径为:开发板光盘->3、软件->MobaXterm_Installer_v12.3.zip。打开此压缩包,然后双击MobaXterm_installer_12.3.msi进行安装,安装方法很简单,一步一步进行即可。安装完成以后就会在桌面出现MobaXterm图标,如图4.6.1.4所示,如果桌面没有的话就自行添加。
第四章 开发环境搭建11300.png

图4.6.1.4 MobaXterm软件图标

4.6.2 MobaXterm软件使用
        双击MobXterm图标,打开此软件,软件界面如图4.6.2.1所示:
第四章 开发环境搭建11382.png

图4.6.2.1 MobaXterm软件主界面

        点击菜单栏中的“Sessions->New session”按钮,打开新建会话窗口,如图4.6.2.2所示:
第四章 开发环境搭建11464.png

图4.6.2.2 新建会话

        打开以后的新建会话窗口如图4.6.2.3所示:
第四章 开发环境搭建11505.png

图4.6.2.3 新建会话窗口

        从图4.6.2.3可以看出, MobaXterm软件支持很多种协议,比如SSH、Telnet、Rsh、Xdmcp、RDP、VNC、FTP、SFTP、Serial等等,我们现在就讲解一下如何建立Serial连接,也就是串口连接,因为我们使用MobaXterm的主要目的就是作为串口终端使用。点击图4.6.2.3中的“Serial”按钮,打开串口设置界面,如图4.6.2.4所示:
第四章 开发环境搭建11713.png

图4.6.2.4 设置串口

        打开串口设置窗口以后先选择要设置的串口号,因此要先用串口线将开发板连接到电脑上上,然后设置波特率为115200(根据自己实际需要设置),完成以后如图4.6.2.5所示:
第四章 开发环境搭建11815.png

图4.6.2.5 设置串口及其波特率

        MobaXterm软件可以自动识别串口,因此我们直接下拉选择即可,波特率也是同样的设置方式,下拉选择即可。完了以后还要设置串口的其他功能,下方一共有三个设置选项卡,如图4.6.2.6所示:
第四章 开发环境搭建11932.png

图4.6.2.6 串口其他设置选项

        点击Advanced Serial settings选项卡,设置串口的其他功能,比如串口引擎、数据位、停止位、奇偶校验和硬件流控等,按照图4.6.2.7所示设置即可:
第四章 开发环境搭建12037.png

图4.6.2.7 串口设置

        如果要设置终端相关的功能的话点击“Terminal settings”即可,比如终端字体以及字体大小等。设置完成以后点击下方的“OK”按钮即可。串口设置完成以后就会打开对应的终端窗口,如图4.6.2.8所示:
第四章 开发环境搭建12159.png

图4.6.2.8 成功建立的串口终端

        如果开发板里面烧写了系统的话就会在终端中打印出系统启动的log信息,如图4.6.2.9所示:
第四章 开发环境搭建12228.png

图4.6.2.9 MobaXterm作为串口终端

        可以看出,MobaXterm作为串口终端还是非常漂亮的,结合了SecureCRT的功能强大与Putty的免费。推荐大家使用MobaXterm作为串口终端使用,当然了,MobaXterm也可以作为其他终端软件,这里大家就自行摸索吧。
4.7 Windows下ST官方软件安装
4.7.1 ST官方软件简介
        在开发STM32MP157的时候我们还需要用到一些ST官方提供的软件,一共有三种:STM32CubeMX、STM32CubeIDE、STM32CubeProgrammer,这三个软件的功能如表4.7.1.1所示:
软件        功能
STM32CubeMX        STM32图形化配置软件
STM32CubeIDE        ST官方集成IDE,用于M4内核
STM32CubeProgrammer        STM32烧写软件
表4.7.1.1 ST官方软件
1、STM32CubeMX
        STM32CubeMX是近年来开发STM32比较流行的一个配置代码工具,目前已经更新了很多个版本,新的版本功能也越来越强大。
        STM32CubeMX是图形化配置工具,可以直观的选择MCU/MPU型号,可以动态地配置引脚、配置时钟树、配置中间件、配置内存,可以生成初始化代码、MPU设备树源码,可以进行DDR测试等。STM32CubeMX的好处是具有直观的图形配置界面,而且它把很多东西封装的比较好,例如硬件抽象层、中间层、外围器件和示例代码以及Arm Cortex-A内核部分Linux设备树等等,它可以独立使用或作为 Eclipse 插件使用,例如在STM32CubeIDE上就集成了STM32CubeMX。
STM32CubeMX开源且跨平台,支持在Windows、Linux和macOS 操作系统上运行(64位),STM32CubeMX与STM32之间的关系如图4.7.1.1所示:
第四章 开发环境搭建13038.png

图4.7.1.1 STM32CubeMX与STM32

        STM32CubeMX可以直接在ST官网下载到,STM32CubeMX已经放到了开发板光盘中,路径为:开发板光盘5、开发工具2、ST官方开发工具en.stm32cubemx_v6-0-1.zip。
2、STM32CubeIDE
        STM32CubeIDE是ST于2019年新推出的一款多功能的集成开发工具,它集成了TrueSTUDIO和STM32CubeMX插件,并基于GDB进行调试,它允许集成数百个现有插件,这些插件完成Eclipse的功能。
TrueSTUDIO插件是一款建立在Eclipse CDT、GCC和GDB的C/C++集成开发工具,其具有项目创建和管理、代码编辑、代码编译以及代码调试等功能。STM32CubeMX插件具有图形化配置功能,可以直观地选择MCU/MPU型号、动态配置引脚和设置时钟树、动态设置外围设备和中间器件的模式,可以自动处理引脚冲突和生成初始化代码。TrueSTUDIO和STM32CubeMX的强强联手,使STM32CubeIDE得以和MDK进行媲美。STM32CubeIDE完全开源,并且跨平台,目前支持Windows、Linux和macOS多个操作系统(64位版本)。
STM32CubeIDE可以直接在ST官网下载到,STM32CubeIDE已经放到了开发板光盘中,路径为:开发板光盘5、开发工具2、ST官方开发工具en.st-stm32cubeide_1.4.0_7511_20200720_0928_x86_64_exe.zip。
3、STM32CubeProgrammer
        STM32CubeProgrammer看名字就知道和编程有关,它属于多合一软件工具,它将ST Visual Programmer、DFUse Device Firmware Update、Flash Loader和 ST-Link等软件功能整合到了一起,为用户提供STM32 微控制器代码烧写和固件安全安装、更新功能,帮助用户更快地开发特定外部存储器的加载程序。
        STM32CubeProgrammer支持对外部存储器进行编程、擦除和验证,用户烧写STM32微控制器既可使用片上SWD (单线调试)或JTAG调试端口,也可以用程序引导装入端口(例如 UART和USB)。它支持 Motorola S19、Intel HEX、ELF 和 二进制格式(BIN文件),支持ST-LINK固件更新,支持图形化界面操作也支持命令行操作,在命令行界面,可通过脚本实现自动化编程。目前STM32CubeProgrammer支持Windows、Linux和macOS多个操作系统(64位版本)。
STM32CubeProgrammer可以直接在ST官网下载到,这里也已经放到了开发板光盘中,路径为:开发板光盘5、开发工具2、ST官方开发工具en.stm32cubeprog_v2-5-0.zip。
4.7.2 Java环境安装
在安装STM32CbeMX和STM32CubeIDE前我们要先安装Java的环境,Java 运行环境版本必须是 V1.7 及以上,否则会导致这两个无法使用。大家可以到 Java 官网https://www.java.com/zh-CN/download/manual.jsp查找下载最新的64位 Java 软件。
一定要用64位的JAVA运行环境,否则使用STM32CubeProgrammer烧写系统的时候会失败!
我们已经在开发板光盘里面放了64位的JAVA,路径为:开发板光盘3、软件Java安装包jre-8u271-windows-x64.exe。
        对于 Java 运行环境安装,我们这里就不做过多讲解,大家直接双击安装包,根据提示安装即可,安装完成之后提示界面如图4.7.2.1:
第四章 开发环境搭建14710.png

图4.7.2.1 java运行环境安装成功

        安装完 Java 运行环境之后,为了检测是否正常安装,我们可以打开 Windows 的cmd命令输入框,输入如下命令:
java -version //命令查询Java版本
如果安装成功的话就会打印出Java的版本号,如图4.7.2.2所示:
第四章 开发环境搭建14857.png

图4.7.2.2 Java版本号

        从图4.7.2.2中可以看出,当前JAVA环境版本号为1.8.0_271,而且是64位的。
4.7.3 STM32CubeMX安装
        STM32CubeMX需要JAVA运行环境,确保已经按照4.7.2小节安装好了JAVA运行环境。
STM32CubeMX安装方法很简单,解压开发板光盘中的CubeMX压缩包,然后双击解压得到的“SetupSTM32CubeMX-6.0.1.exe”进行安装。安装方法很简单,一路“Next”,然后根据提示接受许可学习、设置安装路径即可。安装完成以后就会在桌面生成CubeMX的图标,如图4.7.3.1所示:
第四章 开发环境搭建15148.png

图7.4.3.1 CubeMX图标

        双击图7.4.3.1中的CubeMX图标,打开以后如图7.4.3.2所示:
第四章 开发环境搭建15207.png

图7.4.3.2 CubeMX主界面

        我们可以根据具体的STM32型号,或者ST官方的开发板来构建自己的CubeMX工程,正点原子的《STM32MP1 M4裸机CubelDE开发手册》对CubeMX的使用进行了详细的讲解。
4.7.4 STM32CubeIDE安装
STM32CubeIDE需要JAVA运行环境,确保已经按照4.7.2小节安装好了JAVA运行环境。
我们选择安装1.4.0版本的STM32CbeIDE,相比于以前的版本其修复了一些bug并新增了部分功能,其集成的STM32CubeMX是V6.0.0版本。
将下载好的STM32CubeIDE安装包解压到非中文路径下,如果路径中有中文,安装的时候可能会有如图4.7.4.1所示错误。
第四章 开发环境搭建15534.png

图4.7.4.1 安装错误提示

双击解压出来的st-stm32cubeide_1.4.0_7511_20200720_0928_x86_64.exe可执行文件进行安装,程序进入安装向导界面如图4.7.4.2所示:
第四章 开发环境搭建15643.png

图4.7.4.2 安装界面

        点击图4.7.4.2中的“Next”按钮,弹出如图4.7.4.3所示的许可协议界面:
第四章 开发环境搭建15703.png

图4.7.4.3 安装许可协议

        点击图4.7.4.3中的“I Agree”,然后弹出安装的路径选择界面,默认是安装在C盘,可根据个人情况选择安装路径,此处本文选择安装在D盘,如图4.7.4.4所示:
第四章 开发环境搭建15806.png

图4.7.4.4 安装路径选择

注意,安装路径不能有中文,否则会导致STM32CubeIDE软件无法安装,即使成功安装以后,也会导致无法正常创建和保存工程,无法正常进行编译。安装路径选择以后点击图4.7.2.5中的“Next”按钮,继续下一步。接下来是选择组件对话框选择与STM32CubelDE一起安装的GDB服务器组件,默认选择J-Link 和 ST-Link的组件,我们选择默认即可,如图4.7.4.5所示:
第四章 开发环境搭建16016.png

图4.7.4.5 组件选择

        点击图4.7.2.6中的“Install”,安装正式进行,待安装程序进度完成。如果弹出需要安装的驱动,选择安装即可。最后点击NextFinish完成安装,如图4.7.4.6所示:
第四章 开发环境搭建16125.png

图4.7.4.6 安装完成

        安装完成后桌面有一个快捷启动图标,双击此快捷图标可以启动STM32CubeIDE,如图4.7.4.7所示:
第四章 开发环境搭建16196.png

图4.7.4.7 STM32CubeIDE图标

        STM32CubeIDE是进行STM32MP157的M4开发的,不能开发Linux部分,因此本教程实际用不到。关于STM32CubeIDE的详细用法请参考正点原子的《STM32MP1 M4裸机CubelDE开发手册》。
4.7.5 STM32CubeProgrammer安装
        STM32CubeProgrammer需要JAVA运行环境,确保已经按照4.7.2小节安装好了JAVA运行环境。
        解压开发板光盘中的STM32CubeProgrammer安装压缩包,然后双击解压出来的“SetupSTM32CubeProgrammer-2.5.0.exe”,安装过程很简单,根据提示进行安装即可,安装完成以后的STM32CubeProgrammer图标如图4.7.5.1所示:
第四章 开发环境搭建16560.png

图4.7.5.1 STM32CubeProgrammer图标

        双击图4.7.5.1打开STM32CubeProgrammer,如图4.7.5.2所示:
第四章 开发环境搭建16639.png

图4.7.5.2 STM32cubeProgrammer主界面        

        ST为STM32CubeProgrammer专门编写了一个使用手册,这个手册已经放到了开发板光盘中,路径:开发板光盘5、开发工具2、ST官方开发工具STM32CubeProgrammer软件工具介绍(中文版本).pdf。
        

4.8 Ubuntu下ST官方软件安装
        上一小节讲解了如何在Windows下如何安装STM32CubeMX、STM32CubeIDE以及STM32CubeProgrammer这三个ST官方软件,本节我们就来讲解一下如何在Ubuntu下安装这三个软件。
4.8.1 Java环境安装
在Ubuntu下安装这三个软件也是需要JAVA运行环境的,Ubuntu可能会默认安装了OpenJDK环境,但是STM32CubeProgrammer是用Oracle的JDK编写的,所以需要先卸载掉默认的OpeJDK,首先输入“java -version”查看一下当前Ubuntu系统下有没有OpenJDK,有的话会输出如图4.8.1.1所示信息:
第四章 开发环境搭建17107.png

图4.8.1.1 JAVA运行环境版本号

从图4.8.1.1可以看出,当前的JAVA是openjdk 11.0.9,如果没有输出JAVA版本信息的话就说明当前Ubuntu还没有安装JAVA环境。卸载OpenJDK的方法很简单,输入如下命令:
sudo apt-get remove openjdk*
卸载完成以后重新输入“java -version”,如果不能输出java版本信息就说明卸载成功了。        接下来我们安装Oracle的JAVA运行环境,相应的软件包已经放到了开发板光盘中,路径:开发板光盘 3、软件Java 安装包jre-8u271-linux-x64.tar.gz,将此压缩包拷贝到Ubuntu下,然后解压到Ubuntu的/usr/lib/jvm目录下,输入如下命令:
  1. sudo mkdir /usr/local/java                                                                //创建目录
  2. sudo tar vzxf jre-8u271-linux-x64.tar.gz -C /usr/local/java                //解压
复制代码

        修改/etc/profile,在文件最后面追加如下内容:
  1. export CLASSPATH=.:/usr/local/java/jre1.8.0_271/lib
  2. export PATH=$PATH:/usr/local/java/jre1.8.0_271/bin
复制代码

        完成以后的/etc/profile如图4.8.1.2所示:
第四章 开发环境搭建17724.png

图4.8.1.2 追加JAVA相关内容

重启电脑,输入“java -version”查看java安装是否成功,安装成功的话就会打印出java环境的版本号,如图4.8.1.3所示:
第四章 开发环境搭建17816.png

图4.8.1.3 java版本号

        从图4.8.1.3可以看出,当前Ubuntu下JAVA运行环境版本号为1.8.0_271,JAVA运行环境安装成功。
4.8.2 STM32CubeMX安装
        在Ubuntu下新建一个名为“STM32CubeMX”的文件夹,然后将开发板光盘中的STM32CubeMX安装包en.stm32cubemx_v6-0-1.zip发送到此文件夹下,然后进行解压,命令如下:
unzip en.stm32cubemx_v6-0-1.zip
        解压完成以后得到的内容如图4.8.2.1所示:
第四章 开发环境搭建18076.png

图4.8.2.1 解压后的文件

        图4.8.2.1中解压出来的文件一个都不要删除,防止安装的时候出错,在终端里面执行图4.8.2.1中的SetupSTM32CubeMX-6.0.1.linux,输入如下命令:
  1. chmod 777 SetupSTM32CubeMX-6.0.1.linux                //给予可执行权限
  2. chmod 777 SetupSTM32CubeMX-6.0.1.exe                        //给予可执行权限
复制代码


        输入上述命令以后打开安装界面,如图4.8.2.1所示:
第四章 开发环境搭建18342.png

图4.8.2.1 STM32CubeMX安装界面

        根据提示一步步安装下去,安装默认路径安装,注意,STM32CubeMX安装完成以后可能在/usr/share/applications目录下找不到STM32CubeMX的图标。所以我们需要直接搜索,点击Ubuntu主界面左上角的“活动”按钮,打开搜索条,输入“STM32CubeMX”查找相应的文件,结果如图4.8.2.2所示:
第四章 开发环境搭建18535.png

图4.8.2.2 STM32CubeMX搜索结果

        图4.8.2.2中第一个搜索结果就是STM32CubeMX的安装文件夹,打开以后里面的内容如图4.8.2.3所示:
第四章 开发环境搭建18621.png

图4.8.2.3 STM32CubeMX安装文件

        图4.8.2.3中的“STM32CubeMX”就是软件图标,双击即可打开STM32CubeMX。
4.8.3 STM32CubeIDE安装
        注意STM32CubeIDE有专门的Linux版本,它并不是和Windows版放到一起的,我们已经放到了开发板光盘中,路径为:开发板光盘5、开发工具2、ST官方开发工具en.st-stm32cubeide_1.4.0_7511_20200720_0928_amd64_sh.zip
在Ubuntu下新建一个名为“STM32CubeIDE”的文件夹,然后将开发板光盘中的STM32CubeMX安装包en.st-stm32cubeide_1.4.0_7511_20200720_0928_amd64_sh.zip发送到此文件夹下,然后进行解压,命令如下:
unzip en.st-stm32cubeide_1.4.0_7511_20200720_0928_amd64_sh.zip
        解压完成以后得到的内容如图4.8.3.1所示:
第四章 开发环境搭建19087.png

图4.8.3.1 解压后的文件

        在终端里面执行图4.8.3.1中的st-stm32cubeide_1.4.0_7511_20200720_0928_amd64.sh,输入如下命令:
  1. chmod 777 st-stm32cubeide_1.4.0_7511_20200720_0928_amd64.sh        //给予可执行权限
  2.         ./st-stm32cubeide_1.4.0_7511_20200720_0928_amd64.sh
复制代码

        输入上述命令以后会先解压压缩包,然后打开安装许可,阅读完安装许可,然后输入‘y’表示接受许可,如图4.8.3.2所示:
第四章 开发环境搭建19365.png

图4.8.3.2 安装许可

        在图4.8.3.2中输入‘y’,表示接受许可,默认为‘n’,也就是不接受许可。接下来会出现多个询问,根据实际情况填写即可,最后等待安装完成。安装完成以后到/usr/share/applications目录下将STM32CubeIDE的图标复制到桌面上,这样我们就可以通过点击桌面图标打开STM32CubeIDE软件了。
4.8.4 STM32CubeProgrammer安装
在Ubuntu下新建一个名为“STM32CubeProgrammer”的文件夹,然后将开发板光盘中的STM32CubeMX安装包en.stm32cubeprog_v2-5-0.zip发送到此文件夹下,然后进行解压缩,命令如下:
  1. unzip en.stm32cubeprog_v2-5-0.zip
复制代码

        解压完成以后得到的内容如图4.8.4.1所示:
第四章 开发环境搭建19743.png

图4.8.4.1 解压后的文件

        图4.8.4.2中解压出来的文件一个都不要删除,防止安装的时候出错,在终端里面执行图4.8.4.2中的SetupSTM32CubeProgrammer-2.5.0.linux即可,输入如下命令:
  1. ./SetupSTM32CubeProgrammer-2.5.0.linux
复制代码

        输入上述命令以后打开安装界面,如图4.8.4.3所示:
第四章 开发环境搭建19928.png

图4.8.4.3 Ubuntu下安装界面

        和Windwos下一样,根据提示一步步安装下去,不要修改安装路径,采用默认路径即可。以后我们就可以直接在Ubuntu下通过STM32CubeProgrammer来烧写系统了。
最后,在Ubuntu中安装libusb1.0软件包,输入如下命令:
  1. sudo apt-get install libusb-1.0.0-dev
复制代码

4.9 USB DFU以及STLink驱动安装
4.9.1 Windows下USB DFU以及STLink驱动安装
        在Windows下USB DFU驱动不需要安装,所以只需要安装STLink驱动,STLink驱动已经放到了开发板光盘中,路径为:开发板光盘3、软件ST LINK驱动及教程ST-LINK官方驱动.zip。解压该压缩包得到如图4.9.1所示内容:
第四章 开发环境搭建20296.png

图4.9.1 ST LINK驱动

        如果是64位的电脑,则双击:dpinst_amd64.exe 进行安装。如果是32位的电脑,则双击:dpinst_x86.exe 进行安装。
        安装完成后如图4.9.2所示:
第四章 开发环境搭建20404.png

图4.9.2 ST LINK驱动安装成功

        在ST LINK驱动安装完成以后,我们在电脑设备管理器里面可以看到会多出一个设备(此时ST LINK必须通过USB连接到电脑,ST LINK红灯常亮),如图4.9.3所示:
第四章 开发环境搭建20515.png

图4.9.3 设备管理器显示ST LINK设备

        注意:
①、不同Windows版本设备名称和所在设备管理器栏目可能不一样,例如WIN7电脑插上ST LINK后显示的是:STMicroelectronics STLINK dongle。
②、如果设备名称旁边显示的是黄色的叹号,请直接点击设备名称,然后在弹出的界面点击更新设备驱动。
4.9.2 Ubuntu下USB DFU以及STLink驱动安装
如果想要在Ubuntu下通过USB烧写系统,那么必须要安装USB DFU驱动。
必须先在Ubuntu下安装STM32CubeProgrammer,因为STM32CubeProgrammer安装过程中会解压出USB DFU以及STLink相关驱动文件,我们需要用到这些驱动文件!
找到Ubuntu里面的STM32CubeProgrammer安装路径,如果安装的时候选择的默认路径,那么就会在用户根目录下生成一个名为“STMicroelectronics”的文件夹,比如在我的电脑上的绝对路径就是“/home/zuozhongkai/STMicroelectronics”,如图4.9.2.1所示:
第四章 开发环境搭建21015.png

图4.9.2.1 STM32软件安装目录

        进入路径:/STMicroelectronics/STM32Cube/STM32CubeProgrammer/Drivers/rules,此目录下下的文件内容如图4.9.2.2所示:
第四章 开发环境搭建21131.png

图4.9.2.2 USB DFU以及STLink驱动文件

        将图4.9.2.2中的这些.rules文件全部拷贝到Ubuntu的/etc/udev/rules.d目录下,命令如下:
  1. cd /home/zuozhongkai/STMicroelectronics/STM32Cube/STM32CubeProgrammer/Drivers/rules
  2. sudo cp * /etc/udev/rules.d/
复制代码

        拷贝完成以后重启Ubuntu,用USB Type-C线将开发板的USB OTG接口与电脑连接起来,默认情况下,拨码开关设置为000,也就是USB启动,然后按下复位按键,此时电脑就会发出USB枚举的叮咚声。默认情况下,USB会连接到Windwos下,我们需要将USB连接到Ubuntu,所以需要设置一下VMware,WMware右下角会有当前电脑所有连接的USB设备,鼠标放上去以后会显示每个USB设备的名字,我们找到含有“STMicroelectronics DFU”字样的USB设备,如图4.9.2.3所示:
第四章 开发环境搭建21593.png

图4.9.2.3 STM32MP157 USB DFU

        图4.9.2.3中第二个USB设备就是STM32MP157的USB DFU模式,此时图标是灰色的,说明并没有连接到Ubuntu下,需要我们进行设置。鼠标放到图4.9.2.3中USB DFU设备上,比如此时我的电脑就是第二个图标,鼠标放上去以后点击鼠标右键,结果如图4.9.2.4所示:
第四章 开发环境搭建21767.png

图4.9.2.4 USB设备连接到虚拟机

        点击图4.9.2.4中的“连接”按钮,此时USB DFU就会断开与主机(Windows)的连接,从而连接到虚拟机(Ubuntu)上。连接成功以后对应的USB图标颜色就会深,如图4.9.2.5所示:
第四章 开发环境搭建21890.png

图4.9.2.5 USB设备连接到虚拟机

        连接成功以后就可以使用STM32CubeProgrammer软件进行测试,打开Ubuntu下的STM23CubeProgrammer软件,选择“USB”字样,查看一下端口是否有“USB1”字样,如图4.9.2.6所示:
第四章 开发环境搭建22024.png

图4.9.2.6 STM32CubeProgrammer软件USB设置

        点击图4.9.2.6右上角的“Connect”按钮即可通过USB接口连接到开发板上,左下角的log区就会输出相应的信息,如图4.9.2.7所示:
第四章 开发环境搭建22136.png

图4.9.2.7 log信息

        可以看出此时USB DFU已经成功工作,说明Ubuntu下STM32 USB DFU驱动成功。
最后,测试下STLink,这个测试比较简单,将STLink连接到Ubuntu下,如果STLink工作成功的话就会在/dev目录下生成相应的设备文件,如图4.9.2.8所示:
第四章 开发环境搭建22289.png

图4.9.2.8 stlink设备文件

        从图4.9.2.8可以看出,当前STLink为V2.1版本的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 10:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表