跳转到主要内容

MM32F013x——Linux下搭建MM32开发环境

<strong><font color="#004a85">01、开发环境描述</font> </strong>

Cortex-M0型号:MM32F0133C7P
下载器与调试接口:MM32 DAP-Link + SWD
操作系统:Ubuntu20.0.4
集成开发环境平台:eclipse IDE for C/C++ developers
交叉编译链:arm-none-eabi-gcc
调试服务器:JLink GDB Server

<strong><font color="#004a85">02、安装eclipse IDE for C/C++ developers</font> </strong>

<strong>2.1、准备工作</strong>

需要下载两个软件包:

JDK:
<a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-…;

JDK是Eclipse的必要运行环境,本次实验使用的是jdk-8u231-linux-x64.tar.gz。

Eclipse:

<a href="https://www.eclipse.org/downloads/packages/">https://www.eclipse.org/do…;

Eclipses根据开发语言选择合适的安装包,我们主要用C/C++开发,使用的是
Eclipse IDE for C/C++ Developers linux 64-bit。

注:安装包版本可自行选择,但要注意一点,新版本的eclipse可能会与低版本的JDK不兼容。

<strong>2.2、JAVA环境</strong>

在/opt文件夹下新建一个jvm目录,将解压后得到的jdk1.8.0_231(取决于JDK版本)移动到新建的jvm目录下,添加java路径后,在终端中键入命令。

<pre style="overflow-x:auto; background-color:#e9e9e9;">sudo mkdir /opt/jvm
sudo gedit .profile</pre>

在文件最后添加如下内容。(JDK版本号可能有所不同,文件夹的名称由实际的文件夹名称为准)

<pre style="overflow-x:auto; background-color:#e9e9e9;"># java path
export JAVA_HOME=/opt/jvm/jdk1.8.0_231
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH</pre>

最后键入命令使得路径生效。

<pre style="overflow-x:auto; background-color:#e9e9e9;">source .profile</pre>

此时,在终端中键入java版本查看命令。

<pre style="overflow-x:auto; background-color:#e9e9e9;">java -version</pre>

如果出现如下信息,,则说明JAVA环境配置成功。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208783-1.png&…; alt=“” ></center>

<strong>2.3、安装Eclipse</strong>

解压eclipse的软件包会得到一个eclipse的文件夹,将其移动到/opt目录下,建立jre软连接。

sudo mkdir /opt/eclipse/jre
sudo ln -s /opt/jvm/jdk1.8.0_231/bin /opt/eclipse/jre/

添加eclipse的桌面图标。

<pre style="overflow-x:auto; background-color:#e9e9e9;">sudo gedit /usr/share/applications/eclipse.desktop</pre>

在打开的文件中键入。(注意Exe和Icon路径是否正确)

