<a href="http://mcu.eetrend.com/content/2021/100113139.html">前面一章节介绍了在Windows下搭建…;,本章节将介绍在Windows环境下基于Eclipse开发、调试MM32。
<strong><font color="#004a85">01、GCC创建工程</font> </strong>
打开File->New->Project,选择C Project,然后点击NEXT,在Project name选项框中设置GCC工程的名字,在Project type选项框中选择Empty Project,在toolchains中选择Cross ARM GCC。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207666-1.png&…; alt=“图1"></center><center><i>图1</i></center>
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207667-2.png&…; alt=“图2"></center><center><i>图2</i></center>
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207668-3.png&…; alt=“图3"></center><center><i>图3</i></center>
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207669-4.png&…; alt=“图4"></center><center><i>图4</i></center>
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207670-5.png&…; alt=“图5"></center><center><i>图5</i></center>
在Cross GNU ARM Toolchain界面用户需要选择GNU Tools for ARM Embedded Processors (arm-none-eabi-gcc)作为A工程的编译工具,并选择编译工具的路径。后面点击Finish按钮,至此工程模板的创建已经完成。
<strong><font color="#004a85">02、添加MM32相关库函数</font> </strong>
在上面的模板中添加与MM32F013x相关的文件:Source文件夹中存放的为F013x的相关代码,在Source文件夹中Device文件夹中存放的是MM32F013x的Library以及启动文件。BSP文件夹中存放的为外设相关的驱动文件, SYS文件夹下面存放的为芯片UART,Delay的配置文件。APP中存放main.c文件。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207671-6.png&…; alt=“图6"></center><center><i>图6</i></center>
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207672-7.png&…; alt=“” ></center>
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207673-8.png&…; alt=“ 图7"></center><center><i> 图7</i></center>
在添加所要操作的文件以后,为了防止文件没有加载出来,需要刷新一下(直接按快捷键F5刷新工程)。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207674-9.png&…; alt=“图8"></center><center><i>图8</i></center>
<strong><font color="#004a85">03、工程配置</font> </strong>
在GCC中添加以上文件的头文件所在的路径,点击在工程浏览器中选中该工程,然后点击project->properties 选择项。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207675-10.png…; alt=“图9"></center><center><i>图9</i></center>
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207676-11.png…; alt=“图10"></center><center><i>图10</i></center>
设置需要打开的宏定义:
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207677-12.png…; alt=“图11"></center><center><i>图11</i></center>
给工程添加flash.ld文件。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207678-13.png…; alt=“图12"></center><center><i>图12</i></center>
如果在我们的工程中有lib文件,比如MM32的W系列使用eclipse编程的时候据需要向工程中添加lib库文件,在进行lib文件添加的时候要注意lib文件的格式,例如:蓝牙的lib文件为libmg_BLE-gcc.a,lib为lib文件前缀.a为文件的类型,添加名字的时候直接添加为mg_BLE-gcc即可。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207679-14.png…; alt=“图13"></center><center><i>图13</i></center>
<strong><font color="#004a85">04、编译工程</font> </strong>
选择CDT编译。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207680-15.png…; alt=“图14"></center><center><i>图14</i></center>
然后选择Build Project进行工程的编译,看到有hex文件生成并且无错误、无警告,则说明我们的工程编译成功。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207681-16.png…; alt=“图15"></center><center><i>图15</i></center>
<strong><font color="#004a85">05、DEBUG配置</font> </strong>
编译完成后, 我们就要进行下载和调试了,首先进行调试的配置。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207682-17.png…; alt=“图16"></center><center><i>图16</i></center>
在GDB SEGGER J-LINK Debugging上面双击创建debug工程,新建了一个选项卡,设置 debug 的名称,调试的工程和源文件。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207683-18.png…; alt=“图17"></center><center><i>图17</i></center>
选择相关的工程以及对应的elf文件。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207684-19.png…; alt=“图18"></center><center><i>图18</i></center>
由于debug依靠的GDB框架,所以选择JLinkGDBServerCL.exe来进行调试。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207685-20.png…; alt=“图19"></center><center><i>图19</i></center>
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207686-21.png…; alt=“图20"></center><center><i>图20</i></center>
到此我们的GCC的debug已经配置完成了,打开Debug->MM32TEST DEBUG进入debug界面。点击 Debug 开始调试,我们就可以看到我们的软件进入了调试模式,并且停留在了main 函数的第一个有效行上面,点击RUN。
<center><img src="http://mcu.eetrend.com/files/2021-05/wen_zhang_/100113218-207687-22.png…; alt=“图21"></center><center><i>图21</i></center>
调试界面基本都是一样的,watch窗口也能调出来设置断点、全速运行等功能。
如果想结束调试,只需要点击上方的红色方块即可,此时 Jlink 的 GDB 会自动关闭,然后点击右侧的 C/C++选项卡即可回到工程的编辑视图了,到此debug配置验证完成。
本次实验参考代码:
https://github.com/Samplecode-MM32/MM32MCU_Code
来源:<a href="https://mp.weixin.qq.com/s/O1ZcOGuExJOUr043xGUZ7A">灵动微电子</a>