![cathy的头像 cathy的头像](https://cdn.eetrend.com/files/styles/picture200/public/letter-avatars/u-593.png?itok=XTs2kpZ8)
01、开发环境描述
Cortex-M0型号:MM32F0133C7P
下载器与调试接口:MM32 DAP-Link + SWD
操作系统:Ubuntu20.0.4
集成开发环境平台:eclipse IDE for C/C++ developers
交叉编译链:arm-none-eabi-gcc
调试服务器:JLink GDB Server
02、安装eclipse IDE for C/C++ developers
2.1、准备工作
需要下载两个软件包:
JDK:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
JDK是Eclipse的必要运行环境,本次实验使用的是jdk-8u231-linux-x64.tar.gz。
Eclipse:
https://www.eclipse.org/downloads/packages/
Eclipses根据开发语言选择合适的安装包,我们主要用C/C++开发,使用的是
Eclipse IDE for C/C++ Developers linux 64-bit。
注:安装包版本可自行选择,但要注意一点,新版本的eclipse可能会与低版本的JDK不兼容。
2.2、JAVA环境
在/opt文件夹下新建一个jvm目录,将解压后得到的jdk1.8.0_231(取决于JDK版本)移动到新建的jvm目录下,添加java路径后,在终端中键入命令。
sudo mkdir /opt/jvm sudo gedit .profile
在文件最后添加如下内容。(JDK版本号可能有所不同,文件夹的名称由实际的文件夹名称为准)
# 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
最后键入命令使得路径生效。
source .profile
此时,在终端中键入java版本查看命令。
java -version
如果出现如下信息,,则说明JAVA环境配置成功。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208783-1.png)
2.3、安装Eclipse
解压eclipse的软件包会得到一个eclipse的文件夹,将其移动到/opt目录下,建立jre软连接。
sudo mkdir /opt/eclipse/jre
sudo ln -s /opt/jvm/jdk1.8.0_231/bin /opt/eclipse/jre/
添加eclipse的桌面图标。
sudo gedit /usr/share/applications/eclipse.desktop
在打开的文件中键入。(注意Exe和Icon路径是否正确)
[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;
接着ctrl+s保存文件,然后赋予可执行权限。
sudo chmod u+x /usr/share/applications/eclipse.desktop
最后将eclipse.desktop复制到桌面或者固定在dock上,后面就可以通过图标启动eclipse。
2.4、安装交叉编译链arm-none-eabi-gcc
我们从ARM官方选择合适的版本下载(此处选择了Linux64):
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208784-2.png)
下载的为tar.ba2格式压缩包,使用命令tar -jxf <要解压的文件>解压到我们要安装的目录:
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208785-3.png)
为了以后使用方便,将文件夹重命名:
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208786-4.png)
它下面的bin目录就是我们要使用的编译工具链:
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208787-5.png)
接下来我们要将bin目录添加到环境变量,这样可以直接在命令行输入要使用的工具名,然后系统就可以找到该工具,在此我们仅为当前用户添加环境变量,使用gedit ~/.bashrc编辑当前用户配置文件,在文件最后添加:
export PATH=$PATH:/home/neomissing/gcc-arm-none-eabi/bin
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208788-6.png)
然后使用命令source ~/.bashrc更新系统路径,使添加的环境变量立即生效:
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208789-7.png)
然后输入命令arm-none,然后按三下Tab(一定不要输入全部),检查系统是否可以自动补全。如果系统可以提示,说明环境变量配置成功,可以放心使用arm-none-eabi工具链。
2.5、安装GNU ARM Eclipse插件包
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
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208790-8.png)
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
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208794-9.png)
Once you define the update site URL, further updates are greatly simplified (Help → Check For Updates)。
2.6、安装OpenOCD
安装openocd 打开Ubuntu终端(alt+ctrl+t)输入命令:
sudo apt install openocd
完成之后 输入openocd查看版本信息。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208795-10.png)
目前默认安装的openocd芯片支持不全,找到openocd安装路径删除,复制替换MindMotion提供的openocd即可。
检查MM32 DAP-Link连接正常。
打开Ubuntu终端(alt+ctrl+t)输入lsusb,查看连接如下:
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208796-11.png)
03、创建MM32工程并配置、编译、调试
3.1、工程创建
打开eclipse,创建一个c工程,点击file,新建New Project,选择C Project。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208797-12.png)
点击next,输入工程名字test,如下配置:
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208798-13.png)
连续点击next。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208799-14.png)
选择选择工具链路径,这一路径就是我们第二步中arm-none-eabi-gdb的路径,需要匹配,点击finish。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208800-15.png)
添加自己的工程文件,然后指定头文件路径以及配置路径,在工程浏览器中选中工程,右键单击选择Properties,再选择C/C++ Build-->Settings,跳出如下界面:
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208801-16.png)
配置汇编器Cross ARM GNU Assembler,主要是添加预处理宏:
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208802-17.png)
配置编译器Cross ARM C Compiler,添加预处理宏。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208803-18.png)
添加头文件搜索目录。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208804-19.png)
配置连接器 Cross ARM C Linker,主要是选择连接脚本文件。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208805-20.png)
3.2、编译工程
选择Project-> Build Project选项来编译整个工程。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208806-21.png)
3.3、连接目标板
在eclipse中配置openocd,连接目标板。点击External Tools Configurations,双击Program选项。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208807-22.png)
然后打开终端输入如下命令 which openocd,找可执行文件openocd的路径,然后把路径复制到Location一栏,在Arguments一栏中输入如下配置信息:
-f /usr/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/share/openocd/scripts/target/mm32f013x.cfg
其中的mm32f013x.cfg需要根据你的目标板上的MCU不同而会改变。
此配置文件路径是安装openocd通过命令sudo apt install openocd安装的,是系统默认路径。如果用户在此路径中找不到相关文件,那么请自行查找与修改路径。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208808-23.png)
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208809-24.png)
然后点击Apply,Run后会在窗口出现信息,表示连接成功。
3.4、Debug调试
配置debug环境:点击Debug Configurations选项,双击GDB OpenOCD Debugging在窗口点击Debugger一栏。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208810-25.png)
分别修改如下三个窗口的内容,第一个为可执行openocd命令所在路径,第二个为openocd连接DAP-Link与目标板的命令,第三个为工具链arm-none-eabi-gdb等所在的路径。
![“”](http://mcu.eetrend.com/files/2021-06/wen_zhang_/100113501-208811-26.png)
点击Apply,Debug就可以开始调试。
来源:灵动微电子
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。