<pre style="overflow-x:auto; background-color:#e9e9e9;">[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse
Exec=/opt/eclipse/eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;</pre>

接着ctrl+s保存文件,然后赋予可执行权限。

<pre style="overflow-x:auto; background-color:#e9e9e9;">sudo chmod u+x /usr/share/applications/eclipse.desktop</pre>

最后将eclipse.desktop复制到桌面或者固定在dock上,后面就可以通过图标启动eclipse。

<strong>2.4、安装交叉编译链arm-none-eabi-gcc</strong>

我们从ARM官方选择合适的版本下载(此处选择了Linux64):

<a href="https://developer.arm.com/tools-and-software/open-source-software/devel…;

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208784-2.png&…; alt=“”></center>

下载的为tar.ba2格式压缩包,使用命令tar -jxf &lt;要解压的文件>解压到我们要安装的目录:

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208785-3.png&…; alt=“”></center>

为了以后使用方便,将文件夹重命名:

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208786-4.png&…; alt=“”></center>

它下面的bin目录就是我们要使用的编译工具链:

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208787-5.png&…; alt=“”></center>

接下来我们要将bin目录添加到环境变量,这样可以直接在命令行输入要使用的工具名,然后系统就可以找到该工具,在此我们仅为当前用户添加环境变量,使用gedit ~/.bashrc编辑当前用户配置文件,在文件最后添加:

<pre style="overflow-x:auto; background-color:#e9e9e9;">export PATH=$PATH:/home/neomissing/gcc-arm-none-eabi/bin</pre>

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208788-6.png&…; alt=“”></center>

然后使用命令source ~/.bashrc更新系统路径,使添加的环境变量立即生效:

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208789-7.png&…; alt=“”></center>

然后输入命令arm-none,然后按三下Tab(一定不要输入全部),检查系统是否可以自动补全。如果系统可以提示,说明环境变量配置成功,可以放心使用arm-none-eabi工具链。

<strong>2.5、安装GNU ARM Eclipse插件包</strong>

The recommended way to install these plug-ins is to use the Eclipse standard install/update mechanism: In the Eclipse menu: Help → Install New Software…
in the Install window, click the Add… button (on future updates, just select the URL in theWork with: combo)
fill in Name: with GNU ARM Eclipse Plug-ins
fill in Location:
with http://gnuarmeclipse.sourceforge.net/updates

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208790-8.png&…; alt=“” ></center>

click the Add button
normally the main window should list a group named CDT GNU Cross Development Tools; expand it select all the plug-ins (the one marked End of life is needed only for compatibility with previous version, normally can be safely skipped)
click the Next button and follow the usual installation procedure

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208794-9.png&…; alt=“” ></center>

Once you define the update site URL, further updates are greatly simplified (Help → Check For Updates)。

<strong>2.6、安装OpenOCD</strong>

安装openocd 打开Ubuntu终端(alt+ctrl+t)输入命令:

sudo apt install openocd

完成之后 输入openocd查看版本信息。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208795-10.png…; alt=“” ></center>

目前默认安装的openocd芯片支持不全,找到openocd安装路径删除,复制替换MindMotion提供的openocd即可。

检查MM32 DAP-Link连接正常。

打开Ubuntu终端(alt+ctrl+t)输入lsusb,查看连接如下:

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208796-11.png…; alt=“” ></center>

<strong><font color="#004a85">03、创建MM32工程并配置、编译、调试</font> </strong>

<strong>3.1、工程创建</strong>

打开eclipse,创建一个c工程,点击file,新建New Project,选择C Project。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208797-12.png…; alt=“” ></center>

点击next,输入工程名字test,如下配置:

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208798-13.png…; alt=“” ></center>

连续点击next。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208799-14.png…; alt=“” ></center>

选择选择工具链路径,这一路径就是我们第二步中arm-none-eabi-gdb的路径,需要匹配,点击finish。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208800-15.png…; alt=“” ></center>

添加自己的工程文件,然后指定头文件路径以及配置路径,在工程浏览器中选中工程,右键单击选择Properties,再选择C/C++ Build-->Settings,跳出如下界面:

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208801-16.png…; alt=“” ></center>

配置汇编器Cross ARM GNU Assembler,主要是添加预处理宏:

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208802-17.png…; alt=“” ></center>

配置编译器Cross ARM C Compiler,添加预处理宏。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208803-18.png…; alt=“” ></center>

添加头文件搜索目录。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208804-19.png…; alt=“” ></center>

配置连接器 Cross ARM C Linker,主要是选择连接脚本文件。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208805-20.png…; alt=“” ></center>

<strong>3.2、编译工程</strong>

选择Project-> Build Project选项来编译整个工程。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208806-21.png…; alt=“” ></center>

<strong>3.3、连接目标板</strong>

在eclipse中配置openocd,连接目标板。点击External Tools Configurations,双击Program选项。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208807-22.png…; alt=“” ></center>

然后打开终端输入如下命令 which openocd,找可执行文件openocd的路径,然后把路径复制到Location一栏,在Arguments一栏中输入如下配置信息:

<pre style="overflow-x:auto; background-color:#e9e9e9;">-f /usr/share/openocd/scripts/interface/cmsis-dap.cfg
-f /usr/share/openocd/scripts/target/mm32f013x.cfg</pre>

其中的mm32f013x.cfg需要根据你的目标板上的MCU不同而会改变。

此配置文件路径是安装openocd通过命令sudo apt install openocd安装的,是系统默认路径。如果用户在此路径中找不到相关文件,那么请自行查找与修改路径。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208808-23.png…; alt=“” ></center>
<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208809-24.png…; alt=“” ></center>

然后点击Apply,Run后会在窗口出现信息,表示连接成功。

<strong>3.4、Debug调试</strong>

配置debug环境:点击Debug Configurations选项,双击GDB OpenOCD Debugging在窗口点击Debugger一栏。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208810-25.png…; alt=“” ></center>

分别修改如下三个窗口的内容,第一个为可执行openocd命令所在路径,第二个为openocd连接DAP-Link与目标板的命令,第三个为工具链arm-none-eabi-gdb等所在的路径。

<center><img src="http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208811-26.png…; alt=“” ></center>

点击Apply,Debug就可以开始调试。

来源:<a href="https://mp.weixin.qq.com/s/4k2Sf42ftuSomKRRpf7oyw">灵动微电子</a&gt;
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